所以,我在窗口應用程序中使用D3D。如何在D3D窗口應用中啓用VSYNC?
我inited D3D使用以下參數:
windowed: true;
backbufferformat: D3DFMT_X8R8G8B8;
presentinterval: D3DPRESENT_INTERVAL_ONE;
swapeffect: DISCARD
每次OnPaint中被調用時,我呈現圖像後備緩衝區並將其呈現給前面。
據我所知(MSDN也這樣說),一旦我設置了D3DPRESENT_INTERVAL_ONE
,vsync就可以工作。
但是在這種情況下,水平拖動時圖像被撕裂。
(似乎有在圖像的線,該線下方的圖像顯示在監視器上和上述部分如下)。
有些網站說D3DPRESENT_INTERVAL_ONE不會在窗口的應用程序。
我該如何啓用vsync?
p.s.我終於發現D3D vsync已啓用,但某些窗口設置不正確,可能窗口本身未同步。儘管如此,我還沒有看清楚設置。
你有沒有試過swapeffect:FLIP? – Goz 2010-10-13 08:02:07
我試着按照你的建議,但它沒有工作.. – 2010-10-13 09:15:01
TBH我的理解總是說你不能VSync窗口渲染器。也許我錯了,但有了這個假設,我從來沒有失望;) – Goz 2010-10-17 19:11:26