에뮬레이터를 오래 사용해보신분이라면 한번쯤은 이런 생각을 해보셨을 겁니다.
구 버전의 에뮬레이터에서는 부드럽고 잘 구동되는 게임들이 왜 최신 버전의 에뮬레이터에서는
오히려 더 느리고 부드럽게 구동되지 않는것인가? 라고 느껴보신분이 한분쯤은 계실겁니다.
이런 경우 여러분은 어떻게 생각하고 계신가요?
1. 구 버전의 최적화가 잘 되어 있기 때문에...
2. 최신 버전은 여러 기기들이 통합되어 있어서 더 무거워졌기 때문에...
크게 이렇게 생각하는분들이 많을겁니다. 결론부터 말씀드리면 1번은 완전 틀린 생각입니다.
2번은 어느정도 맞긴하지만 성능을 굉장히 느려지게 할 만큼의 원인은 아닙니다.
에뮬레이터 용량이 커지면서 에뮬레이터의 실행이 느려진것 뿐이지 실제 게임 속도에는
크게 문제가 되지 않습니다.
왜 이런 현상이 생기는가 그 원인을 따져보자면 그 원인은 바로 실제 기기와 밀접한 관련이
있습니다. 대부분 오락실에서 게임을 해보신분은 많이들 계시겠지만 에뮬레이터와 실제 기기를
다 가지고 만져보신분은 굉장히 적습니다. 여러분들이 잘 아시는 Mame 의 목표는 바로
아케이드 기기의 보존을 위해 시작된 프로젝트입니다. 그러다보니 실기와 동일한 구동이
목표이기 때문에 실기 속도에 맞추는게 목표입니다.
위 질문에 1번에 틀린 이유를 말씀드리자면 과거 에뮬레이터는 실기의 정확한 분석을 통해
만들어지기 보다는 실기와 가깝게 구동하도록 만들어져 있습니다. 그래서 실기에 일부 부품들의
기능은 생략되거나 이렇게 동작할것이다라는 예상으로 구현된 부분이 많기 때문에 잘 구동이
되는것처럼 보일 뿐입니다.
그러다보니 느낌상으로 잘 구동되는것 같아도 실제로는 실기와 많은 차이가 있는 경우가 많습니다.
기술이 발전하고 실기에서 미처 몰라던 부분들이 점점 밝혀지면서 최신 버전의 에뮬레이터들은
실기에 점점 가깝게 구현이 되고 있습니다. 그러다보니 구동 속도나 기판에 작은 칩, 컨트롤러 같은
미세한 부분들까지 덤프되고 그 부분들의 구동에 필요한 부분들을 구현하고 실제 기판이 작동하는
클럭이나 기판의 사양으로 인해 느려지는 부분들까지 구현되고 있는 상황입니다.
글이 너무 길어지는것 같아 결론부터 말씀드리자면...
실제 기기와 최대한 동일한 동작을 맞추다 보니 게임 속도가 느려지게 느껴지는 게임들이
많이지게 되었습니다.
에뮬레이터는 100% CPU 연산을 통한 구동이기 때문에 GPU 의 영향은 굉장히 미비한 수준이기
때문에 당시의 하드웨어 사양이 낮다 하더라도 실제와 최대한 비슷하게 작동하도록 소프트웨어로
만든 부분을 에뮬레이팅하는데는 높은 CPU 가 필요해지게 되었습니다.
요즘 많이 사용하시는 라즈베리 파이 4, 오드로이드 N2+ 와 비슷하거나 더 높은 사양의 CPU 를
가진 기기들에서나 정상적인 속도로 구동할 수 있는 상황이죠. PC 의 경우 쿼드 코어의 3.0 GHz
이상을 가진 CPU 라면 어지간한 아케이드 게임들은 잘 구동되고 있습니다.
구 버전의 에뮬레이터가 가볍고 잘 작동하는 부분은 체감으로만 보면 정답이지만 사실 실기와
가까운가라고 질문해보면 그건 아니라고 대답할 수 있습니다.