ということで、pygameでゲームを作っているのですが、パフォーマンスがひどいです。多くの検索の後、pygame は SDL を中心に構築されており、SDL2 は GPU をサポートしていることを発見したので、SDL2 ベースのものを使用するとパフォーマンスが向上するかどうかを確認したかったのです。pygame を pySDL2 ライブラリと比較すると、pygame は約 100 倍高速です...確かに私は何かを見落としていますか?
test_SDL2.py:
import os
os.environ["PYSDL2_DLL_PATH"] = os.path.dirname(os.path.abspath(__file__))
import sys, sdl2, sdl2.ext, time
sdl2.ext.init()
window = sdl2.ext.Window("test", size=(800, 600))
window.show()
factory = sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)
sprite = factory.from_image("c:\\game\\gfx\\plus.png")
spriterenderer = factory.create_sprite_render_system(window)
while True:
begin = time.time()
for i in xrange(100):
spriterenderer.render(sprite)
print time.time() - begin
window.refresh()
test_pygame.py:
import pygame, time
img = pygame.image.load('gfx/plus.png')
screen = pygame.display.set_mode((800, 600))
while True:
begin = time.time()
for i in xrange(100):
screen.blit(img, (i,i))
print time.time() - begin
pygame.display.flip()