簡體   English   中英

Lumia Imaging SDK v3內存問題

[英]Lumia Imaging SDK v3 memory issues

我正在使用Lumia Imaging SDK v2在我的應用程序中壓縮和裁剪圖像。 最近我們遇到了與壓縮和裁剪.wdp格式圖像有關的問題; JpegRenderer.RenderAsync()反復崩潰該特定格式類型。

為了解決這個問題,我們升級到SDK v3 ,但是在對應用程序進行內存分析時,我發現SDK v3中的內存使用率遠遠高於SDK v2 (參見附件截圖)。

SDK v2內存分析: SDK v2內存分析

SDK v3內存分析: SDK v3內存分析

v2的峰值最大值為55 MB但在v3中峰值達到> 160 MB v2我使用StorageFileImageSource將圖像加載到內存中。 v3我使用BifferImageSource來做同樣的事情。 我也使用using語句來處理實現IDisposable數據類型。

v3觀察到這種內存膨脹的原因是什么? 我能以任何方式避免它嗎? 另外,有沒有辦法在v2呈現.wdp格式的圖像?

在GPU上處理時,Lumia Imaging SDK 3.0使用的內存大於2.x(僅2.x上存在CPU處理)。 這里的不同之處在於CPU將同時處理整個圖像,因此不要使用平鋪 - 至少不是在RAJPEG意義上,因此您需要同時在內存中使用整個圖像資源。

要實現2.x級別的內存性能,您可以在渲染上設置僅CPU渲染。 請注意,這也會禁用GPU帶來的性能提升。

看一下[Renderer] .RenderOptions屬性。 在這種情況下,將其設置為RenderOptions.OnlyCPU。

我強烈建議閱讀有關更改RenderOptions的所有文檔,因為它會帶來一些非明顯的副作用。

暫無
暫無

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

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