2013-03-25 150 views
3

我想为即将开始的项目选择画布框架。因此,我开展了一项研究,以找到适合我需求的研究。在寻找各种图书馆的利弊时,我偶然发现了这个性能测试(http://jsdo.it/djankey/test-kineticjs)。画布框架性能

这三个库的表现有多不同,给我留下了深刻的印象。所以我想问一下这个测试是否反映了Kinetic.js,Fabric.js和Easel.js展示的实际性能。

看来,前两个非常缓慢(至少在我的电脑上)。

+0

我的结果是织物(60/60fps),画架(55/60fps),然后kineticJS(20/60fps)。您定位的平台是什么?只有桌面? – Jarrod 2013-03-25 22:30:25

+0

我针对移动和桌面平台。 – ppoliani 2013-03-25 23:02:22

+2

对于手机(iPhone5,6.1.3),画架是迄今为止最快的(〜39FPS),其次是布料(〜17FPS),然后是吸力(〜5FPS)的Kinetic。希望有帮助 – Jarrod 2013-03-26 02:16:06

回答

2

在我的系统上fabric.js速度也很快,但是它没有与我的鼠标交互。 我正在使用EaselJS进行开发,我对此非常满意,主要原因是它的API非常接近AS3--所以如果您之前使用过Flash,那么您可能需要考虑它。

另一方面,这些框架中的任何一个都可能适合您的性能需求。我猜你的项目不会是一个带有1000个点的简单的300x300盒子,而且我会说任何多达100个小精灵的任何框架都应该处理得很好。当你的画布变得更大(例如全屏)时,它会变得很有趣,因为然后渲染更依赖硬件和浏览器本地渲染操作而不是画布框架。 afaik所有这些框架都会在“tick”上重新显示完整的画布(但我对此并不十分确定)。

1

这取决于您正在构建的项目类型。就像上面提到的olsn一样,如果你熟悉ActionScript和/或你正在构建一个包含大量移动子画面的游戏需要CPU性能,那么Easel.js肯定会是你提到的三个框架中的最佳选择。如果您想要与CreateJS套件中的其他库集成,画架也是一个明智的选择。

如果您正在构建游戏并且不介意在受支持的解决方案上投入一些资金,您可能需要调查impactjs - 我个人没有使用它,但是我已经从我的开发者朋友处听到了好消息。

您可以非常快速地在Kinetic中构建简单的应用程序 - 它的API非常简单明了,但如果性能是关键 - 那么我可能会避开它。

如果您需要大量的交互性,并且希望有一个使用户能够轻松操作屏幕上对象的库 - 那么fabricjs是一款出色的开箱即用工具,并具有大量内置功能,可以开发这样的应用程序走得很快,而且性能也相对较好。