パスワードを忘れた? アカウント作成
16127232 story
ストレージ

Microsoft、ゲームデータ読み込みを改善する「DirectStorage 1.1」をリリース 39

ストーリー by nagazou
リリース 部門より
Microsoftは7日、ゲームのロード時間を短縮するための「DirectStorage 1.1」をリリースした。最近の3Dゲームは小さなデータを大量に読み込む処理が多用されており、加えてファイルサイズを減らすため圧縮されていることが多い。そのため、一般的なファイル読み込み関数と展開処理ではCPU負荷が爆発的に高くなるのだという。DirectStorageではGPUを用いた圧縮データの展開(GPU decompression)がサポートされ、GPUを積極的に活用することで、CPU負荷を劇的に引き下げることができるとしている。Windows 10と11で利用可能だが、各社GPUの最新ドライバーを利用する必要があるとのこと(DirectX Developer Blog窓の杜)。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2022年11月12日 13時11分 (#4358904)

    サンプルが🥑なのはなんでさ

    • Re:アボカド (スコア:2, 参考になる)

      by Anonymous Coward on 2022年11月12日 19時43分 (#4358996)

      このアボカドモデル自体は、DirectStorageというより、デモ開発に使用したgITF 2.0の表示用サンプル (2017年)。
      https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Avocado [github.com]

      経緯は、この方のツイートにあり、Microsoftの寄贈。
      https://mobile.twitter.com/cx20/status/1205677259668914177 [twitter.com]

      で、なぜ、そのチョイスなのか?という話になると、
      #4358965 [srad.jp]さんの言う通り、gITF 2.0デモ用モデルが作成された2017年にアボカドが小流行していたことに由来する可能性が高い。

      親コメント
      • by Anonymous Coward

        モデ権ないので付けられないけど、参考になりました。
        レナみたいな権利問題も起きないだろうし。

      • by Anonymous Coward

        > KhronosGroup
        DirectStorageに飛びつく人が少ない理由が分かっちゃった気が…。

        さらに言えば、2017年って「ペイント3D」の年だよね。
        OpenGLもWebGLもglTFもKhronosGroupは2017年が最新で時間が止まってる…いやPBRの拡張は昨年もあったけど。
        3Dモデルアセット流通を推進しようとした業界の痕跡がこんなところに…、
        というかWebGL対応はちょっとずつ進んでるから(メタバース狙い?)、これからちょっと巻き返すのかな?

        #gITFではなくglTFね。OpenGLのgl。

        • by Anonymous Coward

          OpenGLはVulkan、WebGLはWebGPUという後継がすでにあるか開発中なので進歩が止まっているのは当然なのでは。動きが遅いのは標準化団体あるあるでむしろHTMLが異常

    • by Anonymous Coward

      ここ数年、メキシコ産アボカドが流行ってるらしい。
      有名人のインスタで支持増やしたとか…。
      https://avocadosfrommexico.com/blog/entertaining/how-the-avocado-becam... [avocadosfrommexico.com]

      2014年頃には、オリーブオイル代替品になる、とか、
      今年の10月に、アボカド熟成度スキャナが開発された、
      と話題になったくらいには認知されている。

      #下ネタ由来や開発者自身に因る揶揄で

  • by Anonymous Coward on 2022年11月12日 6時24分 (#4358782)

    いつになったらゲーム側が対応してくれるのかな?
    開発者向け提供開始が去年の7月でまだ対応タイトルがないのをみると既存ゲームを後から対応させるのは難しいのでしょうか?

    • by Anonymous Coward on 2022年11月12日 11時32分 (#4358877)

      今年のニュースで、市販エンジンでは以下のような感じだから、先は長そう。
      ・2022/7 Unreal Engine 「計画はあるが、いつとは言えない。」
      https://www.neowin.net/news/epic-games-confirms-microsoft-directstorag... [neowin.net]
      ・2022/3 Unity「エンジンが恩恵を得られる領域と実装にかかる負担を調査中。DirectStorageの実装は簡単ではない。」
      https://forum.unity.com/threads/will-unity-support-directstorage.1255269/ [unity.com]

      内製エンジンでは、ゲーム発表時には分かるんだろうけど…。

      親コメント
      • by Anonymous Coward

        内製エンジンだとクロスプラットフォーム対応がめんどいのでMSのファーストパーティースタジオ以外やらないと思う。

        • by Anonymous Coward

          スクエニのFORCEPOKENは内製エンジン(ルミナスエンジン)だけどDirectStorage対応表明してる
          来年ぐらいからのマルチタイトルなら対応も増えてくるんじゃないかな
          XBOXで出るタイトルなら似たような仕組みで実現されてるだろうから、対応自体は難しくないだろうし
          ただDirectStorageが使える環境なんて限られてるから、どっちも対応させてテストやら考えたら割に合わないとは思う

        • by Anonymous Coward

          > クロスプラットフォーム対応がめんどい
           
          これに尽きるんじゃないですかね。

      • by Anonymous Coward

        内製エンジンだとバグってても自社製品に影響するとこだけ直せばいいからね

    • by Anonymous Coward on 2022年11月12日 14時52分 (#4358937)

      ある程度パフォーマンス最適化してるゲームだと、既に「小さなデータを大量に読み込む処理」なんてやってないからなぁ。
      古いゲームや出来の悪いゲームは平気で数万ファイルとかあるけど、まともな開発のゲームは数十GBの容量でもファイル数は数百ぐらい。データは大抵少数のデータベースファイルにまとめてある。

      そういう事情なのでゲームエンジン側も積極的に対応する意味が無いのかもしれない。
      対応したところで、出来の悪いゲームは使わないし、出来のいいゲームは既に必要としていない。

      親コメント
      • by Anonymous Coward

        MOD界隈の住人としては耳が痛いなぁ

    • by Anonymous Coward

      既存のゲームだとコストの問題が大きい 対応した方が良いんだろうけど別になくてもいいよねってぐらいなら対応しないのが普通

      • by Anonymous Coward

        こういうのってエンジン側がやってくれるからゲーム屋は特に何もしなくて良いけど、既存ゲームでその辺アップデートするのは辛いよね。って感じかな。

        • by Anonymous Coward

          検証が面倒だしマルチプラットフォームだと結局個別対応になるからやだなみたいな感じだろう。

  • by Anonymous Coward on 2022年11月12日 9時51分 (#4358820)

    今のゲームで「CPUがボトルネックになってパフォーマンスが出ない」っていうケースって多くない気がするのですが。
    最新のAAAゲームでをSandyBridgeで…とかだとありそうだけども。
    逆にGPUの性能不足で、というのはダイレクトにありますよね。
    最近のモダンなCPUを積んでいれば、DirectStorageでGPUの処理が増えたら、逆にパフォーマンス落ちそうな気がするんですけど、どうなんでしょう。
    教えて詳しい人。

    • by Anonymous Coward on 2022年11月12日 14時22分 (#4358928)

      大きいのは最初やシーン切り替え時のロード
      ここはSSD→VRAMにモデルやテクスチャを転送するのが処理の殆どでGPUは遊んでる
      CPU経由だとバスの負荷も高いし、今の読込速度ってGB/sレベルだからその展開ってCPUフルに使っても追いつかないぐらいヘビーだったりする
      だからCPUを介さずに読み込めれば、圧縮も合わせて転送速度以上の性能が実際に出る

      あとはUE5のNaniteのようなストリーミング技術を使った仮想ジオメトリかな
      ローポリ→ハイポリへの切替がより高速に出来るから見た目の品質も上がるし、不要なモデルはとっととメモリから追い出すとかも出来るからVRAMの利用効率も上げられる
      とはいえこっちは「DirectStorage必須」みたいな領域だから、基本的にはPS5/XBOXのCS向けって感じだろうけど

      親コメント
      • by Anonymous Coward

        >>基本的にはPS5/XBOXのCS向けって感じだろうけど
        CSで行われている事を
        PC向けにAPI整えて出来るようにしただけだから合ってる

      • by Anonymous Coward

        CPU側もGPU側もメモリが限られるPS5/XBOXには意味のある技術だけど、PC向けだとメモリ増やしてキャッシュに乗せればOKだからなぁ。
        CPU側のメインメモリでも数十GB/sと最速レベルのSSDの10倍速いし、SSDと違ってランダムアクセスでもそれほど遅くならない。

        最近のPC向けAAAタイトルだと、データは1ファイルにパックしてあり、起動時にSSDからメインメモリにシーケンシャルに高速転送してる。
        メインメモリが大量にあることを前提に、容量さえあれば分割リードとかは必要なく大部分のデータをメインメモリに保持する。
        VRAMには必要な分だけしかロードしてないけど、メインメモリにデータがあるのでストレージ速度には足を引っ張られない。

    • by Anonymous Coward

      ValheimやCoreKeeperのようなUnity製のインディーゲームはほぼCPUネックでフレームレート上がらなくなりますよ。
      ちょっとした規模の建築をしただけで3080積ん出ても30FPS切る状況なんて当たり前のようにあるので辛いです。
      まぁこういう場合大抵1コア2スレッドにしか負荷がかかってなくてUnity側の問題なのかなとも感じますけど…

      • by Anonymous Coward

        そういう場合は単にソフトが糞ってだけ

        • by Anonymous Coward

          そりゃ何でも遅いソフトに当てはまる話ね
          今回は律速部分がIOなら効果がある
          糞でもなんでもこういう技術で速くなるなら実装してほしいです
          どうせ自分じゃ直せないんでしょうから

    • by Anonymous Coward

      そうでもない

    • by Anonymous Coward

      ググレカス

    • by Anonymous Coward

      ググレカス

    • by Anonymous Coward

      現代的なゲームはデータをCPUで読み出し解凍し加工するにせよしないにせよ再圧縮してGPUに転送しGPUで伸長してデータを使うというふろーになります。未来のゲームではデータをGPUで読み出してGPUで展開してGPUで使います。単純に無駄な工程が減るのでレイテンシを削減できるわけです。大抵は処理時間よりデータ読み出しの方に時間が

    • by Anonymous Coward

      ここは酷いインターネッツですね

    • by Anonymous Coward

      UnrealEngineなんかは、レガシー引きずってる影響で分散処理がヘボヘボなので、大量のキャラが動き回るようなことをやるとすぐにGameThread(ゲーム処理のスレッド)が膨れ上がってパフォーマンスが出なくなります。
      他のゲームエンジンも大抵そうなんじゃないですかね。「ゲームに必要なのはシングルスレッド性能」なんて今でも言われますし。

      あとはUIに大量の要素を適当に置くと意図しないところで再描画用の計算が走ったりとか。

      • by Anonymous Coward

        シングルスレッド命と言われるのにスレッド数が膨れ上がって遅くなるというのは矛盾しているような…

        • by Anonymous Coward

          膨れ上がってるのはスレッド数じゃなくてGameThreadに積まれる処理だよ

          • by Anonymous Coward

            GameThreadという単一のスレッドで全部処理していてそこが重くなって律速になるということ。

            この辺とか参考になりますかね
            https://qiita.com/EGJ-Takashi_Suzuki/items/33449c17c61d1ed30079 [qiita.com]

            ついでに影処理もライトの形態によっては特殊なことをしていて、範囲内の全ての動くオブジェクトに対して一枚ずつレンダーターゲット(のエリア)を割り当ててシャドウを書くとかをRenderThreadという単一のスレッドでやっているので、
            こちらも数が多くなると重くなる

            #こういうノウハウを知らずに作ると酷いことになる

  • by Anonymous Coward on 2022年11月12日 11時05分 (#4358861)

    全体には影響しない。

    • by Anonymous Coward

      既に実装を宣言してるゲームが存在するのに?

    • by Anonymous Coward

      メモリが少ないグラボは 入出力の高速化でカバー出来るというのは 十分メリットだと思うけどね 1.1で圧縮、展開に対応した事で更に高速化出来るし

      そこそこのグラボでもそんなにパフォーマンスが落ちないように出来ると言えば解るかと

      • by Anonymous Coward

        テスクチャ等が統一されにくいMMO系ネトゲで人がいっぱい居るときレイドとかで引っ掛かりが減りますみたいなメリットが有りそう。
        後は、オープンマップ系の逐次ロードが早くなればそれはそれで快適になるだろうね。コケなくて済むよ!

        # MMO系は魔法やら装備やら種類が多種多様だからVRAM負荷高めになりやすい。

typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...