2017/08/27(日) [n年前の日記]
#2 [python][cocos2d][raspberrypi] Raspberry Pi3上でPython + cocos2d を動かしてみたけれど
Raspberry Pi3上で、Python + cocos2d のスクリプトを動かしてみたり。
もっともこれは当然らしく。Raspberry Pi3 はデフォルト状態だとOpenGLをハードウェアで処理せず、ソフトウェアで処理しちゃうのだとか。そりゃ遅くて当然。
ただ、開発中の OpenGLドライバもあるそうで、sudo raspi-config で設定を変更すると、まだ不安定ながらOpenGLドライバが使えるようになる模様。と言っても、ディスプレイをHDMIで接続してない環境では画面が映らなくなったり等、なんだか怖いことが起きるらしいけど…。
- BG x 2枚 + スプライト x160枚を描画してみたら、1〜2FPSだった。あかんわ。
- スプライトを160枚描画するだけでも10FPS前後。
- スプライト1枚 + ラベル1つを拡大縮小させただけでも20FPS。
もっともこれは当然らしく。Raspberry Pi3 はデフォルト状態だとOpenGLをハードウェアで処理せず、ソフトウェアで処理しちゃうのだとか。そりゃ遅くて当然。
ただ、開発中の OpenGLドライバもあるそうで、sudo raspi-config で設定を変更すると、まだ不安定ながらOpenGLドライバが使えるようになる模様。と言っても、ディスプレイをHDMIで接続してない環境では画面が映らなくなったり等、なんだか怖いことが起きるらしいけど…。
◎ GLドライバを有効化。 :
以下を参考に作業。
_Raspberry Pi2 の X11 で OpenGL のハードウェアアクセラレート - その1- | Raspberry Pi
_Raspberry Pi メモ (48) Raspberry Pi2 で Blender を使う
_Raspberry Connect - Trying out OpenGL on Raspberry Pi 3
G3 Legacy を選べば、元々の OpenGLダメダメ状態(ソフトウェアで処理する状態)に戻る。
OpenGL でギアを表示して描画パフォーマンス等を確認できる模様。
OpenGLドライバを有効にした状態で Python + cocos2d を試してみたら、5〜6 FPSになった。1〜2FPS と比べたら少しは改善したけれど、やっぱり話にならない…。しかもなんだかエラーが出てる…。libGL error とか、MESA-LOADER: failed to retrieve device information とか…。
Raspberry Pi上で、60FPSで動く2Dゲームを気軽に作れる環境がないものかと期待して触り始めたけど。どうやら Python + cocos2d ではダメっぽいな…。
_Raspberry Pi2 の X11 で OpenGL のハードウェアアクセラレート - その1- | Raspberry Pi
_Raspberry Pi メモ (48) Raspberry Pi2 で Blender を使う
_Raspberry Connect - Trying out OpenGL on Raspberry Pi 3
sudo raspi-configAdvanced Options → GL Driver を選んで、
G1 GL (Full KMS) OpenGL desktop driver with full KMS G2 GL (Fake KMS) OpenGL desktop driver with fake KMS G3 Legacy Original non-GL desktop driverG1 か G2 を選べば有効になるっぽい。Full と Fake の違いは今一つ分からず…。以下の違いぐらいしか把握してないけど。
- Full を選ぶと解像度を選べない。また、HDMI接続されたディスプレイから音が出ない。
- Fake を選ぶと解像度を選べる。また、HDMI接続されたディスプレイから音が出せる。(スピーカがついてるなら、だけど。)
G3 Legacy を選べば、元々の OpenGLダメダメ状態(ソフトウェアで処理する状態)に戻る。
OpenGL でギアを表示して描画パフォーマンス等を確認できる模様。
sudo apt-get install mesa-utils glxgearsglxgears を動かしたら60FPS前後が表示された。
OpenGLドライバを有効にした状態で Python + cocos2d を試してみたら、5〜6 FPSになった。1〜2FPS と比べたら少しは改善したけれど、やっぱり話にならない…。しかもなんだかエラーが出てる…。libGL error とか、MESA-LOADER: failed to retrieve device information とか…。
Raspberry Pi上で、60FPSで動く2Dゲームを気軽に作れる環境がないものかと期待して触り始めたけど。どうやら Python + cocos2d ではダメっぽいな…。
[ ツッコむ ]
以上です。