13

「XはGPUで高速化されています」、「YはGPUで高速化されていません」など、いくつかの参考資料を読んでいますが、完全なリストが見つかりません。CSS3のどの部分がGPUで高速化されていますか?

4

2 に答える 2

11

そうです、これは興味深いトピックであり、実際にはブラウザとグラフィックカードに依存します。私はこれについてしばらく研究するつもりだったので、ここに簡単な要約があります。

Webkit(Safari、Chrome、iOS、Android)

Webkitでは、AnimationBase.cppで指定されていましたが、移動したようです。ドー!とにかく、コードを検索するとACCELERATED_COMPOSITING、それが見つかります。

具体的には、何かがこれらのいずれかに一致する場合、それを加速することができます(少なくともChromiumでは):

  • レイヤーには3Dまたは透視変換CSSプロパティがあります
  • Layer is used by element using accelerated video decoding
  • Layer is used by a element with a 3D context or accelerated 2D context
  • Layer is used for a composited plugin
  • Layer uses a CSS animation for its opacity or uses an animated webkit transform
  • Layer uses accelerated CSS filters
  • Layer has a descendant that is a compositing layer
  • Layer has a sibling with a lower z-index which has a compositing layer (in other words the layer is rendered on top of a composited layer)

Source


Gecko (Firefox)

In Gecko, https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration explains their plan/implementation, much like IE, on XP the options are more limited, but every other OS gets some acceleration if the graphics card is supported properly. Firefox 4 (I think!) added acceleration for text, canvas and transforms.


Trident (IE)

IE10 seems to have pretty much everything HW accelerated. http://blogs.msdn.com/b/ie/archive/2011/04/26/understanding-differences-in-hardware-acceleration-through-paintball.aspx

It is pretty quick, so I don't really doubt their claim!

于 2012-08-27T19:28:41.423 に答える
3

GPUアクセラレーションについて説明しているCSS3仕様はありません。代わりに、GPUを使用するCSS3の部分を決定するのは、特定のハードウェアにブラウザーを実装する各ブラウザーメーカーまたは会社の責任です。そして、これはあるデバイスから次のデバイスに簡単に変更できます。

たとえば、約1年前の時点で(最新の情報はありません)、3D変換はiPhone3でGPUアクセラレーションされましたが、2D変換は行われませんでした。しかし、その情報はiPhone3s、iPhone4、または将来のiPhone5では完全に異なる可能性があると思います。

于 2012-08-27T19:08:48.480 に答える