컴퓨터 내부 연산과 외부 출력 부하 비교이다. 테스트한 이유는 서로의 성능이 다른 컴퓨터에서 동일한 프레임으로 프로그램을 돌릴 경우, 상대적으로 성능이 낮은 컴퓨터에서 성능이 좋은 컴퓨터를 커버 할수 있을지에 대한 생각 때문이였다.
당연히 내부 연산만 하는게 더 빠르겠지만, 얼마나 차이를 보일지에 대한 테스트를 해보았다.
실험 코드
각각 비교해본 결과
printf를 이용한 모니터 출력의 경우 내부 연산만 하는것보다 2700배 가량의 부하가 더 발생한다.
물론 최적화된 DirectX 를 가지고 출력하면 2700배 보다 적을 테지만(.. 그래도 만만치는 않을것이다), 내부 연산만 하고 외부 출력(모니터)을 하지만 않는다면 성능 낮은 컴퓨터도 사용자에겐 끊기는것처럼 보여도 내부적으로 성능이 좋은 컴퓨터와 동일한 연산을 하고 있을 것이다.
그러므로 게임 프로그래밍을 하게 될 경우, 연산과 출력을 반드시 분리하여, 출력 횟수를 컨트롤 하면서 동기화 시키는게 좋을 듯 싶다.
어느날 네트워크 동기화 생각 중, 우선 컴퓨터 내부 연산 동기화부터 해야 되는것 아닌지.. 라는 생각 중 ... 이런 결론이 나왔다.
- 위대한 게임프로그래머라 불릴 최익필
당연히 내부 연산만 하는게 더 빠르겠지만, 얼마나 차이를 보일지에 대한 테스트를 해보았다.
실험 코드
각각 비교해본 결과
printf를 이용한 모니터 출력의 경우 내부 연산만 하는것보다 2700배 가량의 부하가 더 발생한다.
물론 최적화된 DirectX 를 가지고 출력하면 2700배 보다 적을 테지만(.. 그래도 만만치는 않을것이다), 내부 연산만 하고 외부 출력(모니터)을 하지만 않는다면 성능 낮은 컴퓨터도 사용자에겐 끊기는것처럼 보여도 내부적으로 성능이 좋은 컴퓨터와 동일한 연산을 하고 있을 것이다.
그러므로 게임 프로그래밍을 하게 될 경우, 연산과 출력을 반드시 분리하여, 출력 횟수를 컨트롤 하면서 동기화 시키는게 좋을 듯 싶다.
어느날 네트워크 동기화 생각 중, 우선 컴퓨터 내부 연산 동기화부터 해야 되는것 아닌지.. 라는 생각 중 ... 이런 결론이 나왔다.
- 위대한 게임프로그래머라 불릴 최익필
'연구실 > 파편화된 기록들' 카테고리의 다른 글
D3DRS_CULLMODE (1) | 2008.09.11 |
---|---|
[펌] vs2005 C4996 경고 해결 방법 / _CRT_SECURE_NO_DEPRECATE (0) | 2008.09.11 |
3장 ASE의 전반적인 구조는 어떻게 되어 있는가? (1) | 2008.09.11 |
2장, 어떻게 ASE 파일을 읽어 들일 수 있는가? (1) | 2008.09.10 |
1장, 왜 우리는 ASE란 무엇이며 왜 배워야 하는가? (0) | 2008.09.10 |
MFC 에선 WIN32_LEAN_AND_MEAN 정의되어 있다. (0) | 2008.08.31 |
Windows Xp Sp3 다운로드, download (2) | 2008.08.23 |
Virtual FDD, 최강의 가상 플로피 디스크 드라이브 (0) | 2008.08.15 |
7-zip, 7z 압축 프로그램, 최고! (0) | 2008.08.12 |
메모장의 확장형! notepad++ (0) | 2008.08.05 |
최근댓글