Игра Дрожит на xBox360 - PullRequest
       61

Игра Дрожит на xBox360

2 голосов
/ 21 февраля 2011

Хорошо, моя игра близка к завершению, в ней все отлично работает и довольно неплохо работает на моем компьютере (работает с объемом оперативной памяти около 99 МБ).Но когда я запускаю его на своем xBox, я, как правило, получаю дрожь от персонажа главного игрока.У меня есть взрывы и рекламные эффекты внутри моей игры, однако я делаю весь этот рендеринг на графическом процессоре xBox (который первоначально вызывал дрожание при взрывах, но не больше).Дрожания также случайны, не тогда, когда я порождаю большое количество юнитов или выполняю много действий.Я в недоумении относительно того, почему это происходит, какие-либо идеи ??

Ps В игру встроены многопоточность, обновление в одном потоке, рендеринг в другом потоке.

Ответы [ 2 ]

6 голосов
/ 21 февраля 2011

Похоже, сборщик мусора вызывает у вас дрожь.На Xbox он срабатывает каждый раз, когда выделяется 1 МБ данных.Количество времени, которое требуется, зависит от того, сколько ссылок используется в вашей программе.

Используйте XNA Framework Remote Performance Monitor для Xbox 360 , чтобы определить, есть ли у вас проблемы со сборкой мусора.Прочитайте Как определить, что ваша сборка мусора слишком медленная от Шона Харгривза.

Если у вас есть проблема со сборкой мусора, вам нужен профилировщик, который может определить, какие объекты генерируют мусор. CLR Profiler для .NET Framework 2.0 является одним из вариантов.По умолчанию он не поддерживается в XNA 4.0, но у Дэйва в Crappy Coding есть обходной путь .Чтобы узнать, как решить проблему с сборкой мусора, прочитайте Двойные пути к сборке мусора Nirvana от Шона Харгривза.

Обновление: Доступен CLR Profiler для .NET Framework 4.0 .

1 голос
/ 21 февраля 2011

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

...