Если вы отображаете развернутую форму и даже скрываете панель задач, почему бы не перейти в настоящий полноэкранный режим? Что вы получаете, используя оконный режим, который выглядит как полноэкранный? Делая это, вы, безусловно, уменьшаете частоту кадров.
В моем опыте оконный режим работает лучше всего, когда ваше окно (элемент управления XNA) является лишь меньшей частью всей формы. В этом и заключается смысл оконного режима, поскольку он позволяет одновременно взаимодействовать с другими стандартными элементами управления формой.
Переход в полноэкранный режим дает вашему приложению эксклюзивный доступ к видео кадровому буферу
и позволяет избежать накладных расходов при работе с окнами GDI / GDI + в оконном режиме.
Кроме того, если вы используете встроенную видеокарту (т.е. менее мощную), вам понадобится каждый цикл обработки GPU и ЦП, который вы можете получить.
Если вам абсолютно необходимо придерживаться оконного режима, я обнаружил, что чем меньше окно, тем выше производительность. В оконном режиме уменьшение размера окна оказывает такое же большое влияние на частоту кадров, как и уменьшение сложности отображаемой сцены.
Вы можете также рассмотреть возможность установки приоритета процесса вашего приложения на AboveNormal или, возможно, даже High. Помните, что при этом другие приложения будут реагировать медленнее, пока ваше приложение работает. Во избежание нестабильности системы также рекомендуется избегать использования RealTime.
В .NET это можно сделать с помощью свойства Process.PriorityClass процесса:
// Set the current application (process) priority to high.
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;