2013-03-25 67 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是一款出色的開箱即用工具,並具有大量內置功能,可以開發這樣的應用程序走得很快,而且性能也相對較好。