很巧,今天工作解了一个问题发现也是和CPU调度算法有关的。囧[s::L]
今天遇到一个3D游戏只能跑30多fps,我和同事这边使用软件分析了,发现性能的瓶颈不在GPU、居然是在CPU!这还是头一次见到这种现象。
这个3D游戏在运行的时候被android系统的SurfaceFlinger服务抢占,运行的时候帧率就会降低,而且不但如此,还会因为SMP策略的改变
切换到其他CPU去运行,这样搞来搞去,导致这个游戏运行的帧率低下。
后面我和同事调整了一下cpu热插拔的命令,让这个游戏固定在一个CPU上去跑,帧率一下子就上升到50fps去了。。。
CPU调度和SMP还是有很多学问在里面的。。。。。。