正式版で実装される最適化について話す公式動画が公開

 CPUやGPUの負荷軽減につながる正式版の最適化について説明する公式動画が公開されました。

動画

ピックアップ

専門用語や造語などが多く筆者の理解が怪しいため、間違いにご注意ください。

お知らせ

  • 親会社のEmbracerが分社化して3つに分かれる
  • 詳しくはプレスリリースを見てね
  • これはSatisfactoryのリリース計画に影響せず、1.0以降に開発を続ける予定であることも変わらない

開発状況

  • 毎週の(Twitchの)配信でも開発状況について話しているが、Youtubeでも伝える
  • 裏でクローズドベータを行っているため忙しい
  • 千人程度に数週間ほどクローズドベータをプレイしてもらっている
  • かなり肯定的な意見を聞けている
  • 技術的な問題がいくつかあり、今後も増えていくだろうが、全体的に順調
  • 最終的な追い込みをしている
  • 問題がなければリリース日の発表まで長くはかからない

最適化について

  • パフォーマンスはハードウェアや環境によって非常に違ってくることを覚えておいてほしい
  • 技術的な用語が出てくる話になる

植物

  • 車両が小さい植物を破壊しなくなる
  • 専用サーバでメモリ使用量が増える原因になっており、衝突判定をなくすことで12GBから5.5GBになった
  • マップの同期にも影響し瞬間的な停止を軽減する
  • チェーンソーでないと破壊できないような大きなオブジェクトはこれまで通り破壊できる
    • どこまでを破壊できるようにするかは調整中

ベルトとパイプ

  • これまで、接続された各長さのベルトとパイプはそれぞれで管理されていたが、1.0からはまとめて処理されるためCPU負荷が軽減される
  • これからはGPUに依存するようになる
  • 管理数が減って全体のサイズが大きくなるアプローチへ変わりGPUで高速に処理できる
  • 「Naniteをコンベアベルトに使わないの?」という質問は多いが、検証した結果、独自の方法のほうが効果的だと分かった

Lightweight Actors

  • これまではプレイヤーがインタラクトできない建築物のオブジェクトも他と同様にHeavy Actors(?)となっており負担になっていた
    • 基礎や壁や階段など
  • これらは工場に大量に使われるため、いらない要素を排除して色やレシピなどの重要なデータを事前にメモリに配置することでセーブの書き込みも早くなる
    • 大きな工場でセーブによる停止時間が少なくなるかもしれない
  • これまで行っていた処理をスキップするためロード時間も短くなる
  • メモリ消費量を減らすことにもなる
  • マルチプレイも同期対象が減るため影響がある

メモリ最適化

  • 不必要に大きなテキスチャを削減したり、テスト用のものを削除したり、忘れられていたものを整理したりなど
  • これにより必要となるVRAMが少なくなった

スケーラビリティ

  • 設定による変化を調整したのでより意味のある結果を期待できる
  • 例えば影の品質の中~高が奇妙だったのを修正した

UnrealEngine5.3

  • UnrealEngineを5.3にアップグレードした
  • Epicによる改善で一般的なパフォーマンスが向上し、何人かが遭遇していたクラッシュも解決している
  • 最近5.4もリリースされたが、1.0ではまだアップグレードしない

アップスケーラ(DLSS、FSRなど)のアップグレード

  • それぞれの最新バージョンにアップグレードするので、それぞれの最適化があるはず

専用サーバ

  • 前述の植物やベルトの改善により大規模な最適化があった
  • 専用サーバで実験的なストリーミング方法も試験している
    • これまで専用サーバはマップ上のすべてをロードしていたが、プレイヤーの周囲の必要なものだけロードするようにして必要メモリを低減させる

最後に

  • ここで紹介している最適化は全体の一部で、これからも最適化は行っていく
  • 色々あって動画のリリースが少なくなっているが、近い内に元通りにしたい

コメント