4

html5/javascript 3d アプリケーションを構築する必要があり、各シーンで多くのオブジェクト (約 200 ~ 300 の複雑なオブジェクト、またはそれ以上) を遅延なくレンダリングする必要があるため、HTML5 Canvas、SVG のどのレンダリング テクノロジを選択すればよいか教えてください。またはWebGL。

Canvas を SVG と組み合わせて使用​​するとパフォーマンスが向上すると聞きましたが、それを 3D 環境に変換するのはどれくらい複雑ですか? SVG で Canvas をサポートする JavaScript エンジンはありますか? または、Canvas と WebGL には three.js を選択する必要があります。

4

1 に答える 1

9

HTML5 / Canvas / SVG は静止画像には適していますが、動きのある 3D アプリケーションには適していません。

HTML5 と SVG は 3D メカニズムを実装していないため、そのようなシーンの作成はすぐに非常に複雑になる可能性があります。キャンバスはある種の表面にすぎず、描画するにはさらにロジックやテクニックが必要です。

別の考慮事項は、ブラウザーによってパフォーマンスが大きく異なる可能性があることです。たとえば、(この回答を書いている時点で) Chromium と Firefox を比較すると、一方は 1 つの巨大な画像を移動するのに優れており、もう一方は何千もの小さな画像を移動するのに優れています。

WebGL は Web 用の OpenGL を簡略化したもので、グラフィック カードを使用してゲームなどの複雑なシーンをレンダリングします。これにより、リアルな 3D およびリアルなレンダリングが可能になります。その代償は複雑さです。学習して正しく適用するには時間がかかります。

単純な 3D 効果とスタイリングの場合、WebGL は過剰であり、SVG はより単純な代替手段になります。実際の 3D の場合、WebGL はフルパワーを提供します。

于 2013-08-16T08:14:13.893 に答える