簡體   English   中英

JOGL-監控GPU內存

[英]JOGL - monitor GPU memory

我正在尋找一些JOGL類/方法/示例來檢索總可用GPU內存和當前可用GPU內存的大小。

我知道可以使用OpenGlJOGL Java docs )完成。

您發布的鏈接使用NVidia專有擴展。 但是,考慮到現代GPU的運行方式,知道剩下多少“內存”絕對是沒有用的。 為什么?

因為OpenGL始終在抽象內存模型上運行。 單個數據對象(紋理,VBO)可能太大而無法容納GPU的工作內存,但是除了系統內存(CPU RAM)之外,您可以擁有多少個紋​​理和VBO幾乎沒有限制。 OpenGL總是按需交換內容。

自從具備OpenGL-4 / DirectX-11功能的GPU出現以來,它們集成了MMU,甚至數據對象大小的概念也變得毫無意義。 當今的GPU支持稀疏數據對象。 在現代GPU上,您可以分配寬和高幾千個像素的紋理,並且僅將數據稀疏地填充它們。 因此,即使僅綁定一個紋理對象,它的某些部分也可能處於休眠狀態,而其他部分則處於GPU工作內存中。

舊的OpenGL實際上具有查詢紋理是否已加載到快速內存的功能。 但是隨着GPU和系統RAM之間的界限消失,那些不再有意義的界限隨后被刪除了。

如今,有效地將GPU RAM用作高速緩存,您應該將其視為此類。 除了非常特殊的應用程序外,您幾乎不會在運行時查詢CPU緩存的大小。

暫無
暫無

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

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