簡體   English   中英

CGPDFDocument線程

[英]CGPDFDocument threading

Apple的文檔提到必須手動處理對PDF的quartzcore渲染進行線程化。 有沒有人實現過多核PDF渲染,或者有任何想法可以如何減輕渲染工作的負擔,以將線程分開或將文檔分成頁面塊,然后按照文檔說明將其分配給單獨的內核? 目前我的應用程序在大約1.5秒內加載大型PDF,但多線程可以大大減少時間(哈哈)。

如您所知,文檔明確指出“不支持將PDF文檔的各個頁面分發到單獨的線程。如果您想使用線程,請考慮為每個線程創建一個單獨的文檔,並在每個線程的一個頁面塊上運行。” 盡管要使本指南適應GCD,您要做的是為每個“頁面塊”創建一個串行隊列(當然,塊大小可以為“一頁”),然后通過提交來創建和操作單個CGPDFDocumentRef塊到各自的隊列。 通過使給定CGPDFDocumentRef的獲取器也使用帶有dispatch_sync的相同隊列來獲取值來保護數據結構,然后連接UI以呈現文檔的任何給定頁面(或整個文檔)只是一個簡單的問題通過跨越各個塊,使其看起來仍然是代碼其余部分的一個大文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM