電子紙閱讀器的PPT格式引擎設計和優(yōu)化
3.6 圖像渲染
圖像渲染器采用Cximage圖像庫把圖像數(shù)據(jù)重構(gòu),并進一步轉(zhuǎn)化成灰度圖像放入屏幕緩沖區(qū)。
文件中圖像和多媒體信息存儲在圖像流中,通過FBSE(File Blip Store Entry)描述。于是定義了結(jié)構(gòu)體:
本文引用地址:http://m.butianyuan.cn/article/166214.htm
4 優(yōu)化提速
用戶總是希望系統(tǒng)越快越好,但是嵌入式系統(tǒng)受主頻較低、內(nèi)存較小的限制,對于一些計算量比較大的工作,很難達到理想的效果。于是本解析引擎在應用了多頁面緩沖機制和異步并行機制的優(yōu)化策略。
各渲染器異步并行地工作,第一個完成任務的渲染器立即把數(shù)據(jù)提交給屏幕顯示。電子紙整屏刷新速度為1 s,利用這個刷屏間歇,其余渲染器完成任務,再采用局部刷屏的方式把增量部分刷新到屏幕上。這樣整體速度取決于渲染速度最慢的那一個。此外,異步執(zhí)行不阻塞輸入,如果這時用戶翻頁,未完成解析線程會被終止,并建立新線程來解析下一頁。例如:打開一頁圖文混排的幻燈片,打開時先顯示文字,隨后顯示出圖像,并且不會阻塞用戶輸入,假如用戶快速連續(xù)翻若干頁后停止,中間頁解析會被終止。
5 驗證
在主頻200 MHz的電子紙閱讀器上實現(xiàn)效果如圖4所示。
隨機選擇60個樣本文件,進入書籍最短時間2.82s,最長11.92s,如圖5所示。
解析引擎采用分層裝載方法,提高了打開書籍速度,這里選擇了3個第一頁完全相同但是大小差別較大的PPT文檔。實驗表明,雖然文檔大小差別很大,但是打開速度差異不大。如表2所列。
結(jié)語
由于電子紙的特性和嵌入式設備的資源限制,本文僅僅聚焦在常用元素的解析上,如文字、圖形、圖像、表格等,而對于嵌入對象(如視頻、音頻等)沒有支持。對于未知元素的解析將成為未來的主要工作。本文模塊化的設計架構(gòu),有利于下一步進行功能擴展,另外,隨著Office開放文檔格式(OOXML)的誕生并成為國際標準,未來將開發(fā)支持OOXML的嵌入式解析器。
評論