簡體   English   中英

glReadPixels()Opengles中的內存泄漏?

[英]glReadPixels() memory leak in opengles?

我遇到glReadPixels內存泄漏問題。請參見附件 屏幕截圖

注意標有紅線的區域。malloc空閑對內存還可以,但是glReadPixels分配了額外的3M內存,我已經從doc中讀取了glReadPixels官方文檔

其中沒有提到glReadPixels的任何內存分配信息。 那么,glReadPixels是否真正分配了內存。如果是這樣,如何釋放它?

看到單個調用期間的內存增加量還遠不能證明內存泄漏。 在許多情況下,報告的可用內存不會回到原始值,而不會發生任何錯誤。 例如,正如@derhass在評論中已經建議的那樣,驅動程序可能正在分配尚未釋放的緩沖區,或者有意保留該緩沖區以備后用。 根據內存使用情況的測量方式,內存管理系統也可能不會在釋放內存時不將頁面返回給操作系統,而是將其保留以供將來分配。

如果需要更多結論性數據,則需要重復該操作。 嘗試循環執行同一件事幾千次,然后觀察一段時間內的內存使用情況。 如果它逐漸增加,您就有理由相信可能確實存在內存泄漏。 最好畫一個圖。 如果在壓力測試期間內存使用量最初增加,然后趨於平穩,則可能一切正常。 如果在整個測試過程中線性增加,則很可能發生內存泄漏。

暫無
暫無

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

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