パスワードを忘れた? アカウント作成
15358283 story
マイクロソフト

DirectStorage API、Windows 10 バージョン 1909 以降で利用可能に 36

ストーリー by headless
提供 部門より
Microsoft は 6 月に Windows 11 を発表した際、DirectStorage テクノロジーが Windows 11 限定で提供されると説明していたが、Windows 10 でも利用可能になるようだ( DirectX Developer Blog の記事BetaNews の記事Ars Technica の記事Ghacks の記事 )。

DirectStorage はストレージテクノロジーの進歩に合わせ、ゲームデータのロードを高速化する DirectX ファミリーの API で、当初は Xbox Series X に Xbox Velocity Architecture の一部として導入された。昨年 9 月には Windows PC での提供計画が発表されていたが、Windows 11 発表時には Windows 11 限定で提供とされた。

Microsoft によれば、DirectStorage SDK は DirectX 12 Agility SDK と同様に Windows 10 バージョン 1909 以降と互換性があるという。ただし、Windows 11 は DirectStorage の利用を想定して構築されており、ストレージスタックが最適化されていることから DirectStorage の潜在能力全てを利用可能になるとのことだ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2021年07月24日 11時44分 (#4076780)

    どうせいならOneDriveやGoogleDriveなどをSANストレージとしてソフトウェアRAIDでアタッチできるようにしてくれたら面白いのに

    • by Anonymous Coward

      Direct XでOneDriveを使う必要性が見当たらないんだが…せいぜいセーブデータの同期ぐらいか?

  • by Anonymous Coward on 2021年07月24日 11時45分 (#4076781)

    最初、データベースソフト等データの一貫性が必要なソフト向けに、
    ファイルシステムやキャッシュとかすっ飛ばしてRawアクセスするAPIとおもったら、
    想像とまったく違うAPIだった

    • by Anonymous Coward on 2021年07月24日 11時59分 (#4076786)

      FSCTL_MARK_HANDLEとFSCTL_GET_RETRIEVAL_POINTERS使えば昔から可能なことだそれは
      MS製品がとっくにやってることなんだからさ
      https://techcommunity.microsoft.com/t5/failover-clustering/cluster-sha... [microsoft.com]

      親コメント
      • by Anonymous Coward

        WindowsでRawアクセスが可能なこと自体は正しいけど、FSCTL_MARK_HANDLEとFSCTL_GET_RETRIEVAL_POINTERSはどこから出てきたの?
        あなたの貼ったリンク先には一言も説明されていないし、どちらも明らかにファイルシステムを意識する機能なんだけど
        https://docs.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioct... [microsoft.com]
        https://docs.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioct... [microsoft.com]

        Windowsでは単にボリューム自体をファイルのように開くことでRaw

        • by Anonymous Coward on 2021年07月24日 22時01分 (#4076941)

          ファイルシステム上のファイル対してファイルシステムを介さずにアクセスするのにこれらを使う

          RAWボリュームは可搬性が悪いのでWindows向けソフトでは普通は使わない

          親コメント
          • by Anonymous Coward

            ファイルが連続していなくてフラグメンテーション起こしていたら厄介
            それはどうするんだろう
            それと、1レベルくらいは仮想化入っているよね
            # シリンダ・トラック・セクタでアクセス?

    • by Anonymous Coward

      (あえてDirectStorageの説明はよまない)

      わかった、あれだ、CPUをバスリクエストで止めてDMAで一気に読み込み/書き込みをするんだな。

    • by Anonymous Coward

      すでにこのAPIを使ったDBの高速化案件がウォーミングアップを始めてるに違いない

    • by Anonymous Coward

      > ファイルシステムやキャッシュとかすっ飛ばしてRawアクセスするAPIとおもったら、

      それは「ダイレクト・アクセス」ってやつで、太古の昔からある概念では?

    • by Anonymous Coward

      アプリケーションの起動を加速するとして昔流行ったReadyBoostのDirectX版といったところだ。
      ReadyBoostではログを解析して先読みによる自動制御だったが、DirectStorageは必要なデータを一番知っているのはアプリだというところからアプリがより細かく制御できるようになっている点が進歩といったところだろう。

      • by Anonymous Coward

        ということは、HDDにゲームをインストールしていた場合には効果絶大だが、そもそもゲームをSSDにインストールしていた場合には効果がそれほどでもないのかな。まあ、ゲームアプリが巨大化しているし、HDDにインストールしていてもSSDによる高速化の恩恵を得られるなら、便利だろう。

        • by Anonymous Coward
          逆逆
          HDDにゲームをインストールしてる場合は関係ない
          SSDにインストールされている場合に高速化する
          要は
          1) メインメモリを経由せず直接VRAMにデータを送る
          2) 圧縮ファイルの解凍処理をCPUじゃなくてGPUでやる
          の2点がメリットで
          HDDの場合はセクタの割り出し待ちでどうせCPU時間はヒマしてるからその間にやればいいだけだけど、SSDだと瞬速で読み出せちゃうんでそんなことにCPU使わずにGPUでやりたいって話。
      • by Anonymous Coward

        何も考えずに同期読み込み、みたいな感じにはならないのか

      • by Anonymous Coward

        RTX IOの類https://ascii.jp/elem/000/004/025/4025926/をDirect X経由で扱えるようにしたついでにNVMeのような高IOPSのストレージに最適化したって感じではないかと。
        アプリケーションの動作を高速化するのもIO処理の改善で実現するのも一緒ですが後は全然別物ですな。
        ReadyBoostはメモリにデータをキャッシュする方式だけどDirectStorageはメインメモリを経由しないので。
        NVMeみたいな高IOPSストレージってahciとかSATAみたいな低IOPSを前提にした制御方式と相性悪いんですよね。制御がボトルネックになっちゃうから。
        ゲーム以外で相性が良さそうなのはCG制作GPGPUですかね。んでもってGPGPUといえばまいにんぐ〜。

    • by Anonymous Coward

      DB用では、NVDIMM-Nで不揮発メモリにDBを置いてRawアクセスする方法が別途ある。

  • by Anonymous Coward on 2021年07月24日 12時38分 (#4076797)

    WSL2もDirectLinuxとか名付ければよかったのに。

    • by Anonymous Coward

      昔からMSってDIRECTとかACTIVEとかXとか好きだよなあ。あと~EX

      • by Anonymous Coward

        発端がズバリMSXだし

        • by Anonymous Coward

          実質的にはMSXは西(アスキー)の製品だと思ってる
          MS本社は乗り気じゃなかっただろ

      • by Anonymous Coward

        日本語が直接使える DirectPerl を希望。

        • by Anonymous Coward

          ActivePerlってまだメンテナンスされているのか?

          • by Anonymous Coward

            WSLで間に合うのであえてインストールしなくなったなー。
            まぁ、Perlに限らずUnix発祥のWindows版はことごとくWSLの存在だけで滅んだと思うが。

            • by Anonymous Coward

              それ以前にUnix方面でもPerlは下火になってないか

              • by Anonymous Coward

                大規模な開発に使わなくなっただけでワンライナーやシェルスクリプトの代用としては一大勢力だと思うが。
                # ってか本来はこういう使い方する言語。CGIにPerlが多様されたのって何が理由だったんだろうな。

              • by Anonymous Coward

                文字列処理に都合がよかったからでは?
                なお、それ以降web用に流行った言語では、webプログラミングするのに都合のいい文字列処理関係の機能がしっかりしてる

              • by Anonymous Coward on 2021年07月25日 7時40分 (#4077024)

                今でこそLinuxや*BSDなど、スクリプト言語を選び放題の環境がほとんどですが、
                その昔のWebサーバはSolarisとかAIXとかHP-UXとかが主流で、
                標準で入ってるスクリプト言語と言えばPerlかくらいしかなかったのですよ
                (シェルも環境によってはbsh/csh/kshなどバラバラでしたし)。

                しかもこれらの商用UNIXの場合、コンパイラは別途有料の商品だったりもしましたし。

                親コメント
              • by Anonymous Coward

                あとはシェルを直接使うより安全だったってことかな。
                system()とか使っていなければ今で言うコマンドインジェクションが通りにくい。
                コンパイラは当時からgccが移植されてたのでCで書いてあるのもそこそこ多かった印象。

              • by Anonymous Coward

                レンサバだとコンソール使えず、コンパイルも出来ないのでperlしかなかったパターンも。

      • by Anonymous Coward

        「Live」とか「One」もな

        なんでも型から入って全部変えてからすぐ飽きる、意識高い系戦略

        • by Anonymous Coward

          飽きた以前に成功しなかった

    • by Anonymous Coward

      Directなんちゃらはゲーム系の技術の頭につけるのがMSの命名規約なのでWSLはちょっと違うかな。

typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...