IE10/11 にはいくつかのパフォーマンスの問題があります。次の plunker は、カスタム要素でテーブルの行を繰り返しているときのパフォーマンスの低下の一部を説明しています。
code
このプランカーの例では、テーブル全体をレンダリングするためにクロムで合計 68 ミリ秒を取得します。IE11 では 280 ミリ秒になり、行ごとのレンダリング速度が 100% 向上します。Chrome は 1 ミリ秒あたり最大 3 行を処理しますが、IE は 2 ミリ秒ごとに 1 行を処理します。
この plunkr は、アプリケーションの基本モデルです。私たちのアプリケーションでは、かなり重い次のテンプレートを繰り返します。これには、ユーザーの設定と権限レベルに応じたスタイルの計算と表示/非表示のバインディングが含まれます。
2 行目 (拡張情報) は if.bound であるため、最初は描画されません。
このアプリケーションで、テンプレートの 100 行を含むビューをレンダリングすると、chrome はテーブル全体を 587 ミリ秒でレンダリングします。IE11 は 3779ms でそれを行います。Edge は 1283ms、Firefox は 909ms です。
IE11 では各行に約 30 ミリ秒かかりますが、
aurelia-template を使用すると IE11 のパフォーマンスが大幅に低下する理由はありますか? IE のレンダリング速度を改善するにはどうすればよいですか? バインディングを oneTime に設定しようとしましたが、あまり効果がありませんでした。繰り返しやIEでうまく機能しないカスタム要素で避けるべきことはありますか? テンプレートがかなり大きいため、再利用性とコード管理のためにカスタム要素が必要です。