Производительность и настройка XNA на WP7 - PullRequest
0 голосов
/ 16 марта 2012

Я играл с IsFixedTimeStep и TargetElapsedTime, но я не могу получить fps выше 30fps. Это как в эмуляторе, так и на моем телефоне HTC HD7.

Я пытаюсь получить правильную настройку World.Step () в Farseer, но не нашел подходящей настройки для этого.

Если я хочу, чтобы он работал со скоростью 60 кадров в секунду, какими в идеале должны быть три параметра (IsFixedTimeStep, TargetElapsedTime и World.Step)?

Спасибо!

1 Ответ

2 голосов
/ 16 марта 2012

Вы можете запускать игру со скоростью 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;
}
...