Как включить vsync в DirectX10 - PullRequest
3 голосов
/ 16 июля 2010

Я работаю над приложениями, основанными на DirectX10, используя SlimDX. Я хотел бы включить vsync, похожий на DirectX9, но, похоже, fps не работает на частоте 60 Гц (что происходит, если я использую Direct9). Я устанавливаю vsync с помощью этого

SwapChain.Present(1, PresentFlags.None);

Я что-то не так сделал?

Кстати, я использую Win7 с видеокартой ATI HD5570. После некоторого поиска в Google я понимаю, что ATI может принудительно вызывать vsync в некоторых играх. Так что мне интересно, связано ли это.

Справочник по коду на C ++ тоже подойдет. Я переведу это сам.

Спасибо

Ответы [ 2 ]

1 голос
/ 13 августа 2010

Первый аргумент SwapChain.Present - это syncInterval.0 указывает, что презентация должна происходить немедленно, без синхронизации.Любое другое значение указывает, что представление должно быть синхронизировано с указанным следующим вертикальным пробелом.Так что используйте это так:

SwapChain.Present(0, PresentFlags.None);
0 голосов
/ 13 августа 2010

Вы можете попробовать принудительно запустить vsync, используя Catalyst Control Center

enter image description here

...