GPG 2. Section 1. General ProgrammingA Built-in GameProfiling ModuleDevRookie GPG Study, 2011. 7. 30. Hebory게임에 내장되는 프로파일링 모듈
프로파일링(Profiling)이란무엇인가?
성능 분석병목 지점을 찾아서 성능 개선문제가 될 만한 부분을 사전에 파악게임 개발에서의 프로파일링왜 필요할까?
다른 응용 프로그램의 실행 상태를모니터링 하는 도구프로파일러란?
시장에 나와있는프로파일링도구들…
http://software.intel.com/en-us/intel-sdp-home/인텔 소프트웨어 네트워크Intel VTune
http://developer.amd.com/tools/AMDAPPProfiler/Pages/default.aspxAMD Developer CentralAMD APP Profiler
http://developer.nvidia.com/nvidia-perfhudNVIDIAPerfHUD
http://developer.amd.com/archive/gpu/perfstudio/Pages/default.aspxAMD ATIGPU PerfStudio
UDKProfiling
Unity3DProfiler
사용자가 응용 프로그램을 빠르게그리고 정확하게 프로파일링 할 수 있어야 한다.수행 부담이 적어야 한다.여러 사용자가 다른 엔진 모듈들에 대해 신경쓰지않고자신의 시스템에서 개별적으로 할 수 있어야 한다.프로파일러가필요없어지면 완전히 제거할 수 있어야 한다.프로파일링 모듈이갖추어야 할 자격 조건
문제가 되는 코드의 시작 지점에서하나의 타임스탬프를 얻고,끝 부분에서 다시 타임스탬프를 얻는다.두번째 것에서 첫번째 것을 빼면그 코드를 실행하는데 걸린 시간을 얻게 된다.프로파일링은어떻게 하는가?
책에 구현되어 있는 모습
ReaD-Time Stamp Counterx86 P5 명령어셋에 포함RDTSC란 무엇인가?
RDTSC를 이용해체크 함수 만들기
혹시 컴파일러가RDTSC 를 모른다면…
연속성 없는 값멀티 코어 및 멀티 프로세스간 카운트 동기화 안됨CPU 주파수의 변동성전원관리기술에 의한 CPU 주파수 변동RDTSC의 문제점
연속성 없는 값 (STA)CPU 주파수의 변동성 (터보부스트)Windows7 해결? XP 보다 부하가 커짐?Windows APIQueryPerformanceCounter를사용하면 해결 될까?http://jacking.tistory.com/674
Hl2profilerhttp://cafe.naver.com/devrookie/4292
Visual Studio 2010 Profilerhttp://msdn.microsoft.com/ko-kr/library/z9z62c29.aspx
네이티브API를 사용하려면프로젝트에 VSPerf.h헤더 파일을 포함하고VSPerf.lib를 추가해야 합니다.VSPerf.h및 VSPerf.lib는기본적으로 <drive>:\Program Files\Microsoft Visual Studio 9\Team Tools\Performance Tools\PerfSDK디렉터리에 있습니다.Visual Studio 2010 Profilerhttp://msdn.microsoft.com/ko-kr/library/z9z62c29.aspx
OProfilehttp://oprofile.sourceforge.net/news/
아무리 잘 만든것도아쉬운 점은 있다.프로젝트에 특화된 기능이필요하다.공부를 위해?프로파일링 모듈을직접 만들어야 하는 이유
잘 만들어진 프로파일러들…게임에 특화된 개발 엔진제한된 개발 기간기본 제공되는 프로파일러 활용도 잘 못하는…프로파일링 모듈을직접 만들지 말아야 하는 이유
잘 만들어져 있는거잘 활용 하세요~ ^^*결론

[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)