ハイレゾスクリーンショットで超高解像度(11520x6480)の撮影をした際、撮影自体はうまくいくのですが、撮影後に専用GPUメモリが上限(4GB)から下がらず、エディタが操作できないほど重くなります。
シミュレーションを終了しても重いままで、エディタの再起動が必要になります。
GPUメモリを強制的に解放する方法などないでしょうか?
【使用コンソールコマンド】HighResShot 11520x6480 0 0 11520 6480
【環境】Core i7-6800K、DIMM 16GB、GeForce GTX 980 12GB
こちら手元で試した場合、GTX2070で試したら、数秒後くらいにはメモリが定常状態に下がっているのを確認いたしました。そちらでは数秒待っても解放されないでしょうか?
お世話になっております。原因と思えるものが判明いたしました。
こちらですが、EditorでのHighResShotで起きるかと思いますがいかがでしょうか??
Editorでは、Viewの大きさのリサイズをスムーズに行うよう、エディタの画面を縮小しても、レンダーターゲットをリサイズしないようにしております。そのため、スクリーンショットで高解像度の画面を撮影すると、そのまま内部のレンダーターゲットのサイズが大きいままになります。現状こちらは仕様で、回避するためにはStandAloneなどで撮影していただくことになるかと思うのですが、もしもエディタで対応させるためには、お手数ですが、以下の FSceneRenderTargets::ComputeDesiredSize()のSceneTargetsSizingMethodをEditorのときもRequestedSizeになるように設定していただけますでしょうか?
(\Engine\Source\Runtime\Renderer\Private\PostProcess\SceneRenderTargets.cpp 内部…)
if(!FPlatformProperties::SupportsWindowedMode() || (bIsVRScene && !bIsSceneCapture))
{
// Force ScreenRes on non windowed platforms.
SceneTargetsSizingMethod = RequestedSize;
}
else if (GIsEditor)
{
// Always grow scene render targets in the editor.
// SceneTargetsSizingMethod = Grow; // <--- これを
SceneTargetsSizingMethod = RequestedSize; // <--- こっちに
}
ご確認ありがとうございます。
こちらではシミュレーションを終了してもずっとメモリが下がらず、エディタの再起動が必要になります。
お世話になっております。あれから何度か試したのですが、やはり、こちらで見る限りではGPUメモリが減ることはありませんでした。しかし、エディタが重たくなるというよりは、PC全体の挙動が重たくなるということが数度ありました。現在、こちらが本原因に関与しているか確認しています。お手数ですが今しばらくお待ちいただければ幸いです。
了解いたしました。
お手数をおかけしますが、よろしくお願いします。
ありがとうございます!
StandAloneでは落ちてしまって撮影できなかったのですが、RequestedSizeに変更したところ撮影後も平常に戻るようになりました。