我正在將大量數據打印爲.png文件。每張圖都是數據矩陣中一列的圖,我將這些.png文件串在一起成爲一個動畫。爲什麼在打印大量(.png)數字時MATLAB會變慢?
我的問題是,前幾百張圖像打印速度很快,但創建每個新圖的時間量迅速增加,從前幾百個.png文件的大約0.2秒到大約第800個處的2秒或更長數字。
腳本運行期間內存使用量增加,但每隔幾秒左右只增加1MB。這是在Windows上運行R2009b 64位。
我的代碼看起來是這樣的:
n = 1000;
matrix = rand(n);
f = figure('Visible','off'); % create the figure
for i_ =1:n
plot(1:n,matrix(:,i_));
ylim([0 1]);
set(f,'PaperUnits','inches','PaperPosition',[0 0 6 4]);
png_name = [ 'img/timestep_' sprintf('%05d',i_) ];
print('-dpng', png_name);
end
你一次只能做500個嗎?有一個服務,將重新啓動您的應用程序? – 2012-04-05 16:12:07
我無法強調這一點...... MATLAB內置了一個美妙的分析器,您應該定期使用它。分析有助於識別許多此類問題。 – linuxuser27 2012-04-05 17:39:08