2011-08-19 4 views
0

내 응용 프로그램에서 CGContextDrawPDFPage 클래스를 사용하여 아무런 문제없이 PDF를 렌더링하고 있습니다. 그러나 책을로드하는 데 걸리는 시간은 조금 더 길며 페이지를 렌더링하는 데 걸리는 시간은 PDF의 페이지 수에 비례합니다.iPad에서 PDF로드 중

필자의 경우 PDF는 500 페이지에서 1000 페이지 사이의 아무 곳에 나 저장할 수 있습니다. 이로 인해 내 PDF 로딩 시간이 증가하고 있습니다. 사용자 경험 측면에서 볼 때 첫 번째 페이지를 렌더링하는 데는 거의 10 초 정도 걸립니다. 그리고이 시간은 책을 처음로드하는 동안에 만 취해집니다. 제 의견으로는 지연은 PDF 전체를 한 번에 읽으 려한다는 사실에 기인합니다.

PDF를 처음으로 렌더링하는 시간이 단축되도록 부분별로 PDF 부분을 읽을 수있는 방법이 있습니까?

감사합니다.

+0

투표 해 주셔서 감사합니다. 그러나 설명이나 의견이 조금 나와도 이해가됩니다. 내 질문을 개선하는 데 도움이 될 수 있습니다. –

+0

아니요, 충분하지 않습니다. CGPDFDocumentRef는 데이터이며 렌더링하지 않습니다. CGContextDrawPDFPage가 렌더링됩니다. –

답변

1

악기를 사용하여 시간을 확인한 적이 있습니까?

+0

아니 데이비드 ...하지만 내 질문에 언급 한 것처럼, 나는 PDF의 크기가 여기에 몇 가지 문제를 일으키는 것 같아요 ... PDF를 렌더링하는 데 걸린 시간은 그 크기에 직접 비례합니다. –

+0

그것은 당신을 데려 갈거야 악기를 사용하려면 5 분이 적당합니다. 당신이 통제 할 수없는 것을 가리킬 수도 있지만, 그것은 종종 매우 통찰력이 있습니다. –

1

무거운 프리 캐싱을 사용하여 문제를 해결하는 것이 좋습니다. 내 경험상, PDF (종횡비 자료, 주석 등) 분석에는 다소 시간이 걸립니다. 그리기도 느립니다.

나는 즉시 이미지를 미리 생성하고 가능할 때마다이를 보여줌으로써 이것을 해결했습니다. 물론 이것은 까다 롭습니다. 화면을 동시에 표시하려고 시도하지 마십시오. 복잡한 PDF를 그리는 동안 메모리 사용량이 규모에 미치지 않으며 동시에 두 작업을 수행하면 응용 프로그램이 손상 될 수 있습니다.

+1

나는 너의 연결 광기를 보았다. .. itz 아무것도 끝내는 것보다 적게. .. 우리는이 이슈를 논의하고 있고, 그것을 abt에게 곧 알릴 것이다. .. :) –