2014-03-25 4 views
1

사용 가능한 총 GPU 메모리 및 현재 사용 가능한 GPU 메모리의 크기를 가져 오기 위해 몇 가지 JOGL 클래스/메소드/예제를 찾고 있습니다.JOGL - GPU 메모리 모니터

나는 OpenGl (JOGL Java docs)을 사용하여 수행 할 수 있음을 알고 있습니다.

답변

2

게시 한 링크는 NVidia 독점 확장을 사용합니다. 그러나 현대 GPU가 작동하는 방식을 감안할 때 얼마나 많은 "메모리"가 남아 있는지를 아는 것은 절대적으로 쓸모가 없습니다. 왜?

OpenGL은 항상 추상 메모리 모델에서 작동하기 때문에. 단일 데이터 객체 (텍스처, VBO)가 너무 커서 GPU의 작업 메모리에 적합하지 않을 수 있지만 시스템 메모리 (CPU RAM) 이외의 텍스쳐와 VBO 수에는 제한이 없습니다. OpenGL은 언제나 내용을 교환했습니다.

그리고 MMU가 통합 된 OpenGL-4/DirectX-11 지원 GPU가 등장한 이래로 데이터 객체 크기의 개념조차도 무의미 해졌습니다. 오늘날의 GPU는 스파 스 데이터 객체를 지원합니다. 현대 GPU에서는 너비가 수천 픽셀에 이르는 텍스처를 할당 할 수 있으며 데이터를 드문 드문하게 만 채울 수 있습니다. 따라서 하나의 텍스처 객체 만 바인딩 된 경우에도 다른 부분은 GPU 작업 메모리에있는 반면 시스템 텍스처 부분은 시스템 메모리에 휴면 상태로있을 수 있습니다.

오래된 OpenGL에는 텍스처가 빠른 메모리에로드 된 경우 실제로 쿼리하는 기능이있었습니다. 그러나 GPU와 시스템 RAM의 경계가 사라지면 더 이상 의미를 잃지 않은 것들이 제거되었습니다.

사실 GPU RAM은 현재 캐시이므로 효율적으로 처리해야합니다. 매우 특별한 애플리케이션을 제외하고는 런타임시 CPU 캐시의 크기를 거의 쿼리하지 않습니다.