홈 › 칼럼 › 해상도를 올려도 프레임이 안 떨어지는 게임이 있다 — 엔진이 먼저 붙잡기 때문이다
해상도를 올려도 프레임이 안 떨어지는 게임이 있다 — 엔진이 먼저 붙잡기 때문이다
매장에서 「카드를 바꿔도 프레임이 그대로다」라는 말을 듣는다. 그 말이 틀린 것은 아니다. 하지만 그 까닭이 카드가 남아서가 아니라 엔진이 먼저 상한을 걸거나 CPU가 천장이기 때문이다. 손보정한 열여섯 종의 실측 보정값을 모아 보면, 절반은 해상도를 올려도 프레임이 거의 안 떨어진다. 해상도 상한이 아니라 엔진 상한과 CPU 천장이 프레임의 진짜 벽이라는 것을 이 글이 보여준다.
엔진이 먼저 붙잡는 경우를 보면, 해상도를 올렸을 때 픽셀 수가 늘어나는 만큼 연산량이 늘어야 한다. 그런데 엔진 내부에서 이미 정해진 최대 처리량에 닿으면, 더 많은 픽셀을 그려도 속도가 빨라지지 않는다. 이때 카드를 더 좋은 것으로 바꿔도, 엔진이 허용하는 한계 안에서만 동작하기 때문에 프레임은 그대로다. CPU가 천장이 되는 경우도 마찬가지다. 게임이 요구하는 명령을 CPU가 제때에 못 주면, 그래픽카드는 일을 기다리고만 있다. 해상도를 낮춰도 CPU가 병목이면 프레임은 오르지 않는다.
이 열여섯 종의 표본에서, 해상도를 올려도 프레임이 거의 안 떨어지는 경우가 절반이다. 이는 엔진이나 CPU가 이미 상한에 닿아 있음을 뜻한다. 카드를 바꾸는 것이 아니라, 그 상한을 어떻게 넘을 수 있는지부터 봐야 한다.
절반은 해상도를 올려도 프레임이 그대로다
전체 열여섯 종 가운데 해상도 변경에 무관하게 프레임이 고정된 게임이 여덟 종이다. 이는 전체의 절반에 해당한다. 나머지 여덟 종은 해상도 상승 시 프레임이 감소하는 일반적 경향을 보인다.
엔진 상한이 명시된 게임은 다섯 종이다. 던전앤파이터는 300, 바람의나라와 리니지 리마스터는 60, 서든어택은 84, 사이퍼즈는 240으로 설정되어 있다. 이 값들은 엔진이 허용하는 최대 프레임 수를 의미한다. 해상도를 4K로 올려도 이 상한을 넘지 못하면 프레임은 그대로 유지된다.
그래픽카드 성능이 충분해도 엔진이 60으로 묶어두면 60을 넘지 못한다. 이는 하드웨어의 한계가 아니라 소프트웨어의 제한이다. 카드를 교체해도 이 상한이 풀리지 않는 한 체감 성능 변화는 없다.
해상도 설정은 이러한 상한이 없는 게임에서만 프레임에 영향을 미친다. 상한이 있는 게임에서는 해상도 변경이 프레임에 거의 영향을 주지 않는다. 따라서 고사양 하드웨어를 갖추더라도 엔진 설정을 확인해야 한다.
어디에 몰려 있고 어디가 비었나
4K 해상도로 올렸을 때 1080p 대비 프레임이 얼마나 줄어드는지 16개 게임을 모아 보면 중앙값은 0.80이다. 절반은 이 값보다 적고 절반은 이 값보다 크다. 분포를 보면 0.5에서 0.7 사이가 6개, 0.7에서 0.9 사이가 6개, 0.9에서 1.0 사이가 4개로 나뉜다.
가장 많이 떨어지는 셋은 워 썬더 0.53, FC 온라인 0.57, 마비노기 0.61이다. 반대로 가장 안 떨어지는 셋은 바람의나라 1.00, 서든어택 1.00, 리니지 리마스터 1.00이다. 1.00은 해상도를 올려도 프레임이 그대로라는 뜻이다.
0.53은 1080p 프레임의 53%만 남는다는 뜻이다. 1.00은 100%가 남는다는 뜻이다. 이 차이는 엔진이 해상도 변경에 어떻게 반응하는지에 따라 생긴다.
엔진이 해상도 변경을 그대로 받아들이면 프레임이 줄어든다. 엔진이 해상도 변경을 무시하면 프레임이 그대로다. 0.53과 1.00의 차이는 이 반응 방식의 차이에서 온다.
엔진이 먼저 붙잡기 때문이다
화면 해상도를 높여도 프레임 수가 그대로인 게임이 있다. 그래픽카드 성능이 충분함에도 불구하고 프레임이 오르지 않는 이유는 중앙처리장치(CPU)가 병목 현상을 일으키기 때문이다. 게임 엔진은 CPU가 처리할 수 있는 최대 프레임 수를 미리 계산해 두고, 이 값이 그래픽카드의 출력 능력을 초과할 때까지만 프레임을 늘린다. 이 한계 값을 cpuCeiling 이라 부르며, CPU가 감당할 수 있는 프레임의 천장 역할을 한다.
cpuCeiling 값이 낮으면 그래픽카드를 아무리 고급으로 교체해도 프레임이 오르지 않는다. 그래픽카드가 100프레임을 만들어도 CPU가 60프레임까지만 전달할 수 있다면, 화면에 표시되는 것은 60프레임에 그친다. 공개된 실측 자료를 모아 보면 cpuCeiling 분포는 최소 35, 중앙 92, 최대 300으로 나타난다. 중앙값 92는 절반의 게임이 이 값보다 낮고 절반이 높다는 뜻이다.
1080p 해상도에서 요구되는 프레임 수보다 cpuCeiling 이 낮은 게임은 16개였다. 이 게임들은 CPU 성능이 프레임 생성의 제한 요인이 된다. 그래픽카드를 업그레이드해도 체감 성능이 크게 달라지지 않을 수 있으므로, CPU의 처리 능력을 먼저 확인해야 한다. cpuCeiling 이 1080p 프레임 요구치보다 낮은 경우, CPU 교체나 설정 변경이 프레임 향상의 열쇠가 된다.
자료에 없는 값은 단정할 수 없다. 공개된 실측을 기반으로 한 이 분석은 특정 게임 환경에서의 일반적인 경향을 보여 줄 뿐, 모든 시스템에 동일하게 적용되지는 않는다. 자신의 PC에서 cpuCeiling 이 낮은지 확인하려면 게임 내 프레임 생성 과정의 병목을 점검해야 한다. CPU 사용률이 100%에 가깝고 그래픽카드 사용률이 낮다면 cpuCeiling 이 프레임의 한계로 작용하고 있을 가능성이 크다.
이 셈을 그대로 믿으면 안 되는 자리
151종 가운데 16종만 손으로 바로잡은 것이므로, 이 숫자는 전체 게임 목록을 대변하지 않는다. 10.6%라는 비율은 나머지 135종에 대해 아무것도 말해주지 못한다. 확신도가 낮은 1종은 숫자가 덜 단단해, 그 값을 근거로 장비를 고르면 안 된다. 해상도를 올려도 프레임이 그대로인 8종 가운데 확신도가 높은 것은 2종뿐이다. 나머지 6종은 재검사가 필요하며, 이 2종만 믿고 다른 게임을 같은 방식으로 처리하면 안 된다.
이 값들은 우리가 잰 것이 아니라 여러 곳의 공개 실측을 모아 정리한 것이다. 각 출처의 측정 환경이 달라 같은 게임이라도 값이 흔들릴 수 있다. 따라서 이 숫자는 참고용이며, 내 PC가 실제로 어떻게 반응하는지 확인해야 한다. 확신도가 낮은 게임은 특히 주의해야 한다. 값이 흔들리면 장비를 잘못 고를 수 있고, 예상과 다른 프레임이 나와서 게임을 못 즐길 수도 있다. 이 한계를 알지 못하고 숫자만 믿으면, 내 PC에 맞는 장비를 고르지 못하고 돈만 낭비하게 된다.
그래서 무엇을 물어야 하나
게임 이름과 그 게임의 flatRes 여부를 먼저 확인해야 한다. 자료에 따르면 해상도를 올려도 프레임이 거의 그대로인 게임은 8개다. 이 숫자는 화면 해상도 변경이 프레임 수에 직접적인 영향을 주지 않는다는 뜻이다. 만약 이 범주에 해당한다면 그래픽카드의 부하가 아니라 다른 요인을 의심해야 한다.
다음으로 engineCap이 있는지, 있다면 그 값이 얼마인지 본다. 엔진이 먼저 상한을 거는 게임은 5개다. 이 상한은 개발사가 정한 최대 프레임 수를 의미하며, 하드웨어 성능이 아무리 높아도 이 값을 넘지 못한다. 8개와 5개라는 숫자는 서로 다른 문제를 가리킨다. 전자는 해상도 무관, 후자는 엔진 제한이다.
마지막으로 cpuCeiling이 1080 프레임보다 낮은지 확인한다. 중앙처리장치가 병목이 되면 그래픽카드가 아무리 빨라도 프레임이 오르지 않는다. 이 세 가지를 순서대로 짚어야 원인을 좁힐 수 있다.