fc2ブログ

【UE4】FPS(フレームレート)を制限して消費電力を抑えるコンソールコマンド[t.MaxFPS]

emotionサイトトップ >UE消費電力
emotionサイトトップ > UE消費電力 >【UE4】FPS(フレームレート)を制限して消費電力を抑えるコンソールコマンド[t.MaxFPS]


UE4はデフォルト設定のままでは、3Dリアルタイムレンダリング中は常時GPUの性能をフルパワーで使用する為、3D描画している画面が表示されていると消費電力が大幅に上昇します。
TDPの大きいハイエンドのグラフィックボードを搭載する程消費電力は大きくなります。


テンプレートの椅子とテーブルだけがあるポリゴン数が少ないシーンでもGPUをフルパワーで使用される為、
フレームレートは120fps前後だったりします。

ちなみにGPUは75TDPのGTX750Tiを使用していますが、この時の消費電力は111[W]でした。
デスクトップ画面表示時のアイドル時では60[W]です。

ゲームを作成の序盤段階では、GPUをフルパワーで使用する必要が無いので、
フレームレートを制限してGPUをフルパワーで使用しないコンソールコマンドを使用します。

コンソールコマンドを入力する方法は主に2つあります。
■一つはアウトプットログウインドウから入力する事です。
アウトプットログウインドウは

Window ⇒ Developer Tools ⇒Output Log


で表示されます。


アウトプットログウインドウの下の入力欄からコンソールコマンドを入力出来ます。


■もう一つの方法はホットキーを押して、コンソールコマンド入力欄を表示させます。
ちなみにコンソールコマンドのホットキーは日本語キーボードでは割り当てられていないので、
プロジェクト設定でバインドする必要があります。

Edit ⇒ Project Settings ⇒ Engine ⇒ Input


を選択します。




Console欄のConsole Keysの行にある+ボタンをクリックして、ホットキーを追加します。
ホットキーが追加されたら▼ボタンをクリックして、リストから@キーを選択します。




これでプレイ中に@キーを押すと、コンソールコマンド入力が可能になります。


コンソールコマンドに

t.MaxFPS 10


と入力すると、フレームレートの上限を10フレーム/秒に制限する事が出来ます。


一度コンソールコマンドを入力するとプレイからエディターに戻っても、その状態が維持されます。


フレームレートが10FPSに制限されました。
まるでPS3のFarCry3をプレイしている時のようなカクカク動作になりますw

ちなみにフレームレートをデフォルト設定に戻すには、

t.MaxFPS 0


と入力します。

尚、コンソールコマンドは主にデバッグ用(古いPCゲームではチートコード入力に使用していました)に使用される類のものなので、一時的なものです。
その為、プロジェクトを再起動すると、コンソールコマンドで入力したものは全てリセットされます。
プロジェクトを起動する度に、t.MaxFPSのコンソールコマンドを入力する必要があるので、その手間を省くには.iniファイルにコンソールコマンドを記入しておきます。

UE4をインストールしたフォルダにある

~\Epic Games\4.13\Engine\Config\ConsoleVariables.ini


を開きます。
(私はバージョン4.13をインストールしているので、4.13フォルダ以下のフォルダの.iniファイル指定しています。)


ConsoleVariables.iniを開いたら、

[Startup]


の下に
t.MaxFPS = 10
と追記します。

ちなみに
;[Startup]
と記載されている方は先頭に ;(セミコロン) が付いているので、ただのコメントです。
セミコロンが付いていない方の[Startup]の下に記載する必要があります。

これでプロジェクト起動時に自動的にt.MaxFPSのコンソールコマンドが実行されます。


フレームレート制限でGPUへの負荷が減りましたが、リアルタイムレンダリングしている事には変わりないので、
アクタやエフェクトが増えてくると恐らくフレームレート制限してもGPU負荷が増えて消費電力が増える可能性があります。
そんな場合はリアルタイムレンダリングを止める事も可能です(勿論プレイ中は出来ません)。

ビューポート左上の▼をクリックして、Viewport OptionsのRealtimeのチェックを外す

これでリアルタイムレンダリングしなくなります。

