
AdobeとAppleのモバイルデバイスへのFlashの搭載をめぐる論争は、近いうちに終結しそうにありませんが、Appleは奪うだけでなく与えることも厭いません。同社は今週、サードパーティ開発者がグラフィックのハードウェアアクセラレーションを利用できる方法に関する情報を公開しました。この機能はこれまで利用できなかったため、MacプラットフォームにおけるFlashのパフォーマンス低下の原因とされていました。
伝統的に、FlashはOS X上ではWindows上ほど優れたパフォーマンスを発揮していませんでした。特にビデオ再生に関しては顕著でした。しかし、昨今では両プラットフォームとも同等の高性能なハードウェアで動作しているにもかかわらずです。Adobeは、少なくともビデオ再生に関しては、Flashのパフォーマンス問題はAppleが開発者に必要なビデオデコード用アプリケーションプログラミングインターフェース(API)を提供していないことが原因であり、そのためMacのハードウェアアクセラレーションをサポートしているにもかかわらず、そのメリットを享受できないと主張してきました。
しかし、最近公開されたMac OS X 10.6.3向けのAppleテクニカルノート(Appleの開発者向けドキュメントの付録のようなもの)には、役立つかもしれない情報が記載されています。それは、新しいビデオデコードアクセラレーションフレームワークです。このフレームワークは、Adobeがまさに求めている、ハードウェアアクセラレーションを用いてH.264の生のビデオをデコードするという機能を実現する、比較的シンプルで分かりやすいAPIセットのようです。
同社もこれを活用する予定だ。「Mac版Flash Playerでハードウェアアクセラレーションによるビデオデコードのサポートを有効にする予定です」と、Adobeの広報担当者マット・ローゼン氏はMacworldに語った。「必要なAPIが利用可能になったため、Flash Player 10.1の直後にリリース予定の追加Flash Playerに、新しいAPIでサポートされるハードウェア構成向けにこの機能を追加する予定です。」
これまで、ビデオのデコード時にハードウェアアクセラレーションを活用するには、AppleのQuickTime APIを使用するしかありませんでした。このAPIは、MP4ファイルなどの「従来型」H.264コンテナに保存されたビデオでしか動作しませんでした。多くのMacに搭載されているグラフィックプロセッサのハードウェアデコード機能を開発者が利用できるようにすることで、Appleは「標準」とみなされない形式であっても、あらゆる形式で保存されたビデオのデコードを可能にしました。ハードウェアと直接通信することで、アプリケーションはビデオの保存場所や保存方法に関係なくデコードできるようになりました。
ビデオデコードアクセラレーションフレームワークには制限があります。ハードウェアビデオデコードを利用できるのは、その機能をサポートするGPUのみです。これには、NVIDIAのGeForce 9400M、GeForce 320M、またはGeForce GT 330Mグラフィックチップセットが含まれます。(テクニカルノートには、最近のMacハードウェアとそのグラフィックチップセットのリストへのリンクがあります。)また、新しいAPIはMac OS X 10.6.3を必要とするため、IntelベースのMacでのみ利用可能です。
それでも、このフレームワークが組み込まれたことは、Apple が Adobe などの企業に大きな和解の申し出をしている可能性を示唆しており、たとえ同社のモバイル デバイスから 50 ヤード以内に近づけないとしても、OS X 上での自社製品のパフォーマンス向上を許可している。
1:23PT に Adboe からのコメントを追加して更新しました。