我正在为iOS创建游戏。该游戏被编写为C ++库,因此可以将其移植到另一个平台。我还使用Swift和Objective C在视图控制器中调用游戏更新,绘制函数和处理用户输入等。
当我按下UIButton在游戏中执行某些操作时,我正在解决游戏开始口吃的问题。我注意到即使UIButton回调函数为空,游戏仍然口吃。
游戏空闲时CPU占用率约为30%。当我按下按钮时,CPU使用率下降到约15%几秒钟,然后逐渐恢复30%。在这段时间里游戏结结巴巴。
在我看来,当按下按钮时,操作系统正在为应用分配更少的资源,导致它变慢。
为了尝试解决这个问题,我已经将游戏更新功能放在一个新线程上,以减轻主线程的负担。这没用。
知道可能导致这种情况的原因吗?