게임 · 중급
반투명 이펙트와 UI를 화면에 많이 겹쳐 놓았더니 특히 모바일에서 프레임이 크게 떨어졌습니다. 오버드로우와 알파 블렌딩 관점에서 원인과 대응을 설명해 주세요.
힌트 · 같은 픽셀을 여러 번 칠하는 비용, 반투명이 깊이 테스트로 걸러지지 못하고 정렬이 필요한 이유, 모바일의 메모리 대역폭 제약을 연결해 설명하세요.
오버드로우알파 블렌딩깊이 테스트필레이트알파 테스트/컷아웃
모범답안
원인은 오버드로우로 인한 필레이트와 메모리 대역폭 포화입니다. 불투명 물체는 깊이 테스트로 가려진 픽셀을 미리 버릴 수 있지만, 알파 블렌딩은 뒤 픽셀 값을 읽어 섞어야 해서 깊이 쓰기를 끄고 뒤에서 앞으로 정렬해 그리기 때문에 겹친 레이어 수만큼 픽셀을 반복해 칠합니다. 모바일은 대역폭이 좁아 이 비용이 더 크게 나옵니다. 대응은 오버드로우 뷰로 겹침 구간을 먼저 측정하고, 파티클 개수와 크기 축소, 빈 여백이 큰 텍스처의 폴리곤 타이트화, 전체 화면을 덮는 반투명 레이어 제거, 가능한 경우 컷아웃으로 전환입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 게임 개발 면접 질문
- 충돌 검출에서 AABB, 구(Sphere), 레이캐스트를 각각 어떤 상황에 사용하는지 비교해 주세요.
- 물리 엔진에서 리지드바디와 트리거(콜라이더의 트리거 모드)의 차이는 무엇인가요?
- 프레임이 목표치에 못 미칠 때 CPU 바운드인지 GPU 바운드인지 어떤 방법으로 구분하시겠어요? 판단 근거와 각 경우의 대응 방향을 함께 말씀해 주세요.
- 빠르게 움직이는 총알이 얇은 벽을 그냥 통과해 버리는 문제가 보고됐습니다. 왜 이런 현상이 생기는지와 어떤 해결책들이 있는지 설명해 주세요.
- 수천 개 오브젝트가 서로 근접 판정을 해야 하는 상황에서 공간 분할을 도입한다면, 균일 그리드와 쿼드트리·옥트리 중 무엇을 어떤 기준으로 선택하시겠어요?
- 위치 보간에는 Lerp를, 회전 보간에는 Slerp를 쓰라는 이야기를 하는데 그 이유가 무엇인지 설명해 주시고, 매 프레임 Lerp를 호출해 목표값을 따라가게 만드는 코드의 주의점도 말씀해 주세요.