사용자들이 cpu 100% 찍는걸 좋아하지 않는거 같은데
사실 100%는 while문만 박아도 찍히는거고
100% 찍을수록 병목없이 잘 일하고 있으니 좋은건데
대부분의 게임들은 100% 찍지 않음
그 이유가 머임?
내가 추측하는건 두가지인데
1. 블로킹 코드 관리를 잘 못해서 병목이 많아 100% 를 찍지 못한다
2. 사용자들이 100% 찍히는걸 원하지 않으니 의도적으로 성능을 낮춘다(144프레임을 찍을 수 있어도 60프레임만 돌리고 한프레임당 9.73ms 만큼 대기 시키기, 144fps = 6.94ms 60fps = 16.67ms)
게임에서 실질적으로 cpu가 하는 일이 많지 않기 때문임. 멀티쓰레딩 문제는 이미 수 년전에 해결된거 아닌가
프레임만 높으면 상관없음 프레임이 안 나오면 CPU GPU 메모리 사용량을 확인해야지
게임은 게임루프라는게 존재하는데 용어적인게 아닌 실질적으로 이게 한번 도는게 한 프레임이라고 생각해도 무방하고 프레임당 프레임과 프레임 사이에 쌓인 일을 다 처리해야되는데 그래픽스 처리와 게임 데이터 처리 크게 두개 영역으로 나눌수 있음 게임 데이터 처리는 CPU, 그래픽스 처리는 GPU. 이 둘중 하나가 오래 걸릴경우 루프가 지연되어 흔히 말하는 병목현상이 발생함 싱글 게임같은 경우 CPU가 점유율이 더 높고 멀티 게임같은경우 다른 사용자 데이터도 처리해야되서 CPU가 더 처먹는 구조임
싱글 멀티 둘 다 CPU가 점유율 높은거야?
싱글은 GPU 오타임
ㅇㅇ 프레임간에 쉴 시간이 존재하기때문에 안쉰다면 문제가있는거지
위에 게임 루프 글에 보충하자면, 결국 게임은 특정 종류의 작업이 순차적으로 진행되야 해서 병렬화 하기가 어려움
메모리 참조비율이 적어서
아니면 GPU로 계산 떠넘겨서