Я использовал последнюю версию SDL 1.3 с OpenGL для разработки игры, которая сейчас находится в стадии бета-тестирования.Некоторые пользователи сообщают о значительном замедлении в полноэкранном режиме (около 18 кадров в секунду), что позволяет легко работать со скоростью 200-300 кадров в секунду в оконном режиме.Эти же пользователи обычно могут «решить» проблему, переключаясь между оконным и полноэкранным режимами один или два раза.Затем он работает на полной скорости даже для полноэкранного режима.
Я не могу скопировать его ни в одной из систем, на которых я тестирую.А три пользователя, испытывающие замедление, работают на разных системах (все это системы Intel Dual Core 2) с разными видеокартами, поэтому я сомневаюсь, что это проблема с драйверами.
Что обнадеживает, так эточто проблема демонстрируется даже в самой минимальной демонстрации testgl2 SDL, которая поставляется с SDL.Если вы просто измените демо-версию для запуска в полноэкранном режиме, она будет демонстрировать такое же замедление в полноэкранном режиме, пока она запускается в одной из «затронутых» систем.Мне любопытно, если у кого-нибудь здесь есть системы MacOS X, которые дублируют проблему.Чтобы увидеть, просто загрузите последнюю версию SDL 1.3:
http://www.libsdl.org/tmp/SDL-1.3.zip
и создайте инфраструктуру SDL, а затем SDL Test, скомпилировав демонстрацию gltest2.Откройте gltest2.c и вставьте:
SDL_SetWindowFullscreen (state-> windows [0], true);
прямо перед / * основным циклом рендеринга * /
Если выМОЖЕТ продублировать проблему в вашей системе [т.е. она работает со скоростью 60 кадров в секунду в полноэкранном режиме - проверьте выход консоли на частоту кадров при выходе), пожалуйста, напишите здесь.Особенно, если вы думаете, что у вас могут быть идеи, как это исправить!Я пытался исправить это в течение нескольких недель, и бездельничал в интернете.