Apple が WWDC 2014 で発表した驚きの中には、同社の最新の iOS デバイスに搭載されている A7 アプリケーション プロセッサのハードウェア アクセラレーションによるグラフィックスの可能性を根本的に強化することを目的とした、同社の新しい Metal フレームワークとシェーダ言語があります。
WWDC の基調講演中に、特にメタル ロックのファンであると言われている Apple のソフトウェア責任者、Craig Federighi によって紹介されました。技術としてのメタルは、Apple の新しい GPU (グラフィックス プロセッシング ユニット) に適用されます。64ビットA7アプリケーションプロセッサ最新の iOS デバイスである iPhone 5s、iPad Air、Retina iPad mini で使用されています。
この新しいテクノロジーの名前は、実際には、OpenGL などの既存のグラフィックス ライブラリによって課せられるオーバーヘッドを削減することで、「金属に近い」グラフィックス パフォーマンスを提供するという事実に由来しています。 Metal は、3D レンダリングと一般的な計算タスクを高速化すると同時に、CPU を解放して、より高度な物理モデリングやビデオ ゲームのオーディオ処理などの追加作業を処理できるようにします。
イニシャルでWWDCセッションMetal に専念している Apple の GPU ソフトウェア エンジニア、ジェレミー サンドメル氏は、開発者向けに新しいテクノロジーの概要を説明できることに「非常に興奮しています」と述べ、「これが文字通り、あなた、あなたのアプリケーション、そして iOS にとってゲームチェンジャーになると信じています」と述べました。
Metal を紹介したエンジニアは、大勢の潜在顧客に対して雄弁なマーケティング言語を話しているわけではないことに注意してください。彼は、開発者がパフォーマンスを劇的に向上させるために使用できる新しいテクノロジーの概要を説明していました。これは、アプリと Apple のエコシステムに利益をもたらすものです。開発者のアプリにそれを使用するのに十分な利益がなければ、Metal は Apple にも利益をもたらしません。
メタルが「」のような無意味なマーケティング用語であるかどうかはすぐにわかります。インテル・インサイド」、それが他では差別化されていないハードウェアを販売するために発明されただけなのか、それとも他では匹敵できない新しいクラスのモバイル ゲームを生み出しているために人々が注目する真の新しいテクノロジーなのかどうか。
これまでのところ、Apple はすでにハイエンドのモバイル ビデオ ゲームを引き継いでおり、Android、BlackBerry、Windows Phone では利用できない (そして将来的には Tizen では利用できなくなる) 多くの独占タイトルを抱えています。 Android にはハイエンド ゲームがあまりないという事実は十分によく知られています。アナンドテックに観察する「Metal から最も恩恵を受けるゲームは、Android 上に存在する可能性が最も低いゲームでもある」というかなり残酷な正直さです。
根本的な新しいハードウェアには根本的な新しいソフトウェアが必要です
デスクトップ PC の世界では、Mac と Windows PC は、ますます高速な専用 GPU を搭載したビデオ カードと組み合わせて、ますます高速な CPU を搭載することで、段階的にパフォーマンスを向上させてきました。アップルの新しいマックプロ実際には、標準装備としてメイン CPU と並行して 2 つの高速 GPU を組み合わせており、1 つの GPU はビデオ パフォーマンス専用で、もう 1 つは高度なレンダリング タスクと一般的なコンピューティング アクセラレーションに使用できます。 3 つのプロセッサーはすべて、中央のヒートシンク (下図) によって冷却されます。
ただし、iOS と、バッテリー寿命、放熱、コンパクトな熱エンベロープが非常に重要であるモバイル設計の制約の下では、最新の超高速 GPU がどのように駆動されるかを再考する必要があります。デスクトップ マシンの純粋な馬力は物理的に大きすぎるため、印象的なモバイル グラフィックスを実現するには、より専門化されたアプローチが必要です。iOS と、バッテリー寿命、放熱、コンパクトな熱エンベロープが非常に重要であるモバイル設計の制約の下では、最新の超高速 GPU がどのように駆動されるかを再考する必要があります。
さらに、今日のモバイル GPU は非常に高速なので、CPU コアがグラフィックス タスクを十分な速度でそれらに供給するのが困難になることがよくあります。 CPU コアが最大になると、GPU はアイドル状態のままになり、CPU によって新しい作業がディスパッチされるのを待ちます。
この分野では、OpenGL の汎用設計ができることの限界に達しつつあります。これは主に、状態検証や GPU シェーダーのコンパイルなどのタスクで CPU に多くの時間を浪費するためです。
これは、特にビデオ ゲームの分野に当てはまります。ビデオ ゲームでは、滑らかな体験を提供するために、目標フレーム レートを常に高く保つ必要があります。
また、暗号化やオーディオおよびビデオの処理などのタスクを含む、一般的なコンピューティング機能の領域でも重要です。 Apple はまだ OpenCL を自社のモバイル デバイス上で一般開発者がアクセスできるようにしていませんが、Metal は GPU と「GPGPU」(グラフィックス プロセッシング ユニット上の汎用コンピューティング)タスクの両方で動作するため、その問題も解決します。
Apple は Metal を使用して、高度に最適化された新しいフレームワークを使用して OpenGL のオーバーヘッド荷物を回避し、モバイル開発者が新しい A7 (そしてもちろん、同じ種類の高度な GPU を使用する将来の A シリーズ チップ) から可能な限り最高のパフォーマンスを引き出すことを可能にしました。テクノロジー)。
Metal は、実行時に遅延なく実行できるように、事前にプリコンパイルできるタスクを特定することによって部分的に機能します。これには、GPU によって高速に実行されるように設計された特殊なコンピューター プログラムである「シェーダー」を記述するために使用される、Apple の新しい Metal Shader Language が含まれます。
当初、GPU シェーダは、3D モデル上にリアルなサーフェスを作成するために必要な色の滑らかな色合いを適用する方法を記述していました。今日のより一般的な用語では、シェーダーとは、アニメーション化された 3D モデルのジオメトリの計算から、シーンの個々のピクセルのレンダリング、またはビデオの既存のフレームへのモーション ブラー エフェクトの作成に至るまで、あらゆる種類の画像またはビデオ処理を指します。シェーダーを使用して、一般的な計算タスクをパッケージ化し、GPU で高速に実行することもできます。
Apple の Metal 用の新しいシェーダ言語は、一般的な GPU グラフィックス操作と一般的な計算機能の両方を定義し、両方に同じデータ構造とリソースを使用して、開発者にとって作業を簡単かつ一定にします。これにより、OpenGL と OpenCL の両方に代わる、A7 に最適化された効率的な代替手段となります。
のように迅速Cocoa フレームワークを中心に構築されたコードのコンパイル パフォーマンスを向上させるために Apple が作成した新しいプログラミング言語である、同様に新しい Metal Shader Language は、LLVM を介して、可能な限り実行前にシェーダ コードを効率的にコンパイルするように設計されています。
たとえば、ビデオ ゲームでは、アプリ内でプリコンパイルされた Metal シェーダを配信でき、追加の処理を行わずに A7 の GPU ですぐに実行できるようになります。可能な限り多くのシェーダー コードをプリコンパイルすることで、CPU はゲームプレイ中にコードをコンパイルする必要がなくなり、貴重な数ミリ秒の処理時間を節約し、他のタスクに使用できるようになります。可能な限り多くのシェーダー コードをプリコンパイルすることで、CPU はゲームプレイ中にコードをコンパイルする必要がなくなり、貴重な数ミリ秒の処理時間を節約し、他のタスクに使用できるようになります。
より汎用的な OpenGL は、実行前に CPU 上のシェーダー オブジェクト コードを GPU マシン コードにコンパイルするように設計されています。これにより、さまざまな GPU をサポートできるようになり、それぞれの GPU には、そのチップ アーキテクチャに合わせてコンパイルされた必要なシェーダーが必要になります。
これは、JavaScript が異なるハードウェアで動作する異なるブラウザ上で HTML5 アプリを実行するために使用する、または Java および Android の Java に似た Dalvik 仮想マシンが広範囲に断片化された配列全体でコードを実行するために使用する、クロスプラットフォームの「ジャスト イン タイム」解釈アーキテクチャに相当します。ハードウェア。
どこでも実行することの欠点は、コードがどこでも特に高速に実行されるわけではないことです。特定のアーキテクチャ向けに最適化されたコードは本質的に高速に実行され、さらに最適化することができます。 Facebook のようなユビキタス サービスなど、クロスプラットフォームでの実行が重要な場合でも、ネイティブ アプリは、はるかに優れたウェブアプリに。パフォーマンスが最重要視されるビデオ ゲームでは、最適化されたネイティブ コードがさらに非常に重要であることは明らかです。それが iOS 8 における Metal の役割です。
Metal は、実行前に多くのシェーダーをコンパイルすることに加えて、OpenGL の汎用構造によって課せられるオーバーヘッドの多く、特に「状態ベクトル」、つまり準備された各描画呼び出しに関連するすべての詳細に関して、そのオーバーヘッドを取り除きます。 CPU によって処理され、GPU に渡されます。このプロセスには、OpenGL の下で多くの費用のかかる「官僚主義」が関与します。
Metal は、Apple の A7 でコードを実行するように特に最適化されているため、競合する GPU 設計のさまざまな違いをすべて処理する必要はありません。これにより、Metal は A7 の独自のアーキテクチャを対象としたコードの構築と最適化に専念できるようになります。同時に、Apple は最新の GPU 機能の新しいサポートも追加し、開発者が時代遅れのアーキテクチャのサポートに関連する従来のオーバーヘッドを軽減しながら、より優れた新機能にアクセスできるようにします。
この Metal の超最適化が可能になるのは、Apple が独自のアプリケーション プロセッサ チップ設計を開発し、その後、数千万台の最新デバイスをすべて同じハードウェアを使用するように標準化しているためです。 Apple は、新しい A7 のパフォーマンスを最大限に引き出すために Metal をカスタマイズしましたが、LLVM コンパイラによって最適化された Metal コードの実行に優れるように A7 を特別に設計しました。
最も複雑な難問の 1 つは、iPhone 5c の失敗に関する神話は、Appleが中級モデルではなく上位モデルのiPhone 5sを主に販売していることに腹を立てたと主張しており、iPhone 5sは価格が高いだけでなく、新たなA7ユーザーをインストールすることになると主張している。 Apple がよりハイエンドの A7 搭載携帯電話を販売できれば販売するほど、Apple はより早く、より簡単に差別化を維持することができます。」キャリアフレンドリー、十分です競合他社が大量販売を達成するために推し進めている一種のモデル。
それはA7デバイスだからです物事ができる昨日の 32 ビット チップとバリュー エンジニアリングの ARM Mali 統合グラフィックスを組み合わせたものではそれができません。そして、A7 クラスの iPhone と iPad の大規模なインストールベースにより、A7 に最適化されたアプリの市場が形成されます。メタルは、Apple が A7 のリードをさらに前進させるために使用しているテクノロジーの 1 つであり、洗練された点で明確なコントラストを生み出し、購入者が気づくことができます。
最新の 64 ビット ARMv8 CPU アーキテクチャと高度な機能を組み合わせて提供するという驚きに加えて、6シリーズローグGPU, AppleのA7には、CPUとCPUコアの間に統合メモリアーキテクチャも組み込まれています。これにより、Metal は、中央システム キャッシュと専用グラフィックス キャッシュの間でデータを常にやり取りすることなく、CPU による GPU への命令の供給を調整できます。
A7が最初に発表されたとき、Appleはそのようなことを何も発表しませんでした。専門家でさえもチップワークスA7 上のすべてのシリコンが何をしていたかを特定することはできますが (上記)、なぜ A7 に「10 億個以上のトランジスタ」が必要なのかについては議論が続いています。
A7 の 10 億個のトランジスタは、(実際には) Sun の UltraSparc T3 16 コア サーバー CPU と同じカテゴリーに分類されます。 6 コアの Gulftown Intel Core i7 には 11 億 7,000 万個のトランジスタが搭載されています。 Intel Core 2 Duo は 2 億 9,100 万個ですが、初代 Macintosh はわずか 68,000 個の Motorola 68000 を搭載していました。
Apple はあらゆる種類の大きなサプライズを用意していたことが判明し、一連のピエロたちが A7 について自分たちが考えていることについて無知な意見を発表し始めた一方で、Apple は非常に真顔でした。
AppleのA7からの一連のビッグサプライズ
Apple が iPhone 5s の高度な A7 チップを初めて導入したとき、最初に次のように歓迎されたことを思い出してください。メディアの懐疑論それが「本当に 64 ビット」なのかどうかという疑問に続いて、デバイスに「4GB のアドレス指定可能な RAM」が搭載されるまで 64 ビットのモバイル チップは問題ではないという一般的な (そして完全に不正確な) 話が続きました。無知な報道では、A7は「宣伝文句であり、パフォーマンスは向上しない」とのことだった。
その一方で、A7 のパワーはモバイル デバイスには「必要すらない」というメディアの満場一致の合意がさらに数カ月続き、モバイル業界の本当の興奮は代わりに、低価格の Motorola デバイスまた、Google の計画では、Android 5.0 に関する以前の野心的な計画を縮小し、代わりにローエンド製品で実行することを主な目的とした Android 4.4 KitKat を提供する予定です (ただし、自社製品を除き、過去 18 か月以内に販売された製品のみが対象)ギャラクシー・ネクサス)。
Android に焦点を当てていたのは Google だけではありませんでしたローエンド。 2013 年を通じて、Apple の主なライバルである Samsung は、過半数同社の「スマートフォン」はローエンドデバイスとして認識され、「ギャラクシー」ブランドは「プレミアムiPhoneクラスのデバイス」を意味するものから、代わりにAndroidを搭載して販売される事実上すべてのものを指すようになり、そのほとんどはAppleが参入したものよりも洗練されていないローエンド製品を指すようになった。 2010年のiPhone 4レベル。
Apple は一連の進歩の基礎を秘密裡に構築していた一方で、メディアの専門家や金融アナリストは Apple が「もはや革新的ではない」 2013 年のほとんどを通じて、単にそれらの人々が何が起こっているのかを知らなかったからです。
A7 の新しいアーキテクチャはすでに大幅なパフォーマンスの向上既存の OpenGL コードを実行するとき (以下に示すように、GFXBench を実行するとき)。
A7 搭載デバイスを何千万台も販売した今、Apple は、その謎の A7 チップが、新しい Metal を介して、すでに優れた OpenGL ベンチマークが当初示していたものよりも 10 倍も優れたグラフィックス パフォーマンスを実現する、根本的に未開発の可能性を秘めていることを明らかにしています。
さらに、同社は WWDC 参加者に対し、Metal で強化されたゲームやその他のアプリを構築する機会があり、数か月以内に A7 の頭脳を備えた数千万人の iOS 8 ユーザーの広範なインストール ベースを獲得できることを示唆しました。 Apple は、このことをまったく宣伝しませんでした。それは、Samsung、Google、そして Android を使用している他のすべての企業が、高度なグラフィックス機能を備えたモバイル デバイスのインストール ベースを提供することに注意を払わずに、昨日の 32 ビット携帯電話を使い続けないようにしたかったからです。
Samsung は、最新のデバイスの高い (2.5GHz) クロックレートと「8 コア」を宣伝することを好みます。ギャラクシーS5。ただし、このデバイスは依然として Adreno グラフィックスまたは ARM Mali グラフィックスのいずれかを使用しています (モデルが販売されている場所によって異なります)。どちらのバージョンも基本的なグラフィックス パフォーマンスのみを提供するだけでなく、分割によりどちらかのチップ アーキテクチャのインストール ベースが分割されるため、サムスンにとって、Apple の Metal に似た特殊なソフトウェアを使用して、開発者にどちらの製品のパフォーマンスも最大限に引き出すことは不可能です。
同社のスマートフォン販売の大部分を占めるアップルの主力機種「iPhone 5s」とは異なり、サムスンの「ギャラクシーS5」は同社が販売するスマートフォンのほんの一部にすぎない。たとえサムスンが今この瞬間にアップルをコピーすることを決めたとしても、まだ1年は遅れているだろうユーザーベースのインストールを開始する際にA7 クラスのハードウェアを搭載したスマートフォン顧客の割合。
Samsung が 64 ビット CPU の提供で 1 年以上遅れていることは広く知られていますが、高度な GPU のインストール ベースの構築でも少なくとも同じくらい遅れています。そして、サムスン (および他のすべての Android ライセンシー) が新技術を展開するバラバラの方法は、はるかに時間がかかります。それとは対照的に、来年はAppleのインストールベースの大部分64 ビット CPU と高度な PowerVR 6 シリーズ GPU グラフィックスが組み合わされます。
先進的なハードウェア (既存の同業他社よりもはるかに優れた) を備えたモバイル デバイスの大規模なインストール ベースを急速に構築したことが、iPhone App Store を大成功に導いたと同時に、Palm OS、Windows Mobile、Symbian などの他のプラットフォームを古くて見劣りするものに見せました。顧客はクールな新しい iOS ソフトウェアやアプリに注目しましたが、そのソフトウェアを独占的に強化できたのは、ハードウェアにおける Apple の大きな進歩でした。A7 は文字通りにも比喩的にも革新的なモデルです。
Android は、Apple の iPhone のハードウェアの洗練さに匹敵する (そして多くの場合、それを上回る) 能力により、追いつくことができました。しかし過去 2 年間、Android は Apple のハイエンド モバイル デバイスと歩調を合わせるのではなく、大衆市場でのボリューム プレイを培ってきました。
それはアプリケーション プロセッサの CPU と GPU の機能に最も明白であり、Apple が現状をはるかに先取りできる独自のチップ設計の作成に多大な投資を行ってきた理由は明らかです。 A7 の洗練さは処理速度にとどまらず、カメラのパフォーマンスを大幅に向上させ、Touch ID の安全な実装を統合します。
基本的なフィーチャーフォンとして使用される「スマートフォン」や、主に個人用テレビとして使用されるタブレットでは、A7の利点はあまり重要ではありません。しかし、モバイル市場の中心、つまりビデオゲームをプレイしたり強力なモバイルアプリを重視するプレミアムセグメント(教育、政府、企業を含むセグメント)にとって、A7は文字通りにも比喩的にもゲームチェンジャーだ。
ゲーム業界が Metal 用の OpenGL を放棄するのではないかと心配する必要はありません。多くの大規模なゲーム開発者は、アプリで最大の視聴者にリーチしようとしていることがよくありますが、そのことが表向き、Swift や Metal などの Apple 固有のテクノロジーの採用を妨げています。これらのほとんどは、同様にプラットフォームに依存しないゲーム フレームワーク (Unity など) とともに OpenGL を引き続き使用し、iOS と Android (および A7 クラス チップを搭載していない現在の大部分の iOS デバイス) の両方をターゲットにすることを可能にします。
しかし、App Store で目立ちたい開発者にとって、Metal は劇的な桁違いのパフォーマンス向上を約束し、フレーム レート、クリーチャーの群れ、そして専用の Metal フレームワークなしでは不可能な新しいレベルのゲームの洗練さを実現します。 A7 では、ローエンドの福袋は言うに及ばず、ほとんどの Android スマートフォンに搭載されている「十分な」GPU を搭載しています。
メタルをサポートするかどうかの決定は、必ずしもすべてかゼロかというわけではありません。 A7 のインストール ベースはすでに十分な規模に達しており、開発者が既存のタイトルの Metal 強化ポートを作成して、A7 搭載デバイス向けに最適化されたバージョンを提供できるようになります。
たとえば、Epic Games のような開発者は、Unreal Engine を iOS に導入して、「インフィニティブレードそれぞれ iOS 専用にリリースされたゲーム (下) — Metal は、さらに印象的な iOS 専用タイトルを提供する新しい方法を提供します。
Epic 創設者で Unreal の共同制作者である Tim Sweeney は、WWDC の基調講演中にステージに登場し、「Zen Garden」という名前のデモ タイトルでメタル強化された Unreal Engine 4 を披露しました。このデモ タイトルは、途方もない数の桜の花びらを漂わせるために完全に作成されました。非現実的な鯉の群れや、インタラクティブに飛び回る何千もの蝶の群れ。
クロスプラットフォーム ゲーム開発者として知られるエレクトロニック アーツもステージに登場し、モバイル デバイスに直接移植できるとは予想していなかった「コンソール レベル」グラフィックス エンジンである独自の Frostbite をデモンストレーションしました。メタルのおかげでそれが可能です。 Metal の最新作「Plants vs. Zombies」のデモンストレーションで、EA はある時点で「画面上に 130 万個の三角形」があると指摘しました。
Crytek は、「フレームあたり 4,000 回のドローコール」が可能な「The Collectables」の Metal 強化バージョンをデモしました。このゲームでは、ユーザーは傭兵のチームを操作して戦場を駆け巡ります。車両の爆発により 100 個以上の破片が空中に投げ出され、新しいレベルの没入型ゲームプレイが実現します。
Appleの新機能のおかげで開放の時代WWDC 周辺、追加詳細メタルについてそしてそれは新しいメタルシェーダ言語Apple の最新機器で可能な限り最高のパフォーマンスを得るために Metal の機能を実装することに関心のある開発者は、これらを利用できます。