Google開発者がIce Cream Sandwichの「完全なハードウェアアクセラレーション」に関する神話を払拭





おはよう、ハブル!



xda-developers.comで、Googleの開発者プロフィールDiana Hackbornからの最新の投稿「ICSの完全なハードウェアアクセラレーションの神話を破壊する」を語る興味深いニュースを見つけました。 私はこれらの2つの出版物に基づいて簡単な翻訳再説を行うために自由を取りました。 この出版物の最初のバージョンは、今夜、ブログR2-D2:Android with Benefitですでに公開されていますが、このトピックは、Habrahabrでも取り上げるに値するように思えました(秋以降の「リンク」セクションそして実際に死んだ)。







Google開発者のDiana Hackbornは、Android 4.0 Ice Cream Sandwichのインターフェースのハードウェアアクセラレーションに関する情報をGoogle+ページで共有しました。 この機能の周りに浮かび上がった興奮は、それだけではなく、他のモバイルオペレーティングシステムと比較して、Androidでの2D要素のレンダリングの滑らかさについて多くの非難が聞こえました。



もちろん、Androidのハードウェアアクセラレーションは良いことですが、この機会が実際に何を表しているのかについて多くの誤解があります。 まず、Androidは長年にわたって複数のウィンドウをレンダリングするタスクのハードウェアアクセラレーションをサポートしています(タスクバー、通知、メニューバー、インターフェイス要素の外観と非表示など、ウィンドウの構成について話している)。 これは、Androidのインターフェース要素のすべてのアニメーションが常にハードウェアアクセラレーションを使用していることを意味します。



ウィンドウ構成のレンダリングとは対照的に、ウィンドウ内の画像は従来、Android 2.X以前のプロセッサを使用してレンダリングされていました。 ただし、Android 3.0 Honeycombでは、アプリケーションのマニフェストがandroid:hardwareAccelerated =” true”でこのオプションを明示的に示している場合にのみ、これらの関数をグラフィックアクセラレーターに転送できます。 Android 4.0 ICSの唯一の違いは、開発中、最後に使用可能なAPIレベル14(および将来のすべて)を使用して、このオプションがデフォルトでアプリケーションに対して有効になっていることです。

マニフェストに関係なく、ハードウェアアクセラレーションを有効にしたAndroid 4.0 ICSですべてのアプリケーションを「作成」する機会があるように思えますが、完璧ではないでしょうか。 実際、これは完全に真実ではありません。 たとえば、PowerVRビデオアクセラレータの場合、Nexus SおよびGalaxy Nexusでも使用されるドライバーは、ハードウェアアクセラレーションを使用するプロセスごとに8 MBのRAMを「消費」します。 そんなに多くないようですか? 多くのプロセスが即座にRAMをアクティブに消費すると、一般にメモリ消費が大幅に増加し、マルチタスクの速度が大幅に低下するまで即座に影響するため、これは当てはまりません。 その結果、Google開発チームは現在、Nexus Sでハードウェアアクセラレーションが本当に必要なユーザーインターフェースの部分を微調整するために多大な努力を費やしています。



結果は何ですか? Android 2.Xと比較して、Ice Cream Sandwichには、ハードウェアアクセラレーションの広範な使用など、より多くの機能があります。 それでも、「デフォルトで」有効化されたアクセラレーションのオプションを持つことに加えて、ICSでのハードウェアアクセラレーションの使用は、以前よりも「完全」ではなくなりました。 また、多くの人が信じているように、ハードウェアアクセラレーションは魔法でも奇跡でもないことを忘れないでください。しかし、その存在は確かにマイナスではなくプラスです。



Google+ Dianaxda-developers.comでの議論に基づいています



All Articles