Articles

Valve:OpenGLはDirectXよりも高速です–even on Windows

このサイトは、このページのリンクからアフィリエイト手数料を獲得することが 利用規約。
L4D2、ubuntu11.10でネイティブに実行されている

windows8に対するValveの嫌悪感を強化する恐ろしいひねりでは、ソースエンジン—Half Life2、Left4Dead、Dota2を動かす3Dエンジン—は、Ubuntu12.04およびOpenGLでwindows7およびDirectX/Direct3Dよりも高速に実行されることが判明しました。Valve Linuxチームは、Nvidia GTX680、Intel i7-3930k、および32GBのRAM、Windows7、DirectXを使用して、270.6fpsで4Dead2maxesを残しました。 同じハードウェアですが、異なるソフトウェア—Ubuntu12.04とOpenGL—L4D2のスコアは315fpsで、Windowsよりもほぼ20%高速です。

これらの数字は、Valve Linuxチームは数ヶ月のためのソースのLinuxポートに取り組んできたが、Valveは、ほぼ10年のためのWindowsの下でソースエンジンのパフォーマンスを精 Valveは、スピードアップを”カーネルとOpenGLの基礎となる効率”に帰着させます。”

L4D2のLinuxポートはもちろん、315fpsで開始されませんでした—最初のバージョンは実際にはわずか6fpsで限界に達しました。 このような巨大なパフォーマンスの向上を実現するために、ゲームはLinuxカーネルでうまく動作するように微調整され、ゲームは(DirectXではなく)OpenGLで動作するように最適化され、Linuxグラフィックスドライバのバグに対処されている。この最後のポイントは興味深いです: ValveはAMD、Nvidia、Intelと長年の関係を持ち、Valveはドライバのバグを報告し、GPUメーカーはそれらを適時に修正します。 Valveはこの関係をLinuxに引き継いでおり、これはゲームプラットフォームとしてのLinuxの継続的な成長にとって非常に重要です。 この場合、Valveは、Nvidia Linuxドライバにはマルチスレッドサポートがなかったと言います—そして、それ以降のバージョンのドライバにそれを追加すると、パフォーマこれらの新しいOpenGL最適化を使用すると、Windows上のOpenGLバージョンのL4D2はDirectXバージョンよりも高速になりました。 同じハードウェアを使用すると、Windows7/OpenGL/L4D2は303.4fpsでクロックされます—270.6fpsのWindows7/DirectX/L4D2と比較して。 つまり、OpenGLはDirectXよりも高速です。OpenGLがDirectX/Direct3Dよりも高速である理由については、単純な答えは、OpenGLがより滑らかで効率的なパイプラインを持っているように見えるということです。 303.4fpsでは、OpenGLは3.29ミリ秒ごとにフレームをレンダリングし、270.6fpsではDirectXは3.69ミリ秒でフレームをレンダリングします。 その0.4ミリ秒の差は、DirectXパイプラインが3Dデータを処理して描画できる速度にかかっています。なぜまだDirect3Dを使用しているのですか?

OpenGLが高速の場合、DirectXが依然として優勢なAPIである理由は何ですか? それは画質や機能のためではありません:OpenGL4.0にはDXが持っているすべてのシェーダとテッセレータとウィジェットがあります。 すべてのNvidiaおよびAMDグラフィックスカードは、DirectXと一緒にOpenGLの最新バージョンをサポートしています。

本当に、それはすべて、私たちがネットワーク効果と呼ぶその厄介な古いものに帰着します—そして、もちろん、独占的な重さとマーケティングドル。 DirectXは、よりクリーンなAPIとより良いドキュメントを持っているので、学ぶのが簡単です。 DirectXを使用して、より多くの開発者=より多くのDirectXのゲーム=より良いドライバのサポート。 これは再びより多くのDX開発者、より多くのDXゲーム、より良いDXドライバ/ツール/ドキュメントにつながる悪質なループです。 Microsoftは執拗にあまりにも、DirectXを販売している-と誰がWindows VistaとMicrosoftのOpenGLスミアキャンペーンのリリースを忘れることができますか? Vistaの同梱バージョンのOpenGLは完全に不自由で、多くの開発者がDirectXに切り替えることを余儀なくされました。

Steam Linuxマイクロソフトはもちろん、OpenGLの進歩を妨げる正当な理由があります: DirectXは独自のものであり、Windows、Xbox、Windows Phoneでのみ実行されますが、OpenGLは完全にクロスプラットフォームです。 Mac、Linux、PlayStation3、Nintendo Wii、およびほぼすべての最新のスマートフォン(OpenGL ES)用の堅実なOpenGL実装があります。 それは明らかに最高のゲーム体験は、そのプラットフォームに排他的であることを確認するために、Microsoftの最善の利益のために。

Gabe Newellのwindows8に対する嫌悪感(そしてBlizzardが彼の感情をエコーする)、Linux上のSteamの差し迫ったリリース、およびスマートフォンゲームの継続的な成長により、OpenGL革命のカスプになる可能性があります。 Windows gaming crownが滑り続けている場合、OpenGLはすぐに付け足しではなく、デフォルトのAPIになる可能性があります。 すぐに、Direct3Dに焦点を当て、LinuxとOS Xを寒さの中に残すのではなく、すべてのプラットフォームでうまく動作するゲームを開発するのが標準かもしれまValveは来週SIGGRAPH2012でLinux/OpenGLの進歩について話す予定です。 SIGGRAPHは、私たちは通常、あまりにも、最新のOpenGLとDirectXのニュースについて聞く場所です—ので、お楽しみに!

更新@2:40: 物語はもともと、OpenGLの仕様は通常DirectXよりも先行していると述べていましたが、それは数年前から真実ではありませんでした。