성능에뮬레이터문제 해결6분

맥 안드로이드 에뮬레이터 FPS: 초당 프레임을 착각 없이 측정하는 법

수정일 · MACOS EMULATOR 팀

내 안드로이드 에뮬레이터는 초당 몇 프레임이 나올까요? 게임이 걸릴 때 가장 먼저 떠오르는 질문이지만, 제대로 된 질문인 경우는 드뭅니다. 숫자 하나로는 게임이 끊기는지 알 수 없고, 활동 모니터는 프레임을 하나도 세지 않습니다. MACOS EMULATOR에서 제대로 측정하는 법과, 직접 확인할 수 있는 것을 정리했습니다.

초당 프레임 숫자로는 끊김을 알 수 없습니다

평균 초당 24프레임은 고르게 도착하는 24프레임일 수도 있고, 30과 15를 오가는 프레임일 수도 있습니다. 앞의 것은 불편 없이 플레이할 수 있고, 뒤의 것은 플레이할 수 없습니다. 저희가 측정한 한 사례에서는 프레임의 44%가 33ms 간격으로, 34%가 46ms를 넘겨 도착했습니다. 평균은 둘 중 어느 쪽도 보여 주지 않았습니다.

중요한 것은 제때 도착한 프레임의 비율과 가장 나쁜 간격입니다. 8GB M1에서 에뮬레이터를 30Hz로 두고 측정한 결과, 프레임의 100%가 제때 도착했고 가장 나쁜 간격도 38ms였습니다. 목표 주사율은 두 제한 가운데 낮은 쪽입니다. 런처의 “RENDER” 카드에서 정하는 에뮬레이터의 30Hz 또는 60Hz, 그리고 게임에 프레임 제한이 있다면 그 제한입니다.

성능 리포트: 게임을 멈추지 않고 6초

성능 리포트는 6초 동안 안드로이드가 게임 레이어에 실제로 표시한 프레임을 세고, 같은 순간 맥이 무엇을 하고 있는지 기록합니다.

  1. 1게임을 시작하고 몇 분 동안 플레이하세요. 메뉴에서 만든 리포트는 불편한 부분에 대해 아무것도 알려 주지 않습니다.
  2. 2도구 막대의 “Performance” 버튼(계기판 모양 아이콘)을 누르세요. “Screen fit”에서는 왼쪽 위, 창 모드에서는 오른쪽 가장자리에 있습니다.
  3. 3계속 플레이하세요. 6초가 지나면 버튼이 초록색 체크 표시로 바뀌고, 리포트가 복사됩니다.
  4. 4고객 페이지에서 “리포트 보내기”를 누르고 “성능 리포트” 칸에 붙여넣으세요. .txt 파일로 첨부되어 전송됩니다.

리포트는 런처의 “Settings”가 아니라 도구 막대에서 만드세요. “Settings”를 열면 런처가 앞으로 나오고 게임 창은 뒤로 가려지는데, macOS는 완전히 가려진 창을 더 이상 그리지 않습니다. 그때 센 프레임은 플레이를 보여 주지 않습니다.

복사된 리포트는 암호화되어 있어 직접 읽을 수 없고, 지원팀이 엽니다. 그 안에는 프레임 수와 일정함, 맥의 여유 메모리와 스왑, 발열 상태, 저전력 모드 여부, 맥에 가장 큰 부하를 주는 앱들이 담겨 있습니다. 그다음 게임에서 가장 부하가 큰 순간에, 가능하면 같은 장면에서 리포트를 두 개 더 만드세요. 끊김이 드러나는 곳이 바로 거기입니다.

런처 로그(“Settings” > “Logs” > “Copy”)는 같은 버튼의 두 번째 칸에 붙여넣고, 맥 사양도 함께 알려 주세요. Apple 메뉴 > 이 Mac에 관하여에서 볼 수 있습니다.

두 측정값, 착각 없이 비교하기

