2015-10-06 4 views
5

私は、おそらく個々の画像ファイルまたはスプライトのいずれかとして提供される可能性のある数十種類の異なるグラフィックスを表示するFabricJSキャンバスを持つつもりです。各グラフィックでは、キャンバスに0〜数十回表示される可能性があります。 FabricJSにはclippingという能力があり、スプライトの使用を可能にすることが分かっています。一般に、ウェブ上のスプライトは、CSSなどの個々の画像よりも非常に好まれています。Fabric.jsクリッピングされたスプライトと個々の画像の効率

しかし、キャンバスを取り巻くブラウザの動作やクォークについても聞いたことがあります。ここでは、最適化が行われると思われますが、現時点ではリンクが見つかりませんが、画面上の表示には関係なく、Chromeの表示領域からどれだけ大きなキャンバスコンテンツ要素が計算/「レンダリング」されるのに相当な時間がかかりますか。だから、

nは個々の非切り出し画像がFabricJSキャンバスためのn回をクリップしていますスプライトに好ましくない/望ましいだろうか上の任意の既知の期待があるのですか?重要な場合は、これは大きく動くFabricJSキャンバスではありません。たとえば、ドラッグすると物が動くかもしれませんが、定数アニメーションはこの場合には関係しません。

+0

はhttp://caniuse.com/#feat=canvasによると、任意のクリッピング関連の問題は存在しない(既知の問題を参照してくださいタブ)。それは私があなたのトップ3のプラットフォーム(クロム、イオスと....アンドロイド、言う...)を選択し、いくつかの基本的なパフォーマンステストを行う必要があると言いました。 – dsummersl

+1

@dsummersl興味深いことに、caniuse.comはAndroidでのクリッピングの問題について言及しています。それがリンクしているバグレポートは、廃止されたものとしてクローズされ、明確な解決が得られます。 – jmq

+0

oh yes、true ...チケットを読むと、アンドロイドブラウザの1/3(おそらくhttp://developer.android.com/about/dashboards/index.htmlからの大まかなゲスト)のチケットのように聞こえます。 – dsummersl

答えて

0

PCを遅くする原因を突き止めるために、自分でテストしてください。それはPCとブラウザとグラフィックスカードによって異なります。

Fabric.jsについてはわかりませんが、コンピュータのCPUやグラフィックスカードでは、クリッピングやグラフィック操作を簡単に処理できます。あなたは3Dゲームのような何百万ものポリゴンを表示していないので、あなたはうまくいくはずです。

は、ここで個々の画像ネットワークのパフォーマンスが増加対CSSスプライトを説明するウェブサイトです: https://medium.com/parlay-engineering/emoji-at-scale-render-performance-of-css-sprites-vs-individual-images-f0a0a2dd8039

+0

ありがとうございます。しかし、この答えは質問を満たしていません。必要であれば、私は自分のテストを書くことができますが、以前の経験やテストから誰かが分かち合う知識がある場合は、私は尋ねました。シェイプの数に関しては、Fabric.jsキャンバスと数百または数千の要素が多かったので、私の経験には目立った違いがあります。何百万というシェイプをやっていないという事実は、スプライトが行く道。 – jmq

関連する問題