Renderscriptの紹介

RenderscriptはHoneycombの重要な機能であり、これまで議論されていません。 合計2つの記事がありますが、これはRenderscriptの簡単な概要です。次の記事には、技術的な詳細と簡単な例が含まれています。



Renderscriptは、3Dレンダリングと複雑なコンピューティング操作の高性能を目的とした新しいAPIです。 Renderscriptは、アプリケーションのパフォーマンスを最大化し、低レベルで快適に作業しようとする開発者にとって興味深いものになります。 開発者は、ハードウェアアクセラレーションをサポートする3Dレンダリング用のシンプルなAPI、複雑な計算をモデリングするためのAPI( CUDAに類似)、およびC99に類似した標準言語の3つのツールを使用できます。



Renderscriptは、以前よりも視覚的に美しい新しいBooksおよびYouTubeアプリケーションを作成するために既に使用されています。 また、ハニカムに同梱されているライブ壁紙の作成にもすでに使用されています。



デバイスでネイティブコードを実行することにより、パフォーマンスが向上します。 ただし、NDKとは異なり、このソリューションはクロスプラットフォームです。 Renderscriptの開発言語はいくつかの拡張機能を備えたC99です。開発プロセス中、デバイスに依存しない中間形式でコンパイルされ、アプリケーションパッケージに配置されます。 アプリケーションが起動すると、スクリプトはマシンコードにコンパイルされ、最適化されます。 これにより、特定のマシンアーキテクチャを選択する必要性に関連する問題を回避できます。



Renderscriptは、既存の高レベルAPIを置き換えることを目的としておらず、現在のパフォーマンスのニーズがAPIを介して提供されない場合に使用する必要があります。



以前は、GPUまたはCPUでコードが実行される場所について何も言われていなかったことは興味深いように思えます。 その理由は、実行時にデバイス上で検出されるためです。 適切なハードウェアサポートがある場合、GPUで簡単なスクリプトを小さな計算負荷として実行できます。 より複雑なスクリプトは、CPU(または複数のCPU)で実行されます。 この場合のCPUの役割は、適切なGPUの形で追加のハードウェアサポートがない場合、予備を提供することです。 実際、これらはすべて開発者には見えないはずです。 一般的に、将来、単純なスクリプトは多くの場所で実行できるようになりますが、現時点では、デバイスでサポートされている複数のCPU間で負荷を分散するだけで十分です。







このビデオは、ハ​​ニカムのタブレットのHDMI出力から画像をキャプチャすることでキャプチャされました。 作業中のレンダースクリプトを示しています。 ここでは、900個の粒子に対する「ブルートフォース」物理実装を示します。 計算スクリプトは画像の各フレームを実行し、2つのコアを自動的に利用します。 物理シミュレーションが完了するとすぐに、2番目のグラフィックスクリプトが画像をレンダリングします。 ビデオでは、相互作用を示すために大きな粒子の1つを押します。 その後、タブレットを傾けて、重力が作業の一部になるようにします。 プロセス全体が、新しいA9プロセッサの優れた計算能力を実証しています。



Honeycombでは、RenderscriptのレンダリングとしてGL ES 1.1から2.0にアップグレードしました。 バージョン2.0では、シェーダーのソフトウェアサポート、3Dモデルのロード、およびより効率的なメモリ管理を追加することができました。 ただし、最も重要な変更点は、Renderscriptおよび関連ツールが現在公開されていることです。



画像








スクリーンショットは、テストアプリケーションの1つを示しています。 アプリケーションは、スクリプトの再帰呼び出しを示す3次元シーンを実装します。 スクリーンショットに示されているアンドロイドは、 Mayaで作成され、 Colladaファイルから翻訳されたA3Dファイルからロードされます。 A3Dは、Renderscriptオブジェクトをデバイスに保存するための形式です。



後で、より多くの技術情報とサンプルコードを含む記事が表示されます。



All Articles