2016-11-05 8 views
0

활성 전경 창이 direct3d를 사용하는지 확인하는 가장 깨끗한 방법은 무엇입니까?활성 창이 direct3d를 사용하는지 확인

로드 된 d3d 모듈이 있는지 확인할 수 있지만 그만큼 direct3d로 렌더링한다는 의심의 여지없이 확인하지 않습니다.

클래스의 인스턴스가 초기화되었지만 CPU 및 시간이 너무 많이 걸리는지 확인하기 위해 메모리를 검사 할 수있었습니다.

솔루션은 리소스 사용량이 매우 빠르며 매우 낮아야하므로 내 게임을 사람들이 게임 할 수 있도록 리소스를 확보하기 위해 내 응용 프로그램을 닫아야하는지 판단하기 위해 초당 한 번 사용할 수 있어야합니다.

+0

필자의 의견으로는 시스템 전체의 후크를 설치하고 그 코드에 IDirect3dDevice9 Present를 삽입하는 것이 유일한 보장 방법입니다. – VuVirt

+0

DIrect3D 10, Direct3D 11 및 Direct3D 12 게임에서는 완전히 실패합니다. 후킹은 항상 부서지기 쉽습니다. –

+0

OpenGL, Vulkan 등을 목록에 추가 할 수 있습니다 ... – galop1n

답변

0

(주입 용)은 게이머 및 헬리콥터에 매우 나쁜 영향을 미칠 수 있습니다. 에서와 같이 그들은을 금지 당할 수 있습니다. 안티 치팅 프로그램은 알 수없는 DLL을 검사합니다.

당신이해야 할 일은 창이 최소화되었을 때를 감지하고 리소스를 확보하거나 적어도 렌더링을 일시 중지하는 것입니다. 다시 올 때 평소와 같이 사업을 계속하십시오.

또는 모두에게 그렇듯이 재생하는 동안 사용자가 앱을 종료하도록 가르쳐주세요. 똑똑한 게이머는 게임이 아닌 모든 게임을 종료해야합니다.

+0

dll을 주입하면 안티 - 치트로 오 탐지를 유발할 수 있습니다. 내 응용 프로그램은 하루 종일 실행됩니다. 최소화하면 사용자가 사용하지 않는다는 의미는 아닙니다. 게임을 시작하거나 종료 할 때마다 응용 프로그램을 수동으로 닫고 다시 시작하도록함으로써 사용자에게 불편을 느끼게하지는 않습니다. – John

+1

실제로 위에서 언급 한 문제는 아니라 제안 된 솔루션입니다. 누군가가 시스템에서 게임을하든하지 않든, 애플리케이션은 최소화 될 때 자원을 거의 사용하지 않아야합니다. –

+0

문제는 암시되어 있습니다. 최소화 할 수있는 응용 프로그램이 아닙니다. – John