유니티 가비지 컬렉션 동작 원리 (Managed Heap과 Mark & Sweep 이해하기)
유니티 가비지 컬렉션은 성능 문제를 이해하기 위해 반드시 알아야 하는 핵심 개념입니다. 이전 글에서는 유니티 GC가 프레임 드랍을 만들 수 있는 이유를 정리했습니다. 이번 글에서는 한 단계 더 들어가서 유니티 가비지 컬렉션이 실제로 어떻게…
Series Archive
게임 개발 및 프로그래밍에 관련된 주제에 대한 카테고리 입니다.
유니티 가비지 컬렉션은 성능 문제를 이해하기 위해 반드시 알아야 하는 핵심 개념입니다. 이전 글에서는 유니티 GC가 프레임 드랍을 만들 수 있는 이유를 정리했습니다. 이번 글에서는 한 단계 더 들어가서 유니티 가비지 컬렉션이 실제로 어떻게…
게임을 플레이하다 보면 이런 경험이 있습니다. “FPS는 잘 나오는데 가끔씩 화면이 끊긴다” 평균 프레임은 괜찮은데, 순간적으로 툭 끊기는 느낌이 드는 경우입니다. 이 문제의 대표적인 원인 중 하나가 바로 유니티 GC (가비지 컬렉션)입니다. 👉 GC는…
👉 이 순서를 지키는 것만으로도 최적화 속도가 크게 빨라집니다. 유니티 최적화는 무엇부터 시작해야 할까요? 지금까지 시리즈를 통해 다음 내용을 정리했습니다. CPU Bound vs GPU Bound 구분 Draw Call과 Batching (CPU 최적화) Overdraw (GPU…
유니티 Overdraw는 GPU 성능을 확인할 때 반드시 이해해야 하는 개념입니다. 앞선 글에서는 CPU Bound와 GPU Bound를 구분하는 방법, 그리고 CPU Bound 상황에서 Draw Call과 Batching이 왜 중요한지 정리했습니다. 이번 글에서는 GPU Bound 상황에서…
유니티 Draw Call이 많아지면 왜 성능이 떨어질까요? 유니티 드로우콜을 줄여야 한다는 이야기는 많이 들어봤지만, 실제로 왜 줄여야 하는지 정확히 이해하지 못한 경우가 많습니다. 이전 글을 통해 유니티 FPS가 떨어지는 이유를 파악했다면, 이제 다음…
유니티 FPS 떨어지는 이유는 무엇일까요? 유니티를 활용해 프로젝트를 진행하다 보면 최적화 관련된 고민을 하는 순간이 올 때가 있습니다. “갑자기 FPS가 60에서 30으로 떨어졌다” “최적화를 한다고 했는데도 성능이 좋아지지 않는다” “Draw Call을 줄였는데 왜 그대로지?”…
🚀 들어가며 게임을 만들다가 이런 경험을 해보셨을 겁니다. 컴퓨터가 빠르면 게임이 빨라지고 컴퓨터가 느리면 게임이 느려진다 같은 코드인데 실행 환경에 따라 게임 속도가 달라집니다. 이 문제를 해결하는 핵심 개념이 바로 deltaTime입니다. 🎯 문제 상황…
📚 입력 시스템 시리즈 1편: GetAsyncKeyState로 키 입력 처리 2편: Pressed / Held / Released 상태 관리 3편: 입력 시스템을 엔진 구조로 확장 🚀 들어가며 이전 글에서는 키 입력을 단순히 확인하는 것을 넘어서, Pressed…
📚 입력 시스템 시리즈 1편: GetAsyncKeyState로 키 입력 처리 2편: Pressed / Held / Released 상태 관리 3편: 입력 시스템을 엔진 구조로 확장 🚀 들어가며 이전 글에서는 GetAsyncKeyState를 이용해 입력 상태 관리하는 방법을 살펴봤습니다.…
📚 입력 시스템 시리즈 1편: GetAsyncKeyState로 키 입력 처리 2편: Pressed / Held / Released 상태 관리 3편: 입력 시스템을 엔진 구조로 확장 🚀 들어가며 게임을 만들다 보면 가장 먼저 필요한 기능 중 하나가…