日別アーカイブ: 2014年1月17日

Direct3D10+Direct2DのVSync待ち

Direct3D10上にDirect2Dで画像をスクロールさせるだけの
処理を作ってるときに、VSync周りで地味にハマった。

縁無しのウィンドウモードで動かしていると、

pRenderTarget->EndDraw();		// 描画終了
pSwapChain->Present(1, 0);		// 表示

としているにも関わらず、
実機で実行するとモニタの上部で常にティアリングが・・・。
開発してるマシンでは起こらないんだけどー
ディスプレイの周波数は、ちゃんと60Hz。

どう考えてもVSync待ちに失敗してるっぽいので、
自力でVSyncを待つ方法を調べてみる。

IDXGIOutputクラスのWaitForVBlank()メソッドが正解っぽい。
ただ情報が全然ない・・・
続きを読む