테어링이란

 

 

위 스샷을 보시면 화면 위와 아래가 서로 어긋나 있는 걸 볼 수 있습니다.

 

이렇게 위와 아래가 서로 어긋나서 화면이 찢긴 것처럼 보이는 현상을 테어링(Tearing)이라고 합니다.

 

Tear 때문에 티어링이라고도 많이 하는데, Tear는 눈물이라는 의미의 명사로 쓸때는 티어라고 발음하지만, 찢다, 찢기다의 의미로 쓸때는 테어로 발음을 합니다. 그래서 테어링이 올바른 표기입니다.

 

저런 테어링은 아주 짧은 시간 동안 일어나기 때문에 실제로 화면이 갈라진다고 느끼기는 어렵고, 화면에서 수직으로 물결이 치고 있다, 화면이 일렁이고 있다, 이런 느낌을 받습니다. 

 

 

 

 

 

테어링은 왜 일어나는가?

 

기본적으로 PC, 그러니까 그래픽카드에서 그림을 먼저 그립니다. 그리고 이 그림을 모니터 같은 디스플레이에 전달을 해주면, 모니터는 이걸 받아서 화면에 표시를 해 주게 됩니다.

 

테어링은 GPU에서 화면을 다 그린 타이밍과 모니터같은 디스플레이 기기가 화면을 표시하는 타이밍이 서로 다를 때 생깁니다.

 

모니터(를 포함한 디스플레이 기기) 설명을 보면 60Hz 144Hz 이런 식의 문구가 들어가 있는 걸 볼 수 있습니다. 헤르츠 Hertz 라고 읽으며, 1초에 몇 번이라는 의미입니다. 모니터에서 60Hz면 1초에 60번 화면을 갱신한다 이런 의미가 됩니다. 이렇게 화면을 갱신하는 속도를 주사율이라고 합니다. fps도 초당 프레임이기 때문에 Hz와는 비슷한 의미인 셈이죠.

 

모니터는 이런 화면 갱신 속도가 일정합니다. 하지만 게임에서 화면을 그리는 속도는 그림의 복잡성에 따라 달라집니다. 그러니까 게임 내에서 화면을 만들어 내는 속도(fps)와 모니터에서 화면에 그리는 속도(Hz)가 다른 경우가 발생합니다. 그래서 모니터는 일정하게 똑같은 속도로 그림을 달라고 보채니까 글카는 그림을 덜 그렸는데도 넘겨주게 됩니다. 모니터가 달라고 한 타이밍에 그때까지 그린, 그러니까 전체의 일부만 넘겨주게 되는거죠.

 

 

 

테어링의 갈라진 부분 일부는 옛날 그림이고 일부는 새 그림인겁니다.

 

그림 그리는 속도가 더 빠를 때도 마찬가지의 현상이 나올 수 있습니다. 모니터가 달라고 하기 전에 수백 번을 더 그렸건 말건, 모니터가 달라고 할 때 100% 완성된 그림을 주지 못하면 테어링이 생기는 것이니까요.

 

이와 관련해서 좀 더 전문적인 용어들이 있긴 하지만, 그 부분은 굳이 알 필요가 있을까 의문스럽기도 하고, 지금까지 설명한 정도만 해도 이해하는데는 테어링을 이해하는데는 큰 무리가 없을 거라고 생각하니 넘어 갑시다!

 

그래도 관련해서 알아두면 좋은 것  중 하나는 VRR입니다. 보통의 모니터나 티비는 앞서 얘기했듯이 60hz 처럼 일정한 속도로 화면을 갱신합니다. 하지만 컴퓨터나 콘솔 같은 기기의 fps에 맞춰, 그러니까 본체에서 그림을 다 그린 타이밍에 맞춰 디스플레이의 주사율을 바꿔주는 기능이 VRR(Variable Refresh Rate) 입니다. 이걸 지원한다면, 굳이 수직동기화를 켜지 않아도 테어링이 없고, 수직 동기화의 단점도 겪지 않게 됩니다.

 

 

 

테어링을 막아주는 수직 동기화

 

그럼 또 수직동기화는 뭘까요?

 

게임이 화면 1장을 완성시키는 타이밍과 모니터가 화면에 표시해 주는 타이밍을 맞춰서 테어링을 방지해주는 기능이 수직 동기화(Vsync = Vertical Synchronization)입니다. 

 

게임이 빨리 그렸으면 모니터가 달라고 할 때까지 기다렸다가 넘겨줍니다. 모니터가 달라고 할 때 게임이 덜 그렸으면 모니터는 그 전에 받았던 그림을 계속 표시해 주면서 기다립니다. 그리고 다음에 모니터에서 화면을 새로 그릴 때 게임이 완성한 그림을 받아와서 표시해 줍니다. 그래서 화면이 찢어지는 테어링이 더 이상 일어나지 않습니다.

 

단점이 없는 것은 아닙니다. 모니터가 더 빨리 왔을 때 게임을 기다려주면서 인풋랙(input lag), 내가 조종하는 것보다 화면이 늦게 움직이는 지연 현상이 발생할 수 있습니다.

 

예를 들어보겠습니다.

 

모니터가 그림상이라고 치고, 1시간마다 게임이라는 그림쟁이한테 와서 그림을 1장씩 받아가서 가게에 전시합니다.

그런데 게임은 그림 그리는 속도가 그림 난이도에 따라 매번 다릅니다. 어떤 때는 30분 걸리는데, 어떤 때는 1시간 반 걸리기도 하죠.

그래서 모니터가 그림이 하나 완성됐을 때만 새 그림을 가져가기로 합의합니다. 이것이 수직동기화입니다

 

게임이 1시간보다 빨리 그림을 완성시키면 문제가 없습니다. 모니터가 올 때마다 새 그림이 있으니까요. 게임은 그림 미리 그려놨으니까 모니터가 올 때까지 쉴 수도 있구요. 덕분에 그래픽 카드가 좀 쉴 수 있습니다. 전기를 덜 먹는 거죠.

그런데 1시간 넘게 걸리면 모니터가 그림을 받으러 와도 가져갈 그림이 없게 됩니다. 이를 어쩐다?

 

그러면 모니터는 일단은 빈손으로 돌아가고 다시 게임한테 돌아가기 전 1시간 동안은 그 전에 받아놓았던 그림을 계속 전시합니다. 똑같은 그림을 2시간 동안 전시하게 되는 것이죠.

모니터가 1시에 왔다가 게임의 그림이 미완성이어서 빈손으로 돌아갔고, 게임은 1시 10분, 그러니까 10분 만에 그림을 완성했습니다. 하지만 모니터는 1시간마다 오기 때문에 다시 와서 새 그림을 받아가려면 2시, 그 때까지 50분이 남아있습니다.

 

이렇게 차이가 나는 시간, 실제 게임에서 벌어지고 있는 일이 모니터에 늦게 표시되는 만큼의 시간 차이가 인풋랙이 됩니다. 내가 왼쪽으로 가는 키를 눌렀는데 게임에서는 움직였지만 모니터 화면에서는 인풋랙으로 인해 조금 늦게 표시되게 되는 것이죠.

 

위에서는 1시간마다라고 했지만, 실제로 60hz면 1/60 초마다 입니다.

 

 

 

수직동기화를 켤까 말까?

 

*개인적인 경험과 과한 가정(?)을 토대로 정리한 이야기라 편향적일 수도 있습니다.

 

앞서 수직 동기화의 단점으로 인풋랙을 얘기했는데, 수직 동기화를 켜면 최대 50ms 정도의 인풋랙이 생길 수 있다고 합니다. (Screen Tearing or Input Lag? To Vsync or Not to Vsync? | TechSpot ) 영어라 정독은 못하고 훑어만 봤는데, 1 프레임당 16.67ms를 언급한 걸로 봐서는 60hz 기준으로 3프레임 정도의 손실이 날 수 있다는 의미인 것 같습니다. 수직 동기화 자체가 타이밍을 모니터에 맞춰서 그림을 교체해주는 거니 말입니다.

 

60hz 모니터일 경우 1프레임이 밀리면 1/60초, 16.7ms의 인풋랙이 발생할 수 있습니다. 144hz 모니터라면 7ms, 240hz 모니터면 4ms 정도의 인풋랙이 생길 수 있습니다.

 

최대 3프레임의 인풋랙이라고 본다면 일반적으로는 그보다 더 적은 1~2프레임 정도의 인풋랙이 발생한다고 생각할 수 있습니다. (물론 주사율에 관계없이 3프레임이 최대 인풋랙이다라는 제 가정이 맞다는 전제 하에 하는 얘기입니다.) 고주사율 모니터면 거의 문제가 되지 않을 수준의 인풋랙입니다.

 

프로게이머 정도 되면 핑 5ms도 느낀다고 하지만, 일반 유저들은 저 정도 수치로 불편하다는 여론이 딱히 없습니다. DLSS 3를 보면 그렇습니다. 

 

 

 

위 영상을 보면 4000번대 그래픽 카드로 DLSS 3 쓰면 인풋랙(input latency)이 10 ~ 15ms 정도 상승합니다. 수치만으로는 60hz 기준 1프레임 미만이지만 프레임 갱신 타이밍과 인풋랙 순간이 항상 타이밍이 맞지는 않을테니 보통 1프레임에서 많으면 2프레임 정도의 인풋랙이 발생한다고 볼 수 있을 것입니다. 하지만 dlss3 쓰면서 인풋랙 때문에 불편하다? 이런 얘기는 딱히 대두되지 않았습니다. (저는 4000번대가 없어서 못 써 봤지만, 여기저기 게시판 둘러봤을 때 그런 반응이 없어서 하는 얘기입니다.)

 

 DLSS 3의 사례로 볼 때 20ms 밑으로는 크게 체감이 안 되는 수준 같은데 30ms 이상은 어떤지 아직 확신하기 어렵습니다. 하지만 평균 프레임이 60 이상 잘 나오는 게임이라면 보통은 1프레임의 프레임 타임이 16.67ms 이하일테니 인풋랙이 거의 없거나 생겨도 16.67ms 이하일 가능성이 높다고 생각합니다.

 

개인적인 경험이긴 하지만, 제가 수직 동기화를 켜고 플레이하면서 싱글 게임에서 인풋랙이 문제가 될 만한 게임을 겪어보지는 못 했습니다. 인풋랙이 있었어도 게임에는 불편함을 못 느낄 정도였거나, 거의 없었거나 둘 중 하나겠죠. 그래서 수직 동기화로 인한 인풋랙은 라이트 게이머면 크게 문제될 수준은 아닌 것 같습니다. 거기다 테어링이라는 끔찍한 이미지 퀄리티 저하를 막아주기 때문에 수직 동기화의 이로운 점이 더 크다는 생각입니다.

 

그리고 수직 동기화는 테어링 방지 외에 또 하나의 장점이 있습니다. GPU의 전력 소모 감소입니다.

 

게임이 그림을 빨리 그리면 모니터가 다시 오기 전까지는 쉬고 있기 때문에 그 만큼 일을 덜합니다. 전기를 적게 먹는다는 거죠. 평균 7~80 나오는 게임 수직 동기화로 60으로 맞추면 1~20만큼은 전기를 덜 쓰겠죠? 전기를 덜 먹는다? 열도 적게나고 글카 쿨러도 좀 쉬겠죠? 열이 적게난다? 글카 수명이 더 길어진다는 얘기겠죠.

 

수직 동기화에는 인풋랙 외에도 미세 끊김(스터터링)을 발생시킬 수도 있긴 합니다. 1프레임 정도라고 하더라도, 지연이 상당히 잦게 발생할 경우, 체감될 정도로 화면이 끊기는 느낌이 들 수 있습니다. 투둑 투툭 뭐 이런 느낌으로 말이죠.

 

하지만 이런 게임들은 제 체감상 게임 자체의 문제인 경우가 많았습니다. 수직 동기화를 꺼도 비슷한 문제가 계속 발생하죠. 그게 아니면 테어링이 너무 심해지거나요. 그래서 저는 이것도 보통의 경우는 수직 동기화 만의 문제는 아닌 것 같다는 생각입니다.

 

그리고 게임에 따라서 데드존이 있거나 30프레임 기준이어서 뭔가 좀 돌아가는게 다르거나 하면 훨씬 더 큰 인풋랙을 느낄 수도 있습니다. 그렇게 체감상 문제가 느껴지는 게임은 당연히 끄는게 좋습니다. 그런데 제 개인적으로는 아직까지 그렇게 문제인 게임을, 운이 좋았던 건지, 만나진 못했네요.

 

 

*멀티 게임은 또 다를 수 있습니다. 단순히 화면 표시 지연 외에 핑으로 인한 지연도 발생할 수 있기 때문에 이것들이 겹쳐지면 체감 상으로는 더 큰 지연을 느낄 수 있어서 수직동기화를 켤지 말지는 좀 고민을 더 해봐야 합니다. 경쟁형 게임이면 조금이라도 손해를 안 보기 위해 끄는 게 더 낫긴 합니다.

 


수직 동기화 정리해 봅시다.

 

단점

 - 인풋랙 있음 -> 하지만 라이트 게이머가 느낄 수 있을까?

 - 미세끊김 -> 그런 건 대부분 게임이 문제라 동기화 꺼도 문제가 있지 않을까?

 

장점

 - 테어링 방지

 - 전력 소모 감소

 

하지만 게임에 따라서는 장점은 약하고 단점은 더 큰 게임들이 있을 수 있습니다. 뭐가 문제인지는 모르지만 뭔가 이상하다고 느낄 때 위의 개념들을 알면 원인과 해결방법을 찾기 더 수월할 것입니다. 일단 수직동기화를 켜고 플레이해보다가 단점들이 크게 느껴지면 수직동기화를 꺼보는 식으로 해보시면 어떨까요?

+ Recent posts