当我将手指放在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周期。触摸屏幕时,应用程序显着减速。