Хорошо, позвольте мне привести мой личный опыт разработки игр в XNA.
Первое, что вам нужно сделать, это перейти в Debug -> Start Performance Analysis. Это профилирует активность вашего процессора и показывает, какие потоки используются, а какие обрабатывают больше всего.
Вам также нужно учесть еще несколько вещей:
-Вы, вероятно, работаете в режиме отладки, это означает, что часть вашего ЦП выделена для VS и для проверки исключений, а что нет.
-Ваш код может быть неэффективным. Я рекомендую попытаться ограничить количество списков, массивов, ADT и объектов, создаваемых во время выполнения, потому что это сильно замедляет работу. В прошлый раз, когда я проверял цикл игры, он запускался 60 раз в секунду, чтобы представить, как будет сложно выделить новый список, а затем собрать мусор 60 раз в секунду. Это начинает складываться.
-Я не знаю, насколько вы продвинуты, но читайте о параллельных потоках или многозадачности.
В качестве примера можно привести физический движок на 1 кадр за обновлением графики.
РЕДАКТИРОВАТЬ: Я понял, что вы нашли свою ошибку, но я надеюсь, что этот пост может помочь другим.