Можно ли использовать случайную задержку в 10 мс для 60 кадров в секунду? - PullRequest
2 голосов
/ 11 января 2012

В моей игре XNA у меня есть операция, которая занимает около 10 мс на моем компьютере (двухъядерный процессор Intel Centrino 2 2,5 ГГц) в режиме отладки.Он будет запускаться только раз в несколько минут, и это в основном не что иное, как целочисленные математические / побитовые операции, хотя и много.

Могу ли я вызвать это непосредственно в моем методе Update, или это вызовет слишком большую задержку?Остальная часть моего метода обновления не должна занимать более 5 мс (еще не создано, поэтому не может быть в профиле).Я также мог бы разделить его на несколько кадров, если все шаги вызываются по порядку.

Основной вопрос: стоит ли создавать отдельный поток для или задержка не будет иметь значения при 60 кадрах в секунду?

Ответы [ 3 ]

5 голосов
/ 11 января 2012

Я бы создал отдельный поток для всего, что может вызвать задержку рисования, если это возможно.По мере того, как ваша игра развивается и приобретает новые функции, лучше постоянно помнить о производительности, а не возвращаться назад к коду и пытаться отделить элементы, которые могли бы быть разработаны с самого начала.

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

Я бы использовал отдельный поток, если код критичен по FPS, и вы не можете гарантировать, сколько времени займет код ... и ... это не важно для рендеринга кадра.

Это может занять 10 мс в вашей системе, но как насчет других систем?и даже это может иногда вызывать заметные дрожания.

1 голос
/ 11 января 2012

Позволяет проверить математику

60 Frames per second = 16.666(ms) theoretically available per frame.

Теперь, в зависимости от того, что еще вы делаете в кадре, это может быть приемлемым.

Что более важно, важна ли эта операция для будущих кадров?

Если это так, у вас нет большого выбора (кроме как максимально оптимизировать его).

Если нет, то вы должны создать отдельный поток для этой операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...