あるePubファイルの読み込みに一分以上かかると聞きました。
「あれ?僕のファイル、そんなにかからないけどなぁ。ちょっと原因調べてみるか」
ということで、調べてみたところ、面白いことがわかったのでまとめてみます。
■まずは動画をご覧あれ
上記動画で全てですが、簡単に文字でご紹介します。
■今回使ったファイルは普通の小説相当のサイズ
一番読み込み時間に影響するのはHTMLのデータ量と思われます。
今回使った「吾輩は猫である」は1.5MByteでした。
■iBooksの読み込み処理を理解する
iBooksは、動きを見ていると
- 初回の場合
- まずは最初のページを表示する
この時は、読み込み進捗度合いが表示されません - 表示できたら、本全体のページを計算する
この時は、読み込み進捗度合いが表示されます
- まずは最初のページを表示する
- 二回目以降の場合
- 前回表示していたページを表示する
この時は、読み込み進捗度合いが表示されません
- 前回表示していたページを表示する
ここで、「ページを表示する」ために、
ページを含んだHTMLファイルを全て読み込みます。
つまり、HTMLファイルが大きいと、ここですごく時間がかかる上、
読み込み進捗が表示されないため
読者は「バグった!?」と思ってしまいます。
ちなみに、全ページ計算時間は
本全体の文章量に依存するため、今のところあまり差はないようです。
■読み込み時間を比較する
ちなみに、どれぐらい変わるのか、ということを確認しました。
作成方法 | 初回起動時 (本をクリックしてからページ計算が完了するまで) | 二回目以降 (iBooksをクリックしてから読み込みが完了するまで) |
全文章を1つのHTMLに入れる | 1分55秒 | 1分06秒 |
章ごとに分ける (1ファイルあたり約200kByte) | 1分01秒 | 0分11秒 |
正直、分割しないのはありえないと思います。
■ePubを作る際、HTMLはできるだけ小さくしよう
読み込みに時間がかかるということは、
「読むのを再開することがすごくおっくうになる」ということです。
つまり、ユーザ利便性が大きく低下するということ。
特に、モバイル向けのiBooksにとっては致命的です。
(移動中にちょっと読む、というニーズもあるため)
できるだけ、ePubを作る際、HTMLは小さくなるように意識しましょう。
例えば、章や節ごとにHTMLファイルを作成する、とかね。
0 件のコメント:
コメントを投稿