当我将手指放在 Android 手机或平板电脑的触摸屏上时,我的 python / pygame 应用程序性能会下降。我想按住虚拟操纵杆并在屏幕上移动角色。当按住一个按钮时,我的角色会放慢速度。我可以通过让游戏“点击并释放”以击中虚拟屏幕操纵杆上的每个方向来解决这个问题。
性能并没有变得糟糕,但有明显的放缓。如果我优化游戏,它仍然可以玩。但是,我想知道当我将手指放在触摸屏上并关闭时,是否可以做任何事情来保持性能不变。
我试过: pygame.event.get pygame.event.poll (每次通过循环只处理一个事件)
我还使用 pygame.event.set_allowed 将事件限制为仅 pygame.MOUSEMOTION 和相关事件。
有任何想法吗?我没有使用非 pygame 手机应用程序的经验。当 CPU 处理来自触摸屏的数据时,也许这会发生在所有手机应用程序上?
我写了一篇博客文章,其中包含一些代码、优化和正在运行的测试应用程序的视频。
http://pychildren.blogspot.com/2013/11/pygame-subset-for-android-sprite.html
我正在使用 RenderUpdates 来更新屏幕的更改区域。那和 convert_alpha 取得了巨大的进步。
但是,我正在寻找一种优化事件处理程序的方法,以便将手指放在触摸屏上不会占用我的 CPU 周期。触摸屏幕时,应用程序会显着减慢。