2016-06-21 8 views
1

В моем приложении DirectX у меня возникла проблема: при запуске моего приложения на моем компьютере с высоким разрешением Windows 10 сцена работает плавно, и камера движется нормально, но когда Я запускаю приложение на своем ноутбуке Windows 7, камера крайне медленная.DirectX 11.1/2 сменю сцены/скорость камеры на разных компьютерах

Итак, как я могу справиться с этим и что может быть причиной этого?

+0

что вы имеете в виду под «камера медленно экстремально»? Вы измеряли производительность при одинаковой рабочей нагрузке? Что такое оценка FPS для обеих ОС (это можно измерить FRAPS) –

ответ

1

Вам необходимо масштабировать обновления вашей камеры в зависимости от прошедшего времени, а не от частоты кадров, чтобы получить фиксированную скорость. Отрисовка не будет столь же гладкой в ​​системе нижнего уровня, но камера должна перемещаться на одно и то же расстояние в одно и то же время.

См Understanding Game Time Revisited и StepTimer класс для надежного способа обрабатывать синхронизацию «основного рендеринга цикла»

+0

Чтобы сказать коротко, предположим, что вы хотите, чтобы камера перемещалась на расстояние 'D' за одну секунду, у вас есть все возможности для вычисления' D ' 'для текущего кадра с' D '= D/fps' или 'D' = D * frameDuration' – galop1n