84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
canvas写了一个小游戏cpu好高,怎么办?有什么技巧优化?比如跟随鼠标旋转和键盘事件这一类的
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
如果不是因为操作而导致的CPU占用高,那肯定有奇葩的计算。。。慢慢想办法减少计算吧。鼠标旋转的时候,判断鼠标移动的距离,如果大于某个值再重绘。如果不是requestAnimationFrame,函数节流一定要有。否则你可以自行减少帧数,在执行每一帧前计数判断,把帧数降低一半。
更新:演示一下
var count=0 var frame=function(){ if(count++ % 2===0){ return } //some actions here } requestAnimationFrame(frame)
requestAnimationFrame?函数节流 & 去抖
别的好像也没什么,毕竟 canvas 都是需要每帧重绘 ... 消耗 CPU 在所难免 ...
如果不是因为操作而导致的CPU占用高,那肯定有奇葩的计算。。。慢慢想办法减少计算吧。
鼠标旋转的时候,判断鼠标移动的距离,如果大于某个值再重绘。
如果不是requestAnimationFrame,函数节流一定要有。否则你可以自行减少帧数,在执行每一帧前计数判断,把帧数降低一半。
更新:
演示一下
requestAnimationFrame?
函数节流 & 去抖
别的好像也没什么,毕竟 canvas 都是需要每帧重绘 ... 消耗 CPU 在所难免 ...