SDLスレ ver.2.0at GAMEDEVSDLスレ ver.2.0 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト479:名前は開発中のものです。 09/11/15 23:29:35 C19h/pYA 言いたいことは分かるけど476が勘違いしそうだな SDL_Delayとティアリングが起こるかどうかは直接関係ない。 垂直同期待ちを有効にしてある場合はティアリングが起きないように Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので 描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。 480:名前は開発中のものです。 09/11/15 23:41:54 zpJnzLrg あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。 補足サンクス。 481:名前は開発中のものです。 09/11/16 17:42:23 +8XK/sK6 >>476 Swap ってことはダブルバッファ使ってるって前提で言うと 1) 垂直同期待ち ON(SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定している)なら SDL_GL_SwapBuffers() で自動的に垂直同期待ちするので SDL_Delay() などは必要ない。 処理→描画→SDL_GL_SwapBuffers()[自動でVBLANK待ち] 2) 垂直同期待ち OFF なら SDL_Delay() で適当な時間待って SDL_GL_SwapBuffers() を呼べばいいんじゃないだろうか。 処理→描画→SDL_Delay(適当)->SDL_GL_SwapBuffers() 1) はモニタのリフレッシュレート依存のフレームレートになる。 2) はティアリングするけど、自分でフレームレートの調整ができる。 ってとこじゃないだろうか。 ちなみに俺の環境(Debian) だと環境変数 __GL_SYNC_TO_VBLANK に 0 以外の値が入ってないと SDL_GL_SWAP_CONTROL に 1 を設定しても 垂直同期待ちしない。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch