我想減少我的遊戲中的滯後,因爲它是無法忍受的。我明白,當傳輸大圖像時,我應該會有一些滯後,但我沒有看到任何方法來減少它。我的代碼在這裏:https://gist.github.com/Mrmeguyme/ce1a844af21695d1b853ef88fe8de5aaPyGame Lag當blitting背景
背景是1280x720px,地面是1280x100px,我的角色是50x50px。
我想減少我的遊戲中的滯後,因爲它是無法忍受的。我明白,當傳輸大圖像時,我應該會有一些滯後,但我沒有看到任何方法來減少它。我的代碼在這裏:https://gist.github.com/Mrmeguyme/ce1a844af21695d1b853ef88fe8de5aaPyGame Lag當blitting背景
背景是1280x720px,地面是1280x100px,我的角色是50x50px。
您的圖片可能具有每像素透明度。將它們轉換爲不透明。
faster_surface = surface_loaded_directly_from_png.convert()
當然這不適用於角色,但對於背景它會改善一點。
編輯:我也注意到你不是在任何地方調用clock.tick()。這應該使事情平滑下來,並消除實際上CPU自然加速和放慢的感知減速。
見http://www.pygame.org/docs/ref/surface.html#pygame.Surface.convert_alpha
這是我爲我所有的程序一樣:
def loadify(img):
return pygame.image.load(img).convert_alpha()
我只是代替pygame.image.load與loadify節省打字。這會將圖像轉換爲適當的像素格式,以便更快更輕鬆地進行blitting。