我維護一個軟件包,可以自動攝取數據。導入原始數據時,將繪製原始數據並將一些數據圖形保存到磁盤。不幸的是,print
函數大大降低了我的性能。在Matlab中優化打印功能
下面是代碼性能的擊穿
我的執行時間Script Time
myscript 9.091s
uichoosefile 3.567s
print 4.178s
legend 0.751s
只有大約3/4S是真正的處理時間和print
是最大的timesink這裏。
內print
兩條線佔用的時間
Line Code Time
212 pj = pj = alternatePrintPath(pj); 3.173s
148 drawnow; 0.751s
如何創建的print
的優化版,不被這兩條線的瓶頸幾乎是100%?諸如降低圖形分辨率的簡單優化例程是不可取的。
'print'是一個很大的功能,可以做很多事情。你打電話過得怎麼樣?請提供示例代碼來演示您正在嘗試執行的操作。 – horchler
此時你是否需要將圖形保存爲光柵格式(PNG,JPG或者是否導出它們),或者您可以將.fig文件保存爲hgsave並將其推遲到後期階段? – txpaulm
@txpaulm不幸的是我沒有限制矢量或光柵格式的豪華。當數據被攝入時,客戶的配置文件也被取消,其中指定了其數據,PNG,PDF,SVG,EPS等的交付格式。PDF + PNG是最典型的情況。打印在執行過程中發出命令時很麻煩,所以我不相信推遲保存是非常可行的;它可能會中斷,例如,操作員在保存程序中點擊。 –