あと、ブループリントウインドウを開いたりペルソナウインドウを開くと別ウインドウで開かれるので、
デバッグ時にはビューポート画面とブループリントを同時に見れて便利なのですが、
別ウインドウで開いている間はビューポート画面のリアルタイムレンダリングが(Viewport Optionsで許可している場合)行われているので、
ブループリントウインドウ表示中もGPUに負荷がかかっています。
設計段階ではビューポートを平行表示させてリアルタイムで確認する事はあまり無いので、デバッグ時以外は別ウインドウで開かずタブ化する方法があります。
タブ化した場合はブループリント画面表示中はビューポートは非アクティブになるので消費電力が抑えられます。

タブ化する方法はWindowsのウインドウ操作と同じです。

ブループリントウインドウのウインドウバーをドラッグして、ビューポートのウインドウにドロップします。





■消費電力測定まとめ
PC環境:
 ・CPU:Intel Core i5-2400【TDP:95W】
 ・GPU:ASUS GTX750TI-PH-2GD5 【TDP:75W】
パターン 消費電力[W]
アイドル(UE4未起動) 60
リアルタイムレンダリング:OFF 71
FPS:0(制限無し) 111
FPS:60制限 90
FPS:30制限 74
FPS:10制限 67
ブループリント画面表示(タブ化) 71

FPS:10制限が最も低消費電力になっていますが、Windows10で動作させているので測定時にたまたまWindows10のバックグラウンド処理が極端に減っていただけだと思います。普通に考えたらリアルタイムOFFが一番処理負荷が少ないですからね。


【UE4】UE4動作時の各状態での消費電力を測定してみました

emotionサイトトップ >UE消費電力
emotionサイトトップ > UE消費電力 >【UE4】UE4動作時の各状態での消費電力を測定してみました


UE4動作時の各状態での消費電力を測定してみました。

動作環境は
・CPU:Core i5-2400(TDP:95W)
・GPU:ASUS GTX750TI-PH-2GD5(TDP:75W)
・ウインドウ解像度:1920x1080


UE4_wat.jpg
■1.ライティング表示
メインの画面です、ビューポートの表示設定をライティングした状態です。
消費電力:142[W]。

UE4_wat.jpg
■2.非ライティング表示
メインの画面です、ビューポートの表示設定を非ライティングした状態です。
ライティングは負荷がかかるので非ライティングにしたら多少は消費電力が下がると思ったのですが、全く下がりませんでしたw
消費電力:142[W]。


UE4_wat.jpg
■3.ワイヤーフレーム表示
メインの画面です、ビューポートの表示設定をワイヤーフレームした状態です。
非ライティングで消費電力が下がらなかったので同じく下がらないと思いましたが、流石に多少は下がりました。
消費電力:121[W]。

UE4_wat.jpg
■4.ライティング表示(ウインドウサイズを4分の1)
アンリアルエディターのウインドウを1920x1080から4分の1の、640x360くらいに変更してビューポートの3Dレンダリング画面を縮小した状態です。
GPUは負荷状態に大小関係無く、少しでも負荷がかかる状態になるとほぼ全力で動作すると聞いた事があります。
例えばGTX750TiでGTA5をプレイしても、20年前のQuake2をプレイしても消費電力は変わらないという噂…
なので、これも変化は無いと思っていましたが意外と下がりました。
3Dレンダリングの解像度が下がるとGPUの仕事量が減るのかな??
消費電力:119[W]。


UE4_wat.jpg
■5.ワイヤーフレーム表示(ウインドウサイズを4分の1)
3Dレンダリングの解像度が縮小しているので、ワイヤーフレーム表示にしても消費電力はそれ相応でした。
消費電力:113[W]。

UE4_wat.jpg
■6.ペイントツールをアクティブ
Windows10のペイントツールを起動して、ペイントツールをアクティブにした状態です。
バックにUE4のピューポートが表示されていますが、アニメーションしていないので、最後にレンダリングされた画面が表示されている状態です。
消費電力はかなり下がりました。
UE4を起動していない時と同じくらいです。
消費電力:56[W]。

UE4_wat.jpg
■7.4分割表示
4分割表示にするとビューポートのライティングする3Dレンダリングの解像度が下がるので、消費電力が多少下がりました。
消費電力:134[W]。


