2018/01/04(木) [n年前の日記]
#3 [raspberrypi] Raspberry Pi Zero W + love2d でフルHD表示した場合のフレームレートについて
Raspberry Pi Zero W + love2d で、640x480 の Canvas を、1920x1080の画面解像度でフルスクリーン表示した場合、フレームレートが45FPSとかそんな感じになるあたりが気になって色々弄って試してたのだけど。
どうやら、640x480の Canvas に、BGを3枚表示しちゃうとそのくらいのフレームレートになるけれど、BGを2枚表示すると57〜60FPSぐらいに改善されるようだなと…。もしや Shader で処理を食ってるのではないかと想像してたけど、Shader の使用・未使用はそれほど関係なかった。意外と、Canvas に描画していく際に処理時間がかかっているらしい。
であれば、例えばメガドライブと似たようなスペックと仮定して、「BGは2枚まで」と決めてから作るほうがいいのかもしれないなと…。まあ、PCエンジンやファミコンはBGが1枚だったのだから、2枚使えるだけでも御の字やん、という気もするし。
それとも、スプライト相当の表示に使ってるテクスチャ画像を、個別に読み込んでいるあたりがいかんのだろうか。全部まとめて切り出して描画するほうが速くなったりするのかな。でも、そういう作りにすると、気軽に作れない感じになりそうな。
まあ、フレームレートが不安定・可変フレームレートであることを前提にしながら作っていたりもするので、どうしても60FPSが出ないと…てなわけでもないのだけど。
どうやら、640x480の Canvas に、BGを3枚表示しちゃうとそのくらいのフレームレートになるけれど、BGを2枚表示すると57〜60FPSぐらいに改善されるようだなと…。もしや Shader で処理を食ってるのではないかと想像してたけど、Shader の使用・未使用はそれほど関係なかった。意外と、Canvas に描画していく際に処理時間がかかっているらしい。
であれば、例えばメガドライブと似たようなスペックと仮定して、「BGは2枚まで」と決めてから作るほうがいいのかもしれないなと…。まあ、PCエンジンやファミコンはBGが1枚だったのだから、2枚使えるだけでも御の字やん、という気もするし。
それとも、スプライト相当の表示に使ってるテクスチャ画像を、個別に読み込んでいるあたりがいかんのだろうか。全部まとめて切り出して描画するほうが速くなったりするのかな。でも、そういう作りにすると、気軽に作れない感じになりそうな。
まあ、フレームレートが不安定・可変フレームレートであることを前提にしながら作っていたりもするので、どうしても60FPSが出ないと…てなわけでもないのだけど。
[ ツッコむ ]
以上です。