컴퓨터 내부 연산과 외부 출력 부하 비교이다. 테스트한 이유는 서로의 성능이 다른 컴퓨터에서 동일한 프레임으로 프로그램을 돌릴 경우, 상대적으로 성능이 낮은 컴퓨터에서 성능이 좋은 컴퓨터를 커버 할수 있을지에 대한 생각 때문이였다.

당연히 내부 연산만 하는게 더 빠르겠지만, 얼마나 차이를 보일지에 대한 테스트를 해보았다.

실험 코드



각각 비교해본 결과
printf를 이용한 모니터 출력의 경우 내부 연산만 하는것보다 2700배 가량의 부하가 더 발생한다.

물론 최적화된 DirectX 를 가지고 출력하면 2700배 보다 적을 테지만(.. 그래도 만만치는 않을것이다), 내부 연산만 하고 외부 출력(모니터)을 하지만 않는다면 성능 낮은 컴퓨터도 사용자에겐 끊기는것처럼 보여도 내부적으로 성능이 좋은 컴퓨터와 동일한 연산을 하고 있을 것이다.

그러므로 게임 프로그래밍을 하게 될 경우, 연산과 출력을 반드시 분리하여, 출력 횟수를 컨트롤 하면서 동기화 시키는게 좋을 듯 싶다.


어느날 네트워크 동기화 생각 중, 우선 컴퓨터 내부 연산 동기화부터 해야 되는것 아닌지.. 라는 생각 중 ... 이런 결론이 나왔다.


- 위대한 게임프로그래머라 불릴 최익필



신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요