Сколько времени слишком много? - PullRequest
1 голос
/ 11 апреля 2011

Учитывая, что стандартное число тактов для цикла в приложении WP7 составляет 333333 такта (или это так, если вы задали его как таковое), сколько времени в этом временном интервале нужно кому-то работать?

Другими словами, сколько тиков съедают стандартные процессы (рисование экрана, очистка буферов и т. Д.)?

Я разработал процесс для выполнения чего-либо в Spike (как я часто это делаю), но сейчас он потребляет около (14 мс) времени (примерно половину времени, которое у меня есть), и меня беспокоит что произойдет, если он пройдет эту точку.

1 Ответ

2 голосов
/ 12 апреля 2011

Обычный способ выполнения сложных вычислительных операций - это выполнять их в фоновом потоке - это означает, что потоки пользовательского интерфейса не блокируются во время выполнения вычислений - обычно потоки пользовательского интерфейса планируются раньше фоновых потоков так что рисование экрана продолжается плавно, даже если процессор занят на 100%. Такой подход позволяет ставить в очередь столько работы, сколько вы хотите.

Если вам нужно выполнить вычислительную работу в потоке пользовательского интерфейса - например, Так как это часть игровой механики или часть логики обновления / прорисовки «по кадрам», то обычно происходит то, что частота кадров игры немного замедляется, потому что телефон ждет вашей логики, прежде чем сможет рисовать.

Если ваш вопрос "что такое приличная частота кадров?" Тогда это немного зависит от типа приложения / игры, но в целом (в моем возрасте ...) я думаю, что все 30 Гц и выше - это нормально - до 33 мс для каждого кадра - и важно, чтобы частота кадров была плавной - т.е. длина каждого кадра занимает примерно одно и то же время.

Надеюсь, это примерно ответит на ваш вопрос ... не совсем уверен, что понял это!

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