「Next(次の問題へ)」ボタンを押してから画面が更新されるまでに 0.7秒ほどの遅延がありました。
体感で「もたついている」と感じられる程度です。
特に Android の古い端末で顕著でした。
原因:画像データを探すのに時間がかかっていた
アプリに保存している350枚の画像が、1つの巨大なファイルの中に全部詰め込まれていました。
ボタンを押すたびに「その画像はこのファイルのどこにあるんだ?」と探すのに、毎回スキャンしていたわけです。
350枚目の画像を探すときは、最初から最後までチェックする必要があるため、時間がかかっていました。
解決策:1枚ずつ分けて保存した
画像を「1ファイル=1枚」に分割しました。探すのが簡単になりました。
結果:745ms → 1〜16ms に短縮
改善前改善後Next 表示時間745ms1〜16ms体感「遅い」ほぼ瞬時
750倍以上速くなりました。
旧方式:250枚をES3*の1ファイルに保存 → 毎回全体をスキャン
新方式:1枚ごとにファイル分割 → 直接アクセス
余計な処理(解析・検索)を捨てて、必要なデータに直行するようにしただけです。
学んだこと
データは「形」が大事。
同じ情報量でも、構造が違うと処理時間が劇的に変わります。
ES3*とは
「Easy Save 3(ES3)」は、Unityゲーム内のデータ保存(セーブ・ロード)や通信を圧倒的に簡単にするツールです。