Scientia Conditorium

[책리뷰] 레트로의 유니티 성능 최적화 본문

서평/IT-책

[책리뷰] 레트로의 유니티 성능 최적화

크썸 2026. 3. 29. 21:44

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

[책리뷰] 레트로의 유니티 성능 최적화

https://www.hanbit.co.kr/store/books/look.php?p_code=B4508580257

 

전반적인 소감 및 마음에 드는 부분

그래픽 프로그래밍 관련 업계에서 일하고 있기 때문에 이 책은 굉장히 마음에 들었다. 최근 개발 추세를 보면 생산성이다 뭐다 하면서 일단 빠르게 개발하는 것에 초점을 맞추고 있다. 여기까지는 괜찮지만 그 다음이 문제다. 우선 결과물을 내놓고 성능이 안 좋으면 컴퓨터 사양을 더 높이라고 한다. 즉 프로그램, 앱의 성능을 높이거나 최적화 하는 방향이 아니라 구동시키는 컴퓨터, 하드웨어의 성능을 더 높이라고들 한다. 이런 방식은 느린 로딩, 버벅임, 잦은 프레임 드랍 등으로 결국 사용 불가로 이어지게 된다.  사실상 저사양 기기 사용자, 저속 네트워크 사용자, 예산이 적은 사용자들을 버리겠다는 말이다. 또한 유지보수 역시 어려워지기 때문에 사업적으로도 손해로 이어진다고 본다.

따라서 AI를 이용해 빠른 결과물을 내놓는 책이 만연한 요즘, 최적화라는 근본 서적이 나와서 정말 마음에 들었다. 이건 AI에도 적용시킬 수 있는데 더 적은 메모리, 더 빠른 알고리즘, 더 성능 좋은 프로그램은 AI 토큰 사용 시간/비용을 줄일 수 있기 때문이다. 게다가 이 책은 단순히 유니티 프로파일러 사용 방법을 알려주는 것이 아니라 병목 현상 분석부터 실질적인 해결까지 이어지는 올바른 접근 방식과 성능 최적화의 본질을 제대로 알려주고 있다.



 

대상 독자 및 책 난이도

책 제목에도 유니티가 포함되어 있듯이 기본적으로는 유니티를 활용해 실제 프로젝트를 개발하고 있으며, 성능 문제를 체계적으로 분석하고 해결하고 하는 개발자를 대상으로 한다. 저자가 말한 대상 독자는 다음과 같다.

  • 유니티로 게임을 개발한 경험은 있으나 프레임 드롭, 메모리 증가, 로딩 지연과 같은 성능 문제의 원인을 명확히 설명하기 어려운 개발자
  • 프로파일러를 사용해본 경험은 있지만 수집된 데이터를 어떻게 해석하고 최적화로 연결해야 할지 막막했던 개발자
  • 감에 의존한 최적화가 아니라 지표와 근거를 기반으로 성능 문제를 정의하고 개선하고자 하는 실무 개발자
  • 모바일, 콘솔, PC 등 다양한 플랫폼 환경에서 유니티 프로젝트의 성능 안정성을 확보해야 하는 개발자

그러나 유니티와 상관없이 그래픽 프로그래밍을 다루는 개발자라면 한 번쯤은 읽어볼 만하다고 생각한다. 최적화 대상이 유니티여서 그렇지 책에서 설명하는 내용은 그래픽 프로그래밍 분야 전부 동일하게 적용되기 때문이다. 특히 3장 스레드와 병목, 7장 메모리 구조의 이해는 반드시 읽어보았으면 한다. 

예를 들어 챕터13을 보면 최적화 방법 중 하나의 오브젝트 풀 기법을 설명하고 있다. 오브젝트를 미리 많이 생성해두어서 생성/파괴 과정을 최대한 줄여서 FPS를 높이는 방법 중 하나다. 이런 기법은 특정 도구를 써야지만 사용할 수 있는 것이 아니기 엔진 프로그머들은 알아두면 좋은 내용이다.

 

다루는 내용과 범위

프로파일러 기본 도구가 유니티와 iOS에 맞춰져있긴 하지만 어차피 대부분의 프로파일러 도구들이 비슷하기 때문에 큰 상관없이 볼 수 있다. 중요한 것은 해당 프로파일러 도구들을 이용해 성능 측정 및 최적화를 어떻게 하는지를 봐야한다.

  • 최적화의 기본 개념과 접근법
  • 프로파일링과 데이터 분석
  • 메모리 구조와 관리 전략
  • 그래픽스 최적화
  • CPU와 스크립트 최적화
  • 프로젝트 최적화

 

6장 챕터 설명하는 페이지를 보면 각 OS별로 어떤 GPU 프로파일러를 대표적으로 사용하는지 알려준다. 책에서 설명은 iOS · macOS 환경에서 사용하는 Xcode Metal 디버거를 활용했지만, 윈도우나 안드로이드라면 다른 프로파일러를 사용하면 된다.

 

결론

성능 최적화는 단순히 저사양 기기 사용자, 저속 네트워크 사용자, 예산이 적은 사용자들을 위한 것이 아니다. 예를 들어 성능 최적화를 통해 기존에 10가지 기능밖에 없는 프로그램이 100가지 기능을 가질 수 있게 될 수도 있다. AI 토큰을 사용할 때 서버 이용 시간이 1분이였던 것이 최적화를 통해 100ms로 줄어든다면, 그만큼 서버 이용 비용을 아낄 수 있게 된다. 아무리 AI 등장으로 개발 방법이 바뀌고 있다고 하더라도 근본적인 개발론은 바뀌지 않을 것이라 본다. 여기서 말하는 근본적인 개발론은 오랫 시간 동안 축척되어온 소프트웨어 개발론, 문제를 분석하고 해결하는 전문가의 사고 방식이다. 이 책은 성능 최적화에 대한 전문가의 사고 방식을 기를 수 있는 아주 좋은 참고서이다.