같은 맥, 같은 조건에서 연달아 측정한 다섯 번의 결과가 초당 20.0프레임에서 28.6프레임까지 벌어졌습니다. 측정값 하나를 다른 하나와 비교해서는 아무것도 증명되지 않습니다. 두 설정의 차이가 이 폭보다 작다면, 설명할 효과는 없는 것입니다.

  • 같은 장면: 서로 다른 장면은 비교할 수 없습니다.
  • 세션의 같은 시점: 기기를 시작하고 3분 뒤 초당 15프레임이 나왔던 측정은 33분째에는 다시 나오지 않았습니다.
  • 한 번에 하나만 바꾸기: 설정을 그대로 둔 리포트 하나, 설정 하나 변경, 에뮬레이터 다시 시작(메모리와 주사율은 다음 시작 때 적용됩니다), 그리고 두 번째 리포트.
  • 양쪽 모두 여러 번 측정하고, 중앙값으로 비교하기.
  • 조용한 맥: 부하가 코어 수를 넘으면 리포트가 스스로 그 측정을 비교할 수 없다고 표시합니다.

활동 모니터가 알려 주는 것과 알려 주지 않는 것

활동 모니터는 프레임을 하나도 세지 않지만, 무엇이 맥에 부담을 주는지는 보여 줍니다.

  • 메모리 탭: 메모리 압력이 노란색이나 빨간색이면 맥의 메모리가 모자란다는 뜻입니다. 목록을 메모리 순으로 정렬하고, 몇 GB씩 차지한 앱을 닫으세요.
  • CPU 탭: % CPU 순으로 정렬하면 맥에 부하를 주는 것이 보입니다. 디스코드 화면 공유 하나가 프로세서의 절반 가까이를 씁니다.

잘못 읽기 쉬운 숫자가 둘 있습니다. 앱의 % GPU 열은 그래픽 칩의 사용률이 아닙니다. 그리고 사용한 스왑은 흐름이 아니라 쌓인 양입니다. macOS는 디스크에 써 둔 것을 스스로 다시 가져오지 않으므로, 몇 GB의 스왑이 몇 시간 전에 열었던 앱의 흔적일 뿐 지금은 아무 부담도 아닐 수 있습니다.

반대 경우도 있습니다. macOS가 메모리를 디스크에 쓰는 대신 압축하면, 스왑이 적다고 메모리가 충분한 것은 아닙니다. 16GB 맥미니 M4의 한 플레이어가 바로 이 압축에 걸렸습니다. 에뮬레이터에 준 메모리 가운데 RAM에 남아 있던 것은 7%뿐이었습니다. 그 뒤의 이야기는 맥미니 에뮬레이터 가이드에 있습니다.

리포트에서 가장 자주 보이는 것

게임이 버벅일 때도 그래픽 칩은 대개 성능의 절반도 쓰지 않습니다. 먼저 무너지는 쪽은 맥의 메모리입니다. 8GB 맥에서 여유 메모리 1.5GB, 이미 디스크로 밀려난 데이터 4.2GB를 측정한 적이 있습니다. 그다음은 macOS의 저전력 모드와, 에뮬레이터에 준 과도한 메모리입니다. 느린 안드로이드 에뮬레이터를 위한 설정에서 측정값과 함께 하나씩 짚어 봅니다.

자주 묻는 질문

맥 안드로이드 에뮬레이터의 FPS는 어떻게 보나요?

도구 막대의 “Performance” 버튼이 게임을 멈추지 않고 6초 동안 측정합니다. 복사된 리포트는 암호화되어 있으니, 고객 페이지의 “리포트 보내기”로 보내 주세요. 지원팀이 읽습니다.

왜 초당 30프레임이 60프레임보다 부드러워 보일 수 있나요?

화면에서 보이는 것은 일정함이기 때문입니다. 모두 제때 도착하는 30프레임이, 일부가 늦게 도착하는 60프레임보다 낫습니다.

활동 모니터로 에뮬레이터의 FPS를 측정할 수 있나요?

아니요. 프레임은 하나도 세지 않습니다. 메모리 압력과 맥에 부하를 주는 앱을 보여 줍니다.

성능 리포트는 언제 만들어야 하나요?

게임 중에, 몇 분 플레이한 뒤 도구 막대에서 만드세요. 메뉴나 “Settings”에서는 안 됩니다. 그다음 가장 부하가 큰 순간에 같은 장면에서 두 개 더 만드세요.

두 번 측정했는데 숫자가 달라요. 정상인가요?

네. 같은 조건, 같은 맥에서 다섯 번 측정한 결과가 초당 20.0프레임에서 28.6프레임까지 벌어졌습니다. 같은 장면을, 같은 시점에, 여러 번 측정해 비교하세요.