次の問題を表示するのに 0.745s かかっていた

画像表示のある問題において、[次へ>]ボタンを押してから次の問題が表示されるまでに 0.7秒ほどの遅延がありました。


体感で「もたついている」と感じられます。


特に Android の古い端末で顕著でした。


原因:画像データを探すのに時間がかかっていた

画像の保存にはES3*というツールを使っています。

アプリに保存している350枚の画像を1つの巨大なファイルの中に全部詰め込む仕様にしていました。

ボタンを押すたびに「その画像はこのファイルのどこにあるんだ?」と探すのに、毎回スキャンするようです。

350枚目の画像を探すときは、最初から最後までチェックする必要があるため、時間がかかっていました。


解決策:1枚ずつ分けて保存した

画像を「1ファイル=1枚」に分割しました。探すのが簡単になりました。


結果:745ms → 1〜16ms に短縮

改善前改善後Next 表示時間745ms1〜16ms体感「遅い」ほぼ瞬時

750倍以上速くなりました。


旧方式:350枚をES3*の1ファイルに保存 → 毎回全体をスキャン

新方式:1枚ごとにファイル分割 → 直接アクセス


余計な処理(解析・検索)を捨てて、必要なデータに直行するようにしました。


学んだこと

データは「形」が大事。

同じ情報量でも、構造が違うと処理時間が劇的に変わります。


ES3*とは

「Easy Save 3(ES3)」は、Unityゲーム内のデータ保存(セーブ・ロード)や通信を圧倒的に簡単にするツールです。