祝!ツクールアップデート!!!
コアスクリプトにDiffかけてななめ読みしました!!
ツクラーさん向けとエンジニア向けに分けたいと思います。
ツクラーさん向け
描画が速くなりました
特にマップ描画が圧倒的に速くなりました。
モバイル時には変わってないですが、URLに?webgl
をつけると強制的にWebGLモードになります。お試しあれー。
ただし、TerraxLighting等、見た目を大幅に変えるプラグインを使ってる場合逆に遅くなることもあります。
メモリブロートはほぼ解消です
ピクチャを多用したときに気になる、メモリブロート。一定時間使われないと、メモリから消える処理が追加されましたのでモバイル時にも安心です。
注意:プリロード系はデメリットが大きくなります
プリロード系は、使われない画像がメモリから消えちゃうので、逆に重くなる可能性があります。
内部構造がそこそこ変わってます
特にタイル描画実装がまるまるかわってるため、そこをいじってるプラグインは動作しない可能性が高いです。ご注意!
エンジニア向け
tilemap描画がGPUに最適化
やってくれたか!といった感じです。内部構造まったく変わってますが、恩恵は大きいです!!MVチームGJ!!!
TTLベースのCacheシステムが搭載されました
長く使われないリソース類はリンクを切り、GCに任せます。
例のごとく長く握ってるせいでFullGCじゃないとなかなか解放されませんが、ないより圧倒的に良いです。
コアメソッドが増加&内部実装が変更されています
プラグイン作者の方はご注意!特にメソッド上書きして元メソッド呼んでないという、お行儀の悪いコード書いてたら動作しない……なんてこともあるあるです!!
今後必要そうなプラグイン(誰か作って!!)
WebGL対応ライティング
人気プラグイン、TerraxLightingはAndroidでは動作不能レベルで重くなります。
ヘビーにリライトした、内部実装をなるべく尊重したモバイル対応プラグインを作ってはいるのですが、それだけ頑張ってもFPSが2/3くらいになってしまいます。
shaderを使った、WebGL時代にふさわしいライティングプラグインがあったらうれしいですね!!
IndexedDBを利用したプリロード
Cacheシステムが刷新されたことにより、オンメモリにすべて突っ込むことはできなくなります。
既存のプリロードは大体メモリにつっこんでるので、IndexedDBに画像データを保存して、取り出してデコードする方法をとるプリロードがあればよさそうです!
Windowの実装のチューニング
WindowはCanvasをボコスカ作るので、かなりメモリにやさしくないです。特にテキスト描画はPIXI本体に存在しますし、このあたりチューニングしたらよい感じになりそうですね!!