色々事情があって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 件のコメント:
コメントを投稿