【更新】AIRNovel&ANBooks更新:パフォーマンス改善・不具合修正

●AIRNovel更新 過去Ver等
5.63
* bug:5.62改修で、動作が変わってしまうのでレイヤ状態クリアは取りやめ
5.62
* upd:画像レイヤへの[lay]でfn・face指定されていても、ロード済fn・faceと同じなら「レイヤ状態のクリアだけして画像は再ロードしない」ように(パフォーマンス改善)
* bug:文字レイヤが無い場合に[reload_script]するとエラーになる不具合

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.104
* upd:AIRnovel 5.63に更新
5.103
* upd:AIRnovel 5.62に更新
* bug:【ビルド時にAIRNovelソースを最新に自動更新】オンオフが正常に動作していなかった不具合

●ANEdit更新(Windows版Mac版AIRFlash必須。※起動するだけで自動更新
0.145
* upd:AIRnovel 5.63に更新
0.144
* upd:AIRnovel 5.62に更新

 以下のように「画像レイヤへ[lay]でfn・faceに同じ値をセット」した際、それでも画像などをリロードするようにしていました。
 それをしなくなる修正です。
(この不具合は、同人サークル人工くらげの山科氏よりご指摘戴きました。有り難う御座いました!)

[call label=*sub]
;[stats]
&s = const.flash.utils.getTimer
[fg fn="pararel_small" layer=0 trs=0 left=0 top=0];背面レイヤに見せたい画像を配置します
[fg fn="white_400" layer=1 trs=0 left=0 top=0];その上に3枚の白い画像を配置して、背面を隠します
[fg fn="white_400" layer=2 trs=0 left=440 top=0]
[fg fn="white_400" layer=3 time=1 left=870 top=0]

;白い画像(レイヤ1〜3)を少しずつずらしていき、
;背面(レイヤ0)にある画像が少しずつ見えてくるようにします(ここで処理落ちが出ています)
;まずはレイヤ1を下にずらしていきます
[fg fn="white_400" layer=1 time=1 left=0 top=150];150pixelずつ下へ。以下同じ。
[wait time=10]

[fg fn="white_400" layer=1 time=1 left=0 top=300]
[wait time=10]

[fg fn="white_400" layer=1 time=1 left=0 top=430]
[wait time=10]

[fg fn="white_400" layer=1 time=1 left=0 top=570]
[wait time=10]

[fg fn="white_400" layer=1 time=1 left=0 top=720]
[wait time=10]
&e = const.flash.utils.getTimer
[title text=&e-s]

;以下、レイヤ2,3 も同様に、下へずらしていきます(省略)
[s]


*sub
[add_lay layer=base class=grp]
[add_lay layer=0 class=grp]
[add_lay layer=1 class=grp]
[add_lay layer=2 class=grp]
[add_lay layer=3 class=grp]

[event global=true key=f5 label=*reload_script cond="const.flash.system.Capabilities.isDebugger"]
[record_place]
; [record_place layer="base,0,1,2,3"]

;----------マクロ(関係するもののみ抜粋)------------------
; マクロ 前景レイヤ切り替え
[macro name="fg"]
[let name="trs" text=%trs|1];[trans]するかどうかの変数。trs=0なら[trans]しない

[img * layer=%layer|0]
[trans * layer="base,0,1,2,3" time=%time|500 cond="trs != 0"];レイヤbase〜3まで同時に[trans]
[wt canskip=false cond="trs != 0"]
[endmacro]

;-----------------------------------------------------------
; マクロ 画像レイヤ設定サブ
[macro name="img"]
[lay * page=back visible=true rotation=%rotation|0 scale_x=%scale_x|1 cond="mp:fn != null"]
[clear_lay layer=%layer page=back cond="mp:fn == null"]
[lay * page=back visible=false cond="mp:fn == null"]
[endmacro]
[return]

*reload_script
[reload_script]


 この不具合はある程度過去バージョンだと起こらず、
  ・2015年6月7日に生成した.air…処理落ちしない
   →多分 AIRNovel 5.17
  ・2016年2月21日に生成した.air…画像を表示する際に処理落ちする
   →多分 AIRNovel 5.61
という現象が起こっていました。

 上記スクリプト、タイトルにパフォーマンスの数値が出る(小さい方が早い)のですが、
AIRNovel 5.61 ── 1107、1135、1130
AIRNovel 5.17 ── 935、921、962
 と明確に違う数値が出て、安全側に振った処理でパフォーマンスが悪化していたようでした。
 当時のメモを見る限り、特に何かしらの問題があってこの「リロードしない」処理を寝かせたわけでは無いようなので、復活しつつレイヤクリアもするようにしました

 場所を動かすだけなら [lay layer=0 page=fore left=xxx] とか必要最小限の指定でよいので、ご参考までに。
スポンサーサイト
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