Javascript Fabric.js剪裁精灵与单个图像的效率

Javascript Fabric.js剪裁精灵与单个图像的效率,javascript,canvas,html5-canvas,sprite,fabricjs,Javascript,Canvas,Html5 Canvas,Sprite,Fabricjs,我打算有一个FabricJS画布,可以显示几十种不同的图形,可以作为单独的图像文件或精灵。对于每个图形,特定的图形可能会在画布上显示0到几十次。我知道FabricJS有这种能力,这将使精灵的使用成为可能,而且我知道,一般来说,web上的精灵比单个图像(如CSS)更受欢迎 然而,我也听说过围绕canvas的浏览器行为/怪癖,其中一些优化可能会发生,不要--我目前找不到链接,但我记得有一点是,Chrome浏览器中看不到的大型canvas内容元素仍然需要相当长的时间来计算/渲染,尽管与屏幕外观无关 那

我打算有一个FabricJS画布,可以显示几十种不同的图形,可以作为单独的图像文件或精灵。对于每个图形,特定的图形可能会在画布上显示0到几十次。我知道FabricJS有这种能力,这将使精灵的使用成为可能,而且我知道,一般来说,web上的精灵比单个图像(如CSS)更受欢迎

然而,我也听说过围绕canvas的浏览器行为/怪癖,其中一些优化可能会发生,不要--我目前找不到链接,但我记得有一点是,Chrome浏览器中看不到的大型canvas内容元素仍然需要相当长的时间来计算/渲染,尽管与屏幕外观无关


那么,对于n个单独的非剪裁图像是否比为FabricJS画布剪裁n次的精灵更可取/不可取,是否有任何已知的预期?如果有关系,这将不是一个动画丰富的FabricJS画布;例如,拖动物体时,物体可能会移动,但本例中不涉及恒定的动画。

您只需自己做一个测试,看看是什么使您的电脑变慢。这取决于电脑、浏览器和图形卡

我对Fabric.js一无所知,但计算机CPU和图形卡可以轻松处理剪辑/图形操作。你不会像3D游戏那样显示数百万个多边形,所以你应该没事

以下是一个解释CSS精灵与个人图像网络性能提升的网站:

谢谢,但是这个答案不能满足这个问题。如果需要的话,我可以写我自己的测试,是的,但我要求如此,以防有人会分享一些充分的知识,从以前的经验或测试。关于形状,我在使用w/Fabric.js画布和高几百或低几千个元素时的经验有着明显的不同,因此我不会使用数百万个形状的事实并不足以让人感到舒服,因为精灵是一种方式。根据我的经验,没有任何与剪辑相关的问题(请参见“已知问题”选项卡)。也就是说,我认为你应该选择你最喜欢的三个平台(比如chrome、ios和android),并做一些基本的性能测试。@dsummersl有趣的是,caniuse.com确实提到了android中的一个剪辑问题;它链接到的bug报告被关闭为过时,没有明确的解决方案。哦,是的,没错……读罚单听起来可能是1/3的android浏览器的问题(总体粗略估计)。