0

私はいくつかの線と矢印を描いており、一度に 100 以上の線と矢印を一度に画面に表示していますが、何らかの理由で IE1 はここで Chrome よりも優れています。矢印を描かなければ、速度はほぼ同じです。だから、IE10が線をレンダリングする方法とChromeが線をレンダリングする方法に何かがあると推測しました。

これがなぜなのか、またはChromeを高速化する可能性のあるキャンバスのヒントを知っている人はいますか?

以下は、コメント アウトすると Chrome がはるかに高速になる部分ですが、実際には IE10 にはまったく影響しないようです。

        var risePercent2 = runPercent;
        var runPercent2 = -risePercent;
        var newX = targetX - (runPercent * (targetSize + arrowLength));
        var newY = targetY - (risePercent * (targetSize + arrowLength));
        context.moveTo(
            newX + (runPercent2 * arrowWidth),
            newY + (risePercent2 * arrowWidth)
        );
        context.lineTo(
            targetX - (runPercent * (targetSize + (arrowWidth / 2))),
            targetY - (risePercent * (targetSize + (arrowWidth / 2)))
        );
        context.lineTo(
            newX - (runPercent2 * arrowWidth),
            newY - (risePercent2 * arrowWidth)
        );

        context.strokeStyle = color;
        context.stroke();
4

1 に答える 1

1

パフォーマンスの少なくとも 1 つの側面に関して、IE が Chrome に追いついたのかもしれません :-)

ただし、IE10 と Chrome はどちらも GPU を使用してレンダリングを高速化できます。テストを実行するときは、両方のプラットフォームで GPU サポートが有効または無効になっていることを確認してください

http://apmsystems.com/blog/?p=197

http://www.windowsvalley.com/how-to-enable-gpu-acceleration-or-gpu-rendering-in-google-chrome-8-or-higher/

于 2013-10-28T23:25:44.767 に答える