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

2,119 views
1,841 views

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,119
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
24
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

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

×