PyGame увязает в Linux?

Когда я запускаю свой код pygame, он тормозит систему. PyGame перестает отвечать на запросы и настолько замедляет работу Ubuntu, что мне пришлось дважды принудительно завершить работу.

Я разместил здесь очень похожий вопрос: Почему мой базовый модуль PyGame такой медленный? ?

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


person Sheldon    schedule 27.05.2011    source источник


Ответы (2)


Вы должны ограничить fps, вы можете использовать для этого clock.tick

while true:
    for event in pygame.event.get():
        #manage your events
    #update your sprites
    screen.blit(...) #draw to screen
    pygame.display.flip()
    clock.tick(30)
person solarc    schedule 27.05.2011
comment
Это действительно странно, что это решение, потому что я не использовал его в прошлом, и все было в порядке. Не могли бы вы расширить свой ответ, пожалуйста? Спасибо. - person Sheldon; 28.05.2011

Если вы решите использовать задержку, как это было предложено в принятом вами ответе, вы, вероятно, захотите ограничить свой FPS, а не просто установить постоянную задержку. Это гарантирует, что ваша игра будет работать с одинаковой скоростью как на медленных, так и на быстрых машинах, и не будет без необходимости задерживать себя в моменты интенсивной загрузки процессора в игре. Вы также захотите применить свое дельта-время к любым расчетам физики/движения.

person Felix    schedule 27.05.2011