Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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画布库慢,don';你不使用GPU吗?_Javascript_Html_Graphics_Canvas - Fatal编程技术网

JavaScript画布库慢,don';你不使用GPU吗?

JavaScript画布库慢,don';你不使用GPU吗?,javascript,html,graphics,canvas,Javascript,Html,Graphics,Canvas,我正在开发一个图形化的流程图类应用程序,我将用户可以拖动的“模块”链接在一起。我正在使用像draw2d这样的库(例如使用raphael.js),它们使用SVG和HTML5画布来绘制图形 然而,我甚至还没有接近我所认为的“压力”水平,它在我的浏览器中运行得非常缓慢。当我拖动模块(蓝色框)时,感觉就像每秒10帧,甚至更少。屏幕截图显示我在屏幕上看到的内容: 在我的笔记本电脑上,我有一个由AMD提供的系统监视器,显示我的CPU内核和GPU的使用率。当我拖动这些对象时,我的CPU核心(全部4个)会被最

我正在开发一个图形化的流程图类应用程序,我将用户可以拖动的“模块”链接在一起。我正在使用像draw2d这样的库(例如使用raphael.js),它们使用SVG和HTML5画布来绘制图形

然而,我甚至还没有接近我所认为的“压力”水平,它在我的浏览器中运行得非常缓慢。当我拖动模块(蓝色框)时,感觉就像每秒10帧,甚至更少。屏幕截图显示我在屏幕上看到的内容:

在我的笔记本电脑上,我有一个由AMD提供的系统监视器,显示我的CPU内核和GPU的使用率。当我拖动这些对象时,我的CPU核心(全部4个)会被最大限度地使用,但GPU根本没有被使用


基于图形的web框架是否不使用GPU?考虑到我的应用程序正在尝试做什么,以及它目前在性能方面的糟糕状态,我是否有可能需要找到一个使用openGL或其他东西的新图形库?这样的事情存在吗

这实际上取决于库和使用的浏览器。如果使用chrome,第一步是转到chrome://gpu 并查看为GPU加速启用了哪些功能。如果使用标准画布绘图功能或实现自己的软件渲染功能,则完全取决于2D框架库。

这将取决于特定的实现,不是吗?(我没有看到帖子中提到的任何实现。如果不同浏览器之间出现显著的性能差异/特征,我也不会感到惊讶。)我只是想更新OP——如果有帮助的话,我在Firefox中进行了测试,发现它更糟。我说的是每秒2帧……我可以说,使用Fabric.js,文本、框和行的数量会非常快。我检查了一下,它说我有硬件加速。使用SVG和Canvas之间会有区别吗?无论哪种情况。。。我正在考虑将我的应用程序移出浏览器。这确实取决于库如何使用画布。如果您的库正在使用SVG,请转到chrome://flags 并检查SVG加速是否已启用。如果您的库正在绘制画布,那么它应该基于绘制三角形和简单形状。填充开放形状和由贝塞尔曲线构成的形状最有可能由软件渲染。