필자는 펜 타블렛 입력을 듣고 버텍스/인덱스 버퍼 (다른 것들 중에서)에서 그려주는 렌더링 루프를 가지고 있습니다. 정점 데이터는 성장할 수 있으며 특정 레벨에 도달 할 때, DispatchMsg (& MSG)이 발생 :DirectX11 비디오 메모리 초과
장면에서 할당 된 버텍스와 인덱스 버퍼의 전체 크기는 동일 수준의 주위에 때마다 있습니다Unhandled exception at 0x5DDBDEF0 (msvcr110d.dll) in App.exe: 0xC0000005: Access violation writing location 0x00000000.
:
Total Vertices count: 10391370
Total Indices count: 41565480
Total Vertices size: 249392880 (bytes)
Total Indices size: 997571520 (bytes)
다른 샘플링에 :
Total Vertices count: 9969300
Total Indices count: 39877200
Total Vert size: 239263200
Total Indices size: 957052800
정점 색인 버퍼 모두 D3D11_USAGE_DEFAULT이다. 장면의 전체 크기 할당은 위에 나열된 것보다 높지만 더 작은 버퍼는 자주 릴리스됩니다. 끝 부분의 정점/인덱스 버퍼에도 약간의 패딩이 있습니다.
내가 믿는 (예외가 도달 할 때)마다 파견 581입니다 될에 대한 메시지가 될 수있다 : 나는 경우
#define WM_POINTERUPDATE 0x0245
난 정말 천천히 렌더링 장면을 상관하지 않지만 몇 가지 최대 메모리 할당 (비디오 메모리?)에 도달하는 방법은 메모리를 천천히 페이지 메모리를 /에서 속도의 비용으로 마임? draw() 호출을 비활성화하여 픽셀, 정점 셰이더 및 드로잉 호출을 시도했지만 예외가 여전히 발생합니다. 나는 속도를 상쇄하거나 예외적 인 해결 방법을 선호한다.
몇개의 지형을 그리나요? 그것은 많은 데이터처럼 보입니다. 천만 달러? – tadman
정확합니다. 문제가 발생할 것으로 예상됩니다. 이유를 파악하거나 문제를 해결할 수 있습니다. – user176692
그것은 많은 verts입니다. 무언가없이 불을 끄는 많은 것들을 할당 할 수있어서 놀랍습니다. 어떻게 든 누출하는 것처럼 너무 많은 것을 만들고 있습니까? – tadman