メインコンテンツまでスキップ

FPS最適化ガイド

備考

この文書は、PrismStudio 1.16に基づいて作成されました。

FPS最適化ガイド?

PrismStudioを使用すると、以下のようにフレームが不安定な現象を経験した可能性があります:

この現象を最小限に抑え、VRChatとPrismStudioの間のほぼ完璧な接続性を作るためにこのガイドを作成しました。

不安定な理由?

PrismStudioはVRChatとは別に動作するため、2つのプログラム間の動作周期が異なります。

例えば、VRChatでは70FPSのパフォーマンスが出るとき、PrismStudioは120FPSのパフォーマンスが出ると仮定すると、PrismStudioはVRChatに1秒に120回OSCデータを送信し、VRChatは1秒に70回ずつ、これまで受け取ったOSCデータを収集してカメラの位置と角度を変更してフレームをレンダリングします。
최적화하기 전 VRCPrismStudio와 VRChat의 FPS를 이미지로 표현한 그림
もう少し詳しく見ると、以下のようにPrismStudioでOSCデータを完全に転送する前にVRChatでフレームレンダリングを完成するため、VRChatでPrismStudioから完全なデータを受信できないままフレームをレンダリングしたため、フレームのずれ現象が発生します。
VRCPrismStudio가 데이터를 보내는 빈도와 VRChat이 프레임을 렌더링하는 빈도를 설명하는 그림

VRChatとPrismStudioのFPS設定を適切に調節し、VRChatとPrismStudioのパフォーマンスがほぼ同じになるようにしてフレーム不安定現象を大きく改善することができます。
VRCPrismStudio와 VRChat의 FPS 설정을 제한하여, 빈도를 맞추는 그림

FPSの設定はどこに?

VRChat: Settings > Graphics > FPS
VRChat에서 FPS를 조절하는 옵션을 보여주는 사진

PrismStudio: PrismStudio オブジェクトを選択し、StudioSystemで 一般設定 > FPS
VRCPrismStudio에서 FPS를 조절하는 옵션을 보여주는 사진

警告

UnityエディタでFPS制限ができますが、エディタの性能によりFPS数値が不安定になります! そのため、常にBuild And Runを使って駆動してください。
VRCPrismStudio 유니티 프로젝트에서 Build and Run 옵션을 선택하는 사진

推奨設定値

おすすめ 1: VRChat 60, Prism 120

私が現在使用中の設定であり、最も安定した性能を提供します。 また、PrismStudioの基本設定となっています。

  • VRChatでのFPS設定をCapped、数値を60に設定
    VRChat에서의 FPS 설정을 Capped, 수치를 60으로 설정하는 사진
  • PrismStudioのFPS設定を120に、VSyncはOFF
    프리즘스튜디오의 FPS 설정을 120으로, VSync는 OFF로 설정하는 사진

このようにすると、PrismStudioはVRChatが1フレーム描くときに2つの完全なOSCデータを送ることができるようになります。

おすすめ 2: VRChat VSync, Prism VSync

次におすすめの設定は、VRChatとPrismStudioの両方にVSyncを使用することです。
VSync (垂直同期) とは?: 垂直同期(VSYNC)とは|ドスパラ通販【公式】

  • VRChatでのFPS設定をVSyncで
    VRChat에서의 FPS 설정을 VSync으로 설정하는 사진
  • PrismStudioのFPS設定をモニターのHZに合わせて、VSync 設定をONに 프리즘스튜디오의 FPS 설정을 모니터의 헤르츠에 맞게, VSync를 켜는 사진

これにより、VRChatとPrismStudioの両方が垂直同期を使用して、モニターの更新頻度に合わせてOSCデータを送信することができ、VR Chatでより安定的にフレームをレンダリングすることができます。

おすすめ 3: 撮ろうとする映像に合わせて

次におすすめする設定は、撮影しようとする映像のFPS数値に合わせて設定し、PrismStudioのFPSを2倍に設定することです。
この方式を使うと、撮影しようとする映像のフレームに合わせて映像撮影ができるようになります。
例えば、24FPS映像 (例: Stellar Stellar / 星街すいせい(official)) を撮影する場合、VRChatのFPSを24に、PrismStudioのFPSを48に設定します。

おすすめ 4: VRChat 60, Prism 無制限

この次におすすめの設定は、VRChatのFPSを60固定で、そしてPrismStudioのFPSを無制限に設定することです。
これにより、VRChatが1フレームをレンダリングする際に、プリズムがその間に数多くのOSCデータを送信できるようになり、もし最後に送信されたOSCデータが完全にVR Chatに送信されなくても、以前に完全に受信したOSCデータを依存することができます。

  • VRChatでのFPS設定をCapped、数値を60に設定
    VRChat에서의 FPS 설정을 Capped, 수치를 60으로 설정하는 사진
  • PrismStudioのFPS設定を無制限に(“-1” または大きい数値)、VSync OFF
    프리즘스튜디오의 FPS 설정을 무제한으로 (-1 또는 큰 수치), VSync를 끄는 사진

以前のおすすめ設定とはあまりおすすめしない設定ですが、それでも以前の設定を試してみたところ、良い結果が得られなかったら、この方法が改善に役立つと思います。

おすすめ n: 直接実験してみる

上記の推薦設定をすべて使用してみたにもかかわらず、それでも不安定だと思われる場合、1、2時間ほど時間をかけて本人の環境に合った最適な数値と設定を探してみることをおすすめします。

また、このような設定や問題についてお問い合わせしたい場合は、Discordサーバー (https://prismstudio.haruna.dev) または Twitter DM (x.com/tw_harunadev) からお問い合わせください!