2024/03/17(日) [n年前の日記]
#1 [prog] C言語とOpenGLで疑似3D道路の描画実験中。その4
Windows10 x64 22H2上で、C言語 + OpenGL 1.1 + glfw を使って実験中。疑似3D道路を描画してみたい。
C言語で書いた疑似3D道路を描画するプログラムを、省電力CPUを載せてるサブPC上で動かしてみた。
メインPC (AMD Ryzen 5 5600X + GeForcet GTX 1060 6GB) で動かすと60FPSで描画できるプログラムなのだけど、サブPCで動かしてみたら、30 - 37FPS しか出なかった。厳しい…。CPU使用率は18%とかその程度だけど、GPUの使用率は85%以上になってる。内蔵GPUのスペックの低さが足を引っ張てるようだなと…。
ビルボードを一切描画せず、道路と背景だけを描画するプログラムを動かしたら滑らかに動いてしまったので、大量のビルボード群の描画で一気にGPU負荷がかかってる模様。大量と言っても、描画してる道路のセグメントが200個程度で、1セグメントにつき1枚だけビルボードを描画している状態だから、200枚より少ないのだけど。描画面積が厳しいのかな…。
とは言え、1920x1200の解像度でこのぐらい描画できてるのだからマシなほうかも。HSP + CPUのソフトウェア処理で描画させると、ベロン…ベロン…な感じのフレームレートになるし。さすがOpenGL。ハードウェア描画って速いなと…。
とりあえず、1フレームでかかった時間を、カメラの移動速度に反映させてみた。画面の書き換えはガタガタしてるけど、移動速度はさほど不自然ではなくなった。
C言語で書いた疑似3D道路を描画するプログラムを、省電力CPUを載せてるサブPC上で動かしてみた。
- CPU : AMD Athlon 5350 (2GHz, 4C/4T, TDP 25W)
- GPU : 内蔵GPU (Radeon R3, GCN)
- RAM : 4GB
- OS : Windows10 x64 22H2
- 画面解像度 : 1920 x 1200。
メインPC (AMD Ryzen 5 5600X + GeForcet GTX 1060 6GB) で動かすと60FPSで描画できるプログラムなのだけど、サブPCで動かしてみたら、30 - 37FPS しか出なかった。厳しい…。CPU使用率は18%とかその程度だけど、GPUの使用率は85%以上になってる。内蔵GPUのスペックの低さが足を引っ張てるようだなと…。
ビルボードを一切描画せず、道路と背景だけを描画するプログラムを動かしたら滑らかに動いてしまったので、大量のビルボード群の描画で一気にGPU負荷がかかってる模様。大量と言っても、描画してる道路のセグメントが200個程度で、1セグメントにつき1枚だけビルボードを描画している状態だから、200枚より少ないのだけど。描画面積が厳しいのかな…。
とは言え、1920x1200の解像度でこのぐらい描画できてるのだからマシなほうかも。HSP + CPUのソフトウェア処理で描画させると、ベロン…ベロン…な感じのフレームレートになるし。さすがOpenGL。ハードウェア描画って速いなと…。
とりあえず、1フレームでかかった時間を、カメラの移動速度に反映させてみた。画面の書き換えはガタガタしてるけど、移動速度はさほど不自然ではなくなった。
[ ツッコむ ]
以上です。