Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5画布旋转速度慢?_Javascript_Html_Canvas_Rotation - Fatal编程技术网

Javascript HTML5画布旋转速度慢?

Javascript HTML5画布旋转速度慢?,javascript,html,canvas,rotation,Javascript,Html,Canvas,Rotation,我正在试验在画布上使用旋转,我现在有了它,所以每个对象都有自己的旋转。如果不旋转,我可以在一台非常低端的电脑上看到大约400个对象,在一台正常库存的电脑上看到将近2000个对象。当我将旋转的系数计算为0以上时,性能至少会下降三分之一 为什么只是改变旋转速度就让它慢了这么多?这是一个奇怪的打嗝吗 我有一个全局旋转变量,在开始绘制每个对象时,我: ctx.rotate(globRot); 我想很多时间可能会花在创造和繁殖上。如果您可以(找到一种方法)在转换未更改时缓存转换,这可能会有所帮助。可能吧

我正在试验在画布上使用旋转,我现在有了它,所以每个对象都有自己的旋转。如果不旋转,我可以在一台非常低端的电脑上看到大约400个对象,在一台正常库存的电脑上看到将近2000个对象。当我将旋转的系数计算为0以上时,性能至少会下降三分之一

为什么只是改变旋转速度就让它慢了这么多?这是一个奇怪的打嗝吗

我有一个全局旋转变量,在开始绘制每个对象时,我:

ctx.rotate(globRot);

我想很多时间可能会花在创造和繁殖上。如果您可以(找到一种方法)在转换未更改时缓存转换,这可能会有所帮助。可能吧。

我想很多时间可能会花在实际的创造和繁殖上。如果您可以(找到一种方法)在转换未更改时缓存转换,这可能会有所帮助。可能吧。

对于单个对象,缓存旋转


(注意使用箭头向上移动以查找僵尸)

对于单个对象,缓存旋转


(注意使用箭头向上移动以查找僵尸)

您使用哪个浏览器?什么CPU级别的“库存pc”?有显示卡吗?我指的是去年买的一台像样的电脑。没什么了不起的,只是体面而已。这台蹩脚的电脑是一台很蹩脚的电脑,可能无法运行xp。这其实并不重要,不是吗?我只是补充说,根据我的经验,旋转之前的速度有多快,旋转不是问题。看看fabric.js的一些演示/基准测试——旋转确实会减慢速度并影响性能。有多种替代方法,如使用图像精灵或缓存旋转的图像…您使用哪种浏览器?什么CPU级别的“库存pc”?有显示卡吗?我指的是去年买的一台像样的电脑。没什么了不起的,只是体面而已。这台蹩脚的电脑是一台很蹩脚的电脑,可能无法运行xp。这其实并不重要,不是吗?我只是补充说,根据我的经验,旋转之前的速度有多快,旋转不是问题。看看fabric.js的一些演示/基准测试——旋转确实会减慢速度并影响性能。有各种替代方法,比如使用图像精灵或缓存旋转的图像…这就是我担心的。我真的希望这里面的一切都能轮换,因为我想要一个轮换摄像机。这只是一种预感。但是,如果你想要一个旋转的摄像机,那么为什么你要单独旋转每个物体,而不是在画任何东西之前旋转(-camera.rotation)?(我可能误解了你到底在做什么…)要模拟摄影机旋转,我必须旋转正在绘制的每个对象。事实上,任何游戏都是这样做的,是物体移动和旋转,而不是相机。不确定关于3d游戏要模拟围绕Z轴旋转的摄影机(在2D游戏中,这是唯一的旋转轴),您需要在绘制任何内容之前旋转场景的整个渲染矩阵。这样,物体的所有位置和角度也将“自然地”正确旋转。一个JSFIDLE演示了这一点:这正是我所担心的。我真的希望这里面的一切都能轮换,因为我想要一个轮换摄像机。这只是一种预感。但是,如果你想要一个旋转的摄像机,那么为什么你要单独旋转每个物体,而不是在画任何东西之前旋转(-camera.rotation)?(我可能误解了你到底在做什么…)要模拟摄影机旋转,我必须旋转正在绘制的每个对象。事实上,任何游戏都是这样做的,是物体移动和旋转,而不是相机。不确定关于3d游戏要模拟围绕Z轴旋转的摄影机(在2D游戏中,这是唯一的旋转轴),您需要在绘制任何内容之前旋转场景的整个渲染矩阵。这样,物体的所有位置和角度也将“自然地”正确旋转。一个JSFIDLE演示了这一点: