Чрезвычайно низкий FPS, какое приложение профилирования я должен использовать, чтобы найти проблемы с производительностью? - PullRequest
5 голосов
/ 22 марта 2012

Я создаю игру XNA и получаю неожиданный результат, чрезвычайно низкий FPS (около 2-12 кадров в секунду). Какую программу я должен использовать, чтобы проверить производительность и отследить, что замедляет ее?

Ответы [ 2 ]

7 голосов
/ 22 марта 2012

Хорошо, позвольте мне привести мой личный опыт разработки игр в XNA.

Первое, что вам нужно сделать, это перейти в Debug -> Start Performance Analysis. Это профилирует активность вашего процессора и показывает, какие потоки используются, а какие обрабатывают больше всего.

Вам также нужно учесть еще несколько вещей:

-Вы, вероятно, работаете в режиме отладки, это означает, что часть вашего ЦП выделена для VS и для проверки исключений, а что нет.

-Ваш код может быть неэффективным. Я рекомендую попытаться ограничить количество списков, массивов, ADT и объектов, создаваемых во время выполнения, потому что это сильно замедляет работу. В прошлый раз, когда я проверял цикл игры, он запускался 60 раз в секунду, чтобы представить, как будет сложно выделить новый список, а затем собрать мусор 60 раз в секунду. Это начинает складываться.

-Я не знаю, насколько вы продвинуты, но читайте о параллельных потоках или многозадачности. В качестве примера можно привести физический движок на 1 кадр за обновлением графики.

РЕДАКТИРОВАТЬ: Я понял, что вы нашли свою ошибку, но я надеюсь, что этот пост может помочь другим.

7 голосов
/ 22 марта 2012

Вы пытались использовать SlimTune ?

Вы также можете использовать StopWatch для измерения срезов вручную.

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