Как включить vsync в DirectX10
Я работаю над приложениями, основанными на DirectX10 с использованием SlimDX. Я хотел бы включить vsync, похожий на DirectX9, но, похоже, fps не работает на частоте 60 Гц (что происходит, если я использую Direct9). Я устанавливаю vsync с помощью этого
SwapChain.Present(1, PresentFlags.None);
Я сделал что-то неправильно?
Кстати, я использую Win7 с видеокартой ATI HD5570. После некоторого поиска в Google я понимаю, что ATI может принудительно вызывать vsync в некоторых играх. Поэтому мне интересно, связано ли это.
Ссылка для кода на C++ тоже подойдет. Я переведу это сам.
Спасибо
2 ответа
Первый аргумент SwapChain.Present - это syncInterval. 0 указывает, что представление должно происходить немедленно, без синхронизации. Любое другое значение указывает, что представление должно быть синхронизировано с указанным следующим вертикальным пробелом. Так что используйте это так:
SwapChain.Present(0, PresentFlags.None);
Вы можете попытаться форсировать vsync, используя Catalyst Control Center