2013-10-02 3 views
0

Direct2D 프로그램을 테스트하고 있습니다. Direct2d 메모리 사용량

http://msdn.microsoft.com/en-us/library/windows/desktop/ff819062(v=vs.85).aspx

내가 컴파일하고 프로그램 D2DCircle.exe을 실행하고 작업 관리자의 메모리 열을 참조

는 약 19 메가 바이트를 사용 (또는 할당?)

그리고 몇 가지 브러쉬를 사용하여 좀 더 큰 프로그램을 실행 및 기하학, 작업 관리자의 메모리 열은 약 30MByte를 표시합니다.

왜 direct2d는 많은 메모리를 사용합니까?

+0

Direct2D는 컴퓨터의 리소스를 활용하도록 작성되었습니다. 이전 세기에 30MB의 메모리를 사용하는 것이 적절했으나 현재 사용 가능한 메모리의 0.75 % 미만입니다. –

답변

0

Direct2D는 렌더링 된 일부 프리미티브 (비트 맵)를 메모리에 캐시 할 수 있습니다. 모든 것이 GPU에 의해 직접 렌더링되는 것은 아닙니다.

GDI +도 이와 관련하여 매우 욕심이 있습니다.

Sciter 엔진과 비교해 볼 수 있습니다. sciter.exe를 시작하면 Direct2D 백엔드를 사용하지만 sicter.exe sciter-gfx=gdi으로 실행하면 GDI +가 사용됩니다.
D2D와 GDI +에서 렌더링 된 것과 동일한 항목의 속도를 비교해 보면 30MB는 아무 것도 아님을 알 수 있습니다.