aetty***
2026-03-29

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
[책리뷰] 레트로의 유니티 성능 최적화

https://www.hanbit.co.kr/store/books/look.php?p_code=B4508580257
그래픽 프로그래밍 관련 업계에서 일하고 있기 때문에 이 책은 굉장히 마음에 들었다. 최근 개발 추세를 보면 생산성이다 뭐다 하면서 일단 빠르게 개발하는 것에 초점을 맞추고 있다. 여기까지는 괜찮지만 그 다음이 문제다. 우선 결과물을 내놓고 성능이 안 좋으면 컴퓨터 사양을 더 높이라고 한다. 즉 프로그램, 앱의 성능을 높이거나 최적화 하는 방향이 아니라 구동시키는 컴퓨터, 하드웨어의 성능을 더 높이라고들 한다. 이런 방식은 느린 로딩, 버벅임, 잦은 프레임 드랍 등으로 결국 사용 불가로 이어지게 된다. 사실상 저사양 기기 사용자, 저속 네트워크 사용자, 예산이 적은 사용자들을 버리겠다는 말이다. 또한 유지보수 역시 어려워지기 때문에 사업적으로도 손해로 이어진다고 본다.
따라서 AI를 이용해 빠른 결과물을 내놓는 책이 만연한 요즘, 최적화라는 근본 서적이 나와서 정말 마음에 들었다. 이건 AI에도 적용시킬 수 있는데 더 적은 메모리, 더 빠른 알고리즘, 더 성능 좋은 프로그램은 AI 토큰 사용 시간/비용을 줄일 수 있기 때문이다. 게다가 이 책은 단순히 유니티 프로파일러 사용 방법을 알려주는 것이 아니라 병목 현상 분석부터 실질적인 해결까지 이어지는 올바른 접근 방식과 성능 최적화의 본질을 제대로 알려주고 있다.

책 제목에도 유니티가 포함되어 있듯이 기본적으로는 유니티를 활용해 실제 프로젝트를 개발하고 있으며, 성능 문제를 체계적으로 분석하고 해결하고 하는 개발자를 대상으로 한다. 저자가 말한 대상 독자는 다음과 같다.
그러나 유니티와 상관없이 그래픽 프로그래밍을 다루는 개발자라면 한 번쯤은 읽어볼 만하다고 생각한다. 최적화 대상이 유니티여서 그렇지 책에서 설명하는 내용은 그래픽 프로그래밍 분야 전부 동일하게 적용되기 때문이다. 특히 3장 스레드와 병목, 7장 메모리 구조의 이해는 반드시 읽어보았으면 한다.

예를 들어 챕터13을 보면 최적화 방법 중 하나의 오브젝트 풀 기법을 설명하고 있다. 오브젝트를 미리 많이 생성해두어서 생성/파괴 과정을 최대한 줄여서 FPS를 높이는 방법 중 하나다. 이런 기법은 특정 도구를 써야지만 사용할 수 있는 것이 아니기 엔진 프로그머들은 알아두면 좋은 내용이다.
프로파일러 기본 도구가 유니티와 iOS에 맞춰져있긴 하지만 어차피 대부분의 프로파일러 도구들이 비슷하기 때문에 큰 상관없이 볼 수 있다. 중요한 것은 해당 프로파일러 도구들을 이용해 성능 측정 및 최적화를 어떻게 하는지를 봐야한다.

6장 챕터 설명하는 페이지를 보면 각 OS별로 어떤 GPU 프로파일러를 대표적으로 사용하는지 알려준다. 책에서 설명은 iOS · macOS 환경에서 사용하는 Xcode Metal 디버거를 활용했지만, 윈도우나 안드로이드라면 다른 프로파일러를 사용하면 된다.
성능 최적화는 단순히 저사양 기기 사용자, 저속 네트워크 사용자, 예산이 적은 사용자들을 위한 것이 아니다. 예를 들어 성능 최적화를 통해 기존에 10가지 기능밖에 없는 프로그램이 100가지 기능을 가질 수 있게 될 수도 있다. AI 토큰을 사용할 때 서버 이용 시간이 1분이였던 것이 최적화를 통해 100ms로 줄어든다면, 그만큼 서버 이용 비용을 아낄 수 있게 된다. 아무리 AI 등장으로 개발 방법이 바뀌고 있다고 하더라도 근본적인 개발론은 바뀌지 않을 것이라 본다. 여기서 말하는 근본적인 개발론은 오랫 시간 동안 축척되어온 소프트웨어 개발론, 문제를 분석하고 해결하는 전문가의 사고 방식이다. 이 책은 성능 최적화에 대한 전문가의 사고 방식을 기를 수 있는 아주 좋은 참고서이다.