5
我必須用cairo渲染一個非常大的圖像(>50.000²像素)。要做到這一點而不會耗盡內存,我會逐一渲染部分圖像(<1.000²像素),並稍後將它們合併在一起。開羅的大圖像
- 創建1000×1000的表面
- 轉換爲當前零件的位置
- 繪製圖像(調用使用pycairo繪圖指令)
- 渲染/保存圖像文件(cairo_surface_write_to_png)
- 重複與未來部分
因爲cairos裁剪算法比我自己快,第三步繪製整個圖像,即使只有一部分是可見的。大多數CPU在步驟3中使用(通過python)。大部分內存在步驟4中使用(由cairo開發)。
有沒有辦法加快速度?像這樣?
- 創建1000×1000的表面
- 繪製圖像
- 將一切當前部分
- 的位置渲染/保存圖像文件
- 重複3下一部分
或
- 創建50000x50000表面
- 繪製圖像
- 渲染/只保存圖像的當前部分文件
- 重複3下一部分
另一種語言不是一種選擇,也不能解決問題,但write_to_png_stream是一個好主意。謝謝 – defnull 2009-03-05 14:42:21