前回も述べたように、Microsoftは4月29日から5月1日(現地時間)までの3日間、米サンフランシスコで開発者向けカンファレンス「Build 2015」を開催した。今回は初日の基調講演以外の情報をピックアップし、Windows 10周辺の情報を整理する。

すべでのデバイスで動作する「Universal Windows Apps」

Build 2015のセッションを俯瞰すると、Microsoft Azureなどエンタープライズ製品を除けば、Universal Windows Apps(UWA)をテーマにした講演が多いことに気付く。UWAの概念自体は目新しいものではなく、2010年9月にリリースしたWindows Phone 8.1までさかのぼる。MicrosoftはWindowsストアアプリとWindows Phoneストアアプリのコードを共有することで、開発コストの軽減やプラットフォームの一元化を目指していた。

Windows 8.1とWindows Phone 8.1(下)の「天気」。両者は基本的に同じコードで組まれている

そして「One Windows」という旗の下、PCやモバイルデバイスだけでなく、Xbox OneやIoTデバイスなどまで展開するのが現在のUWAだ。

UWAのイメージ図。「One Windows」や「One Store」などすべてを1つに集約したプラットフォームの構築を目指している

Build 2015のセッションではUWAの開発について、アプリケーションの基本設計やガイドライン、具体的なコードの記述方法などを説明した。ここ最近、Microsoftは自社プラットフォームにこだわらない姿勢や活動を見せているが、それと並行して、Windowsを核においた従来のビジネスモデルも推進していることがわかるだろう。

スマートフォンからSurface Hubまですべて同じUIデザインとUXを提供するのが基本姿勢となる

UWAの具体例として示した「メール」

UIガイドラインの1つ「コマンドバー」もピクセル単位の具体的な規定を設けている

いずれにせよ2015年夏に登場するWindows 10によって、UWAのセカンドステージが始まる。ただし、すべてのアプリケーションを即時UWA化するのは難しい。そのため、3月にGDC 2015関する記事でも述べたように、Microsoftはここ数年をWin32アプリケーションからWinRTアプリケーションへの移行期と見なしている。

Windows 10時代の「Windowsストア」はWin32アプリケーションや映像コンテンツなども販売する

複数GPUの利用など期待大の「DirectX 12」

DirectX 12(DX12)に関するセッションも興味深いものだった。資料に目を通すとBuild 2015の時点でDX12はAPIレベルの開発を完了。Steamの調査結果によると、2015年中に50%以上のPCゲーマー、67%の一般ユーザーがDX12対応デバイスに移行するという。

Direct3D Development LeadのMax McMullen氏は、中国Snail Gamesの「King of Wushu」を使ったデモンストレーションで、DX11とDX12のパフォーマンスを比較した。レンダリングスピードとキャラクター増加時のフレームレートに差はないが、fps値の最低値と最高値に大きな違いが生じていることが見て取れる。これはDX12で実現するコマンドリスト構築とCPUの並列処理や、複数GPUエンジンのワークロード調整など、パフォーマンスに関する最適化が効を奏しているのだろう。

DX11とDX12の比較デモ。fpsの最小値・最高値に大きく差が生じている

描画するキャラクターを増やして高負荷時のGPU使用率をチェック

スクウェア・エニックス「WITCH CHAPTER 0 cry]」のデモは[こちらの記事で述べたとおりだが、1シーンあたり6,300万のポリゴンと8K×8Kのテクスチャによって実現した映像だ。これらの数値はDX11に比べ6~12倍に及ぶという。

「WITCH CHAPTER 0 [cry]」のデモンストレーション。とてもGTX TITAN X×4枚といった環境は個人で用意できないが、一度は見ていただきたい

さらにUnreal Engine 4(UE4)のデモでは、DX12からサポートするMultiadapter(マルチアダプター)をアピール。こちらは異なるベンダーのGPUを組み合わせることを可能にする技術だ。すでにNVIDIA SLIやAMD CrossFireXといった技術は存在するものの、これらは同一ベンダーのGPUに限られる。その点Multiadapterに制限はない。

UE4によるMultiadapterのデモ

上図のデモはIntel製GPUとNVIDIA製GPUを組み合わせたものだが、Intel製GPUが低スペックなのか、わずかながらもfpsの差として結果が現れている。DirectX Developer Blogの記事によれば、NVIDIA製GPUが担う一部の処理をIntel製GPUに渡すことで、数ミリ秒の差が生じる結果になったという。

Multiadapterのデモの分析結果

阿久津良和(Cactus)