http://jsfiddle.net/ES4xG/8/はほとんどの Retina デバイスをクラッシュさせます。
iOS Safari は「簡単に」メモリ不足になり、一部の-webkit-transform
命令を使用するとクラッシュします。このアプローチは印象的なグラフィックスを提供しますが、特に Retina ディスプレイでは大量のメモリを消費し、クラッシュを引き起こすようです。
上記のデモは、PC ブラウザーで正常に実行されるテキストを 150 回表示したものです。
要素のフォント サイズと数が誇張されているため、クラッシュが発生します。は-webkit-transform: translate3d(0,0,0)
、各要素の GPU アクセラレーションによる描画を強制することを目的としています。
実際のアプリケーションではtranslateX
、 、Y
、Z
、scale
および GPU の使用に関連していると思われる他のものを同じように使用しています。画像やスプライトも使われていますが、クラッシュには直接つながりません。
上記のシナリオを考えると:
1) iOS Safari がクラッシュするのはバグですか?
2) Apple Instruments メモリ モニタを接続すると、仮想メモリが上昇し、クラッシュの原因と思われます。このメモリを正確に使用しているのは何ですか?
3) 多くのメモリを消費しない GPU アクセラレーション アプローチは他にありますか?