Если это игра, то я бы отбросил большинство форм и поработал с базовыми элементами, по возможности отработал растровое изображение и отрендерил его, переопределив метод рисования основной формы или элемент управления, находящийся в нем (возможно, панель). Это даст вам лучшую производительность.
Основная проблема заключается в том, что компактная структура на самом деле не предназначена для большого удовольствия пользовательского интерфейса, вы не получаете бесплатную двойную буферизацию, как в полной структуре, правильная прозрачность - это сука с элементами управления WinForm, и если вы держитесь за поток пользовательского интерфейса слишком долго, вы получите серьезные глюки рендеринга. Черт возьми, вы можете даже получить их, если вы слишком много делаете на фоне темы! : O
Вы никогда не получите оптимальной производительности при явном вызове Application.DoEvents, мое правило - использовать его только при устранении неполадок или при написании небольших хаков в пользовательском интерфейсе.
Возможно, стоит вставить игру в фоновый поток, а затем вызвать .Invoke для элемента управления, чтобы выполнить маршалинг обратно в основной поток пользовательского интерфейса, чтобы обновить экран, оставив пользовательский интерфейс с достаточным количеством времени для ответа и обработки пользовательского ввода.
Ввод пользователя - еще одна причина, по которой я избегаю нормальных элементов управления winform, поскольку мобильные устройства обычно не имеют много клавиш, поэтому очень полезно иметь возможность переназначать их, поэтому я обычно избегаю таких вещей, как TextBoxes, которые имеют предустановленные события / ответы клавиш.
Я бы также не стал использовать другие формы, так как показ новой формы может дать легкую паузу. Обычно я заменяю элементы управления основной формой, чтобы избежать этой проблемы при написании бизнес-программ.
В конце концов, вероятно, стоит поэкспериментировать с различными методами, чтобы увидеть, что работает лучше. Также посмотрите, можете ли вы получить какие-либо советы от людей, которые разрабатывают игры на CF, поскольку я обычно занимаюсь только программным обеспечением для бизнеса.
НТН!