XNA C # время рисовать? - PullRequest
       31

XNA C # время рисовать?

0 голосов
/ 11 февраля 2012

Насколько я понимаю, функция Game Draw происходит 60 раз в секунду, а обновление происходит столько раз, сколько может между этими периодами. Это правда?

Как лучше всего использовать функцию Draw или функцию, вызываемую из этой функции, если предположить, что в моем случае обновление выполняется очень быстро, запросить, есть ли еще время для рисования. В качестве альтернативы, как узнать, занимает ли ничья более 1/60 секунды.

1 Ответ

3 голосов
/ 11 февраля 2012

По умолчанию Update() и Draw() встречаются не более 60 раз в секунду.

Чтобы изменить Update() скорость вызова, используйте

base.IsFixedTimeStep = true;
base.TargetElapsedTime = new TimeSpan((long)(TimeSpan.TicksPerSecond / 600f));

, где требуется 600номер тика

В качестве альтернативы, как узнать, занимает ли ничья больше 1/60 секунды.

Вы можете использовать GameTime.IsRunningSlowly, который изменяется автоматическиесли медленно.

public void Draw(GameTime gameTime) {
    if (gameTime.IsRunningSlowly) {
      // do stuff
    }
}
...