Open tor4kichi opened 2 years ago
遅くなってる原因は各Archive実装の実装上、IArchive.Entiresプロパティにアクセスした時点で全件取得処理が入るからと見受けられます。(内部的にLoadEntriesで全部取っている)
回避するには、IReaderをReaderFactory等で作成して、イテレーション動作が最小限になるよう自前で管理すれば、ほとんどのケースで開くまでの体感時間の改善はできそうです。
ただし、ツバメビューアの都合上、フォルダ単位の移動のためにフォルダ構造を把握しなければならないため、少なくとも初回は全件走査が必要です。あるいはフォルダ単位の移動がリクエストされた時点で全件取得を行うようなUIも組み合わせた工夫が必要となりそうです。
ArchiveImageCollectionContextが常に全件列挙を必要とする実装が動作高速化のボトルネック。
現状、全件列挙が必要となってる要件としては
の2つがある。さらに実用上としては、