以下是一些背景信息。我正在开发Android上的3D游戏,并且一直在变得波动的FPS,这很烦人。
然后我描述了游戏并发现处理器并不总是以最大时钟速度运行。实际上,这是因为活动(以及默认)调控器似乎是“交互式”,它会尝试智能,因为它会根据当前负载调整时钟速度。
然后我根据我的设备并将调控器设置为“性能”,这会将时钟速度锁定在最大值。结果游戏运行得非常流畅,稳定的fps为30。
问题在于,作为应用程序,您无法控制要使用的调控器。也就是说,如果玩家拥有非root用户手机,你就无法做任何事情,因为无论如何它都是操作系统级别的东西。即使他们的手机已经根植了,但仍然可以通过他们而不是我们的判断来调整哪个州长档案。
所以我的问题是,作为开发人员,我们可以在应用程序级别上做什么来欺骗'处理器使他们相信有很多工作要做,实际上他们没有?目标是欺骗任何调控器将时钟速度设置为最大值,或者至少设置一些固定数量,这样FPS就不会波动并使游戏以缺乏并低于用户期望的性能运行。
谢谢!