Как постараться не рваться с pygame на Linux/X11

Ничего себе, я удивлен, что SQL еще не составил его здесь. Угадайте, что означает, что никто не любит его:)

  • Непоследовательный синтаксис через реализации
  • Тонкие различия в коде могут иметь крупные разветвления производительности по на вид неясным причинам
  • Плохая поддержка текстового управления
  • Легкая стоимость записи, но погрузить кривую обучения к освоению языка
  • Минимальная стандартизация через сообщество для лучших практик, это включает стиль синтаксиса.

... И несколько бонусных причин ненавидеть его, без всякой дополнительной оплаты

  • оператор Where идет в последний раз, облегчая преждевременно выполнять ОБНОВЛЕНИЕ или УДАЛЯТЬ, уничтожая целую таблицу. Вместо этого, КУДА должен пойти куда-нибудь впереди.
  • трудно реализовать реляционное подразделение.
  • я могу установить значение в NULL, но я не могу протестировать его на равенство с ПУСТЫМ УКАЗАТЕЛЕМ. Я могу проверить, ЯВЛЯЕТСЯ ПУСТЫМ, но это просто усложняет код - напрасно так, по-моему.
  • , Почему мы должны полностью повторно определить формулу для столбца GROUPed, вместо того, чтобы установить псевдоним на столбце и затем GROUP BY псевдоним (или индекс столбца как с ВИДОМ)?
6
задан timday 5 July 2009 в 08:54
поделиться

2 ответа

В конечном итоге моим решением было переключиться на Pyglet , который, кажется, поддерживает OpenGL намного лучше, чем Pygame, и не имеет проблем с мерцанием.

5
ответ дан 10 December 2019 в 02:52
поделиться

Лучший способ свести разрыв изображения к минимуму - поддерживать частоту кадров как можно ближе к частоте экрана. В библиотеке SDL нет vsync, если вы не запускаете через нее OpenGL, поэтому единственный способ - самостоятельно определить частоту кадров. Аппаратный двойной буфер SDL не гарантируется, хотя, когда он работает, он хорош. Я редко видел это в действии.

По моему опыту работы с SDL, вы должны использовать OpenGL для полного устранения разрывов. Это небольшая корректировка, но рисование простых 2D-текстур не так уж и сложно, и вы получаете несколько других дополнительных бонусов, которые вы можете реализовать, например, вращение, масштабирование, смешивание и т. Д.

Однако, если вы все еще хотите использовать программный рендеринг, я бы рекомендовал использовать обновление грязного прямоугольника. К нему также немного сложно привыкнуть, но он экономит массу обработки, что может облегчить поддержание обновлений в нужном темпе, и позволяет избежать разрыва всего экрана (если вы не прокручиваете всю игровую область или что-то в этом роде).

4
ответ дан 10 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: