뻘글에 앞서 설명하지만 이 글은 코드를 까거나 해서 알아낸것도 아니고 그냥 순전히 내 경험에 따른 글임

그 경험을 써놨기 때문에 너무 긴 글이 돼버렸는데, 결론만 보려면 마지막 그림만 봐도 됨



경험을 굳이 써놓은 이유는 프레임드랍이라는 문제 자체가 원래 머신 탓을 타는 경우도 많기 때문에,

이게 없으면 그냥 머신 안 좋아서 그런거네~ 할수도 있기 때문에 필요하다고 봄

근데 실제로 머신에 따라 다를수도 있고, 난 앱등이 쪽은 만져보지도 않았음

그러니 믿거나 말거나



난 데차를 앱플로 굴리기도 하고 폰으로 굴리기도 함

폰은 s8 쓰고 있고 데탑은 스펙이 상상 이상으로 낮기 때문에 앱플로 굴리는게 s8보다도 오히려 렉이 심한 편임


우선 프레임드랍 얘기부터 하면

알다시피 데차의 프레임드랍 문제는 그냥 상황에 따라 일시적인 문제가 아니라

돌리면 돌릴수록 프레임드랍이 누적됨

누적된 프레임드랍은 단순히 조금씩 조금씩 드랍이 생기는게 아니라

1초당 그 누적된만큼 한번에 깎아먹음


즉, 초당 프레임 60개를 나열했을 때 프레임이 갱신되는 경우를 o, 드랍이 생긴 경우를 x라고 하면

드랍이 듬성듬성 생기는게 아니라

ooooooooooooooooooooooooooooooooooooooooooooooooxxxxxxxxxxxx

이런 식으로 한꺼번에 몰려서 드랍이 쭉 생겨버림


저 드랍이 누적되면 o의 길이가 짧아지고 그만큼 x의 길이가 길어지기 때문에

만약 드라가 운나쁘게 저 타이밍이랑 겹친다?

바로 good이 뜨게 되는거임

이 글에서 다룰 문제는 이 프레임드랍 누적의 이야기임



나는 내러월보때 할일없으면 그냥 탐험창에 세워두는 경우가 많았음

그게 자원도 덜먹고 렉도 덜걸릴거라고 생각했기 때문임

프레임드랍 심하면 다들 알다시피 껐다켜야하지만

단순히 오래 켜두는걸로는 프레임드랍이 생기지 않음


그러다가 레이드 때 수면런을 돌려야했음

1-1 1배속으로 돌려놓고 자고 일어나서 티켓 손실날까봐 바로 달려가서 쳤는데

몇시간을 반복전투 돌려놨는데도 불구하고 프레임드랍이 없는걸 보고 이상하다는 생각이 들었음

처음에는 1배속이라 그런가 싶었다


그러다 며칠뒤에 플상이 매우 마려워서 그냥 상자까서 스태 빨고 3배속으로 돌려놓기로 함

그랬더니 결과는? 1배속때랑 똑같이 프레임드랍이 전혀 없었음



기기 스펙이 구리다보니 로딩이 매우 긴 편이라고 생각함

그 덕분인지는 몰라도 여러 화면 전환이 될때 로딩 속도가 다른걸 쉽게 알수 있었음

화면전환이 뭐냐면 그 월드맵에 던전 들어갈 때나 전투에서 나올때 뜨는 그 네모 구멍난 모나 세멜레 이미지 대각선으로 나오는거 있지? 그런거 말하는거다

던전 진입할 때 페이드아웃 뜨는거나 그런것도 포함함

단순히 버튼 하나 눌렀을 때 아무런 로딩 없이 바뀌는 창은 취급하지 않음


대충 로딩 속도가 빠른 트랜지션과 로딩속도가 느린 트랜지션 2가지가 있었는데,

로딩이 느린 경우는 전투 이후에 홈화면 등 던전 밖으로 빠져나오는 경우

빠른 경우는 일반적으로 전투 준비 창으로 들어가는 트랜지션들,

그리고 반복전투 시, 전투 이후에 다시하기로 다시 전투 준비창에 들어가는 경우



이걸 보고 나는 홈 state와 전투 state가 완전히 분리돼있다는 생각을 했다

무슨말이냐면, 원래라면 전투 한번당 홈 -> 전투 -> 홈 으로 전투 화면에 들어갔다 나와야 하지만

반복전투의 경우, 홈 -> 전투 -> 전투 -> 전투 -> ... -> 전투 -> 홈 이런식으로

홈에 나올 필요가 없게 만들어서 불필요한 로딩을 없앴다는거임


위의 생각을 확실하게 증명해줬던 케이스가 럼블임

럼블은 반복전투를 눌러도 어쨌든 다시 라이벌 창으로 돌아와야하기 때문에,

한판 한판을 돌릴때마다 프레임드랍이 쌓임

최근에 덱 맞추면서 플5에서 덱 실험하겠다고 티켓 사서 수십번을 연속으로 돌렸던 적이 있었는데,

그때 진짜 데차 상시 프레임이 30까지 떨어지는 진풍경을 목격했다


데차에서 이게 뭘 말하는거냐면

60헤르츠로 게임을 돌리는데

프레임드랍이 1초에 30프레임이 듬성듬성하게도 아니고

한번에 몰아서 30개 드랍을 박아버린다?

0.5초 굴러가고 0.5초 멈춰있다는 소리임


아무튼 이걸 보고 확실히 결론을 지었음

프레임드랍이 누적되는 경우는 느린 트랜지션이 발생하는 경우이며,

이는 전투 state에서 홈 state로 나오는 경우에 발생한다

이 경우는 럼블과 듀얼에서 매판마다 발생하며,

일반 던전이나 요던, 리버스, 언극에서는 반복전투 또는 다시하기 중에는 발생하지 않고 오직 마지막 반복전투 후에 단 한번만 발생한다



여기까지 읽은 사람들은 읽느라 고생했고

아래는 그림 요약임



이게 일반적인 컨텐츠들의 경우

월드맵 리버스 언극 요던 내러 등등이 여기에 포함됨

반복전투의 경우에는 홈으로 나가는 경우가 없기 때문에, 프레임드랍이 발생하지 않고

마지막 홈으로 나갈때 단 한번만 발생함


참고로 던전 반복전투 돌려놓으면 점심/저녁보상 안들어올 때 있지?

그게 이거 때문이다

반복전투 돌려놓는동안에는 홈으로 나가는 판정이 아예 없기 때문임


이게 럼블, 듀얼, 라그나, 월보의 경우임

단순하게 매판마다 프레임드랍이 누적되는거임

대충 홈화면에서 그 컨텐츠 들어가서 전투 시작을 누르기 전까지 화면 전환이 한번도 발생하지 않는 경우는 전부 아래의 경우라고 보면 됨


물론 월보 프레임드랍같은 경우는 그냥 20마리가 박혀서 쌩난리를 치는거라 아예 케이스가 다름 이건 그냥 좋은 머신을 쓰는수밖에 없다






그럼 이 프레임드랍 누적 안 되게 하려면 어떻게 하냐고?






껐다 켜라