2012-03-12 4 views
4

私はあなたが例えば、プロパティを「変革」への移行を適用することによって、画面上の要素のスムーズなアニメーションを実現するためにGPUアクセラレーションを強制することができることを知っている:CSS:トランジション:左/上のGPUがアクセラレーションされていますか?

elem.style.transition = 'all 3s ease-out'; 
elem.style.transform = 'translateX(600px)'; 

しかし、私はあなたが交換したらどうなるかと思いました二行目:

elem.style.left = '600px'; 

はなり/「左」(または「トップ」)プロパティの中にGPUアクセラレーションキックができたか、transformプロパティにすることがありますか? GPUアクセラレートが可能なはずですが、私が読んだドキュメントのいずれかから最終的な答えを集めることはできません。

+0

は、あなたが特定にそれを絞る必要があるだろう特定のグラフィックスサブシステムを備えた特定のOS上の特定のブラウザのバージョン。これらはすべて、仕様に綴られたものではないため、答えに影響を与える可能性があります。特定のOS /ハードウェア上の特定のブラウザの実装者の責任です。いくつかのブラウザではGPUを使用していくつかのCSSディレクティブを加速させ、ある状況ではそれを加速させないという証拠もありますが、それでも上記のことしか言えません。 – jfriend00

+0

さて、私はそうは確信していません...特定のOS/GPU /ブラウザ/などに対する答えを探しているわけではありません。一般的な答えは、さまざまなOS/GPU /ブラウザ/ etcが私のサイトにアクセスしている可能性があります。答えが「それは依存している - すべてのOS /ブラウザ/ etcがこれを別々に扱うので、それに依存しない」とすれば、それは満足のいく答えになります。いずれにしても、誰かがすでに異なる視点から反応しているようです。 –

+0

いくつかの種類のハードウェアで動作している場合、いくつかのバージョンの1つまたは可能性のある2つのブラウザについて、あなたが確認した答えが答えました。おそらくそれはあなたが探していたものですが、あなたの質問はそれよりもはるかに一般的であり、それは特定のハードウェア上の特定の実装のコンテキストで答える必要があるという理由です。左のプロパティをjavascriptで設定してCSSの遷移を引き起こすことは、ハードウェアアクセラレーションを使用できない、または使用しないということは絶対にありません。したがって、問題はすべてのブラウザが現在どのように動作しているかです。 – jfriend00

答えて

4

加速されていません。アクセシビリティを高めるには、特定のCSS3プロパティを使用する必要があります。私はあなたが興味深いこれらのリンクを見つけることだと思う:あなたの質問に答えたことのチャンスを持っているため

http://www.html5rocks.com/en/tutorials/speed/html5/

http://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome

Does animating the value of a CSS3 transform with javascript rule out hardware acceleration?

+0

素晴らしい!あなたが投稿した最後のリンクのフォローアップのコメントで、この質問の回答があったようです。ありがとう! –

+1

http://www.html5rocks.com/en/tutorials/speed/html5/ – knutole

+0

@knutole非常に良いリンク。ありがとう! – trusktr

1

私が集めたコンセンサスは、モバイルサファリなどのモバイルデバイスでハードウェアアクセラレーションが行われているのはtranslate3dプロパティだけです。

Further Reading

+0

はい、これは私にこの質問を投稿するよう促したページでした。これは、遷移/変換を使用するCSS3遷移ベースのアプローチで、数ミリ秒ごとに左/上を変更するタイマーベースのアプローチとは対照的ですが、残念ながら、左/上の組み合わせは「遷移」で除外されます。 –

関連する問題