2013年12月2日月曜日

Flexでゲーム開発するならuse-gpu=trueを設定しないといけない

色々事情があってAdobe Air/Flex環境でゲームを作っていたところ、描画にCPUリソースを使いまくることに気づいた。埋め込みSWFなんかをそこそこの大きさで描画するとすぐに50%くらいCPUを消費してしまう。
どうもコンパイラオプションにuse-gpu=trueを設定しないと描画がすべてCPUで行われてしまうらしい。
Air/FlexでStarlingも使わずにゲーム開発なんてなかなかしないだろうからか、そういった情報が全然なかったのでだいぶ悩んだ。

Flexの設定ファイルに記述するrenderModeについては多く情報が存在する。
しかしrenderModeにgpuを設定するだけでは無駄で、コンパイラオプションを設定しない限りGPUが使われることはない。

GPUを使う場合は色々制約があり、下記に記載がある。
http://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-7ffd.html

その他、あまり理解していないがuse-direct-blitというオプションもGPU描画に関連しているらしいのでtrueにしておくと高速化されるかもしれない。

コンパイラオプションの一覧(英語)
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html


0 件のコメント:

コメントを投稿