Производительность и настройка XNA на WP7
Я играл с IsFixedTimeStep и TargetElapsedTime, но я не могу получить fps выше 30fps. Это как в эмуляторе, так и на моем телефоне HTC HD7.
Я пытаюсь получить правильную настройку World.Step() в Farseer, но не нашел подходящей настройки для этого.
Если я хочу, чтобы он работал со скоростью 60 кадров в секунду, какими в идеале должны быть три параметра (IsFixedTimeStep, TargetElapsedTime и World.Step)?
Спасибо!
1 ответ
Решение
Вы можете запустить свою игру со скоростью 60 кадров в секунду, пока вы используете приложение Mango Deployed
код ниже был взят из: MSDN: игра на 60fps
Интервал игрового таймера с частотой 60 Гц
timer.UpdateInterval = TimeSpan.FromTicks(166667);
Создать обработчик события
public Game1()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
// Frame rate is 60 fps
TargetElapsedTime = TimeSpan.FromTicks(166667);
}
Затем реализуйте обработчик
void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e)
{
e.GraphicsDeviceInformation.PresentationParameters.PresentationInterval = PresentInterval.One;
}