UE4_wat.jpg
■8.左画面表示(4分割の左上の画面のみ)
アニメーションしない静止画ワイヤーフレーム部分なので、消費電力はかなり下がりました。
消費電力:76[W]。


・メインウインドウ表示時
パターン 消費電力
■1.ライティング表示 142[W]
■2.非ライティング表示 142[W]
■3.ワイヤーフレーム表示 121[W]
■4.ライティング表示
(ウインドウサイズを4分の1)
119[W]
■5.ワイヤーフレーム表示
(ウインドウサイズを4分の1)
113[W]
■6.ペイントツールをアクティブ 56[W]
■7.4分割表示 134[W]
■8.左画面表示:4分割の左上のみ
(静止画ワイヤーフレーム)
76[W]



■別ウインドウ表示時
UE4_wat.jpg
■9.ペルソナウインドウ表示時
(3Dレンダリング有り、メインウインドウはライティング表示)
通常時と同じ消費電力でした。
理由は簡単で、ペルソナ等の別ウインドウ表示中もバックでUE4のメインウインドウのビューポートはいつも通りレンダリングしているからです。
OpenGLと違って表示されている部分だけがレンダリングされるので、他ウインドウで表示が被っていたら消費電力が下がると思っていましたが、バックでちゃんとレンダリングしている時は下がらないんですね。
消費電力:142[W]。

UE4_wat.jpg
■10.ブループリントウインドウ表示時
(メインウインドウはライティング表示)
上記内容と同様で、ブループリントウインドウ表示中もバックでUE4のメインウインドウで3Dレンダリングされる為、消費電力は下がりませんでした。
消費電力:142[W]。

UE4_wat.jpg
■11.ブループリント【イベントグラフ】ウインドウ表示時
(メインウインドウは静止画ワイヤーフレーム)
ブループリントウインドウに3Dレンダリングが無くて、バックのメインウインドウも静止画ワイヤーフレームにしているので、GPUの負荷がかなり抑えられてたみたいです。
かなり消費電力が抑えられました。
消費電力:76[W]。

UE4_wat.jpg
■12.ブループリント【ビューポート】ウインドウ表示時
(メインウインドウは静止画ワイヤーフレーム)
ブループリントウインドウのビューポート画面を表示した状態です。
3DレンダリングするのでGPUに負荷がかかっているので、イベントグラフと比べると消費電力が高くなりました。
消費電力:103[W]。

・別ウインドウ表示時
パターン 消費電力
■9.ペルソナウインドウ表示時
(3Dレンダリング有り、メインウインドウはライティング表示)
142[W]
■10.ブループリントウインドウ表示時
(メインウインドウはライティング表示)
142[W]
■11.ブループリント【イベントグラフ】ウインドウ表示時
(メインウインドウは静止画ワイヤーフレーム)
76[W]
■12.ブループリント【ビューポート】ウインドウ表示時
(メインウインドウは静止画ワイヤーフレーム)
103[W]


UE4はレベルデザインしている時やブループリントの動作チェックの時くらいかメインウインドウのビューポートで3Dレンダリングしている必要は無いので、
ブループリントのイベントグラフでコーディング(コーディングと言っていいのかは微妙ですがw)中は、メインウインドウは静止画ワイヤーフレームにしていた方が省エネですね。
それから離席する時はUE4を最小化したり別アプリケーションをアクティブにしておいた方が電力浪費しなくて済みます

あとはビューポートの解像度が大きい程GPUに負荷がかかるので、4Kの場合はもっと消費電力が大きくなりそうです。
4Kモニターを購入するような人は消費電力の省エネなんて考えないかもしれませんがw





スポンサーリンク
カテゴリ
OS (5)
Web (7)
CPU (16)
GPU (35)
GA2 (2)
GTA5 (18)
リンク
Unreal Engine
UE4_logo.png

無料化したゲームエンジンです。ミドルレンジクラスのGPUが必須ですが、GTX750Tiでも軽快に動作します。
ueHow
unityHow
Steam
steam.png
Valve Corporationが運営しているプラットフォームで、PCゲームをダウンロード購入出来ます。 不定期ながらだいたい四半期毎と10月の米国感謝祭と年末に大幅割引セールが行われるので、セール中に購入するのがおススメ。
RSSリンクの表示


スポンサーリンク