0

CGContextDrawPDFPage クラスを使用して、問題なくアプリで PDF をレンダリングしています。ただし、本の読み込みにかかる時間はもう少し長く、ページのレンダリングにかかる​​時間は PDF のページ数に比例します。

私の場合、PDF には 500 から 1000 ページのどこにでも含めることができます。このため、PDF の読み込み時間が長くなります。最初のページをレンダリングするのに約 10 秒かかりますが、これはユーザー エクスペリエンスの面で非常に悪いことです。そして、この時間は、最初の本のロード中にのみ取られています. 私の意見では、遅延はPDF全体を一度に読もうとしているという事実によるものです。

PDF を最初にレンダリングする時間を短縮するために、PDF を部分的に読み取る方法はありますか。

ありがとう。

4

2 に答える 2

1

Instrumentsを実行して、時間がどこで費やされているかを確認しましたか?

于 2011-08-19T17:36:01.530 に答える
1

問題を解決するには、大量のプリキャッシングを使用することをお勧めします。私の経験では、PDFの分析(アスペクト比や注釈など)には時間がかかります。描画も遅いです。

私はその場で画像を事前に生成し、可能な限りそれらを表示することでこれを解決しました。もちろん、これも注意が必要です。たとえば、画面のオンとオフを同時にレンダリングしようとしないでください。複雑なpdfを描画する際のメモリ使用量はスケール外であり、2つの操作を同時に実行するとアプリがクラッシュする可能性があります。

于 2011-08-26T11:31:48.290 に答える