Skip to content

cooViewer 2.0b35

Pre-release
Pre-release

Choose a tag to compare

@shunnag shunnag released this 08 Sep 22:38
· 83 commits to master since this release

EPUB の検索ジャンプで使うメモリを大きく減らしました

EPUB 対応の Washi を 1.16.4 に更新しました。今回は EPUB のメモリ使用量の改善が中心です。

変わること

  • 長い章で検索ヒットへジャンプしたあとのメモリ使用量が 4.6 分の 1 になります。
    1 章が 1 ファイルになっている本や、全文が 1 つの XHTML に入っている本では、
    ジャンプのたびに本文表示プロセスのメモリが増えたままになっていました。
    27 万文字の章で実測 78MB → 17MB です。数百ページ級の本を検索しながら読むときに
    効きます。

    内部的には、本文の 1 文字ごとに小さなオブジェクトを作って持っていた対応表を、
    型付き配列で持つように書き換えました。表示される本文・選択範囲・ハイライト位置は
    変わりません(27 万文字の全域で従来と完全一致することを確認しています)。

  • EPUB を組み込んで使う開発者向けに、handlesKeyboardNavigation を false にした
    ときの未処理キーを responder チェーンへ返せる API を追加しました(Washi 1.16.3)。
    cooViewer 自体の動作は変わりません。

そのほか

  • 書庫エンジンは 2.0b34 と同じく KaitoKit が既定です。