유니티
-
Unity - 메모리 프로파일러보관함 2020. 8. 30. 11:58
우선 기존에 유니티 2018 버전 이전에 사용할 수 있었던 메모리 프로파일러를 공유하던 사이트가 사라짐에 따라 유니티 2018 이전 버전에서는 메모리 프로파일러를 이용할 수 없게 됐음을 알린다. 메모리 프로파일러 설치 방법 [Window] - [Package Manager]를 눌러 패키지 매니저 창을 열어준다. 패키지 매니저에서 Advanced라고 적혀있는 메뉴를 누른 뒤 [Show preview packages]를 누른다. 메모리 프로파일러가 프리뷰 버전이기 때문에 설정해주지 않으면 리스트에 보이지 않는다. 이후 리스트에서 Memory Profiler를 찾아 클릭 후 Install 버튼을 눌러 설치해 주면 된다. 메모리 프로파일러 설치 후 실행 방법 설치가 완료된 이후에는 기존 Profiler와 동일한..
-
Unity - 메모리 프로파일러(모듈)보관함 2020. 8. 5. 08:06
메모리 프로파일러 모듈의 구성 먼저 메모리 프로파일러는 CPU 프로파일러와는 달리 프레임 차트를 거의 보지 않는다. 이유는 다음과 같다. 메모리의 특성 메모리는 CPU와는 달리 특정 지점에서 피크가 생기지 않기에 전체적인 수치를 낮춰야 한다. 매니지드 언어의 특성 C#의 경우 매니지드 언어이기 때문에 사용자가 메모리 언로드 시점을 정하는 것이 아닌 GC를 Garbage Collect(이후 GC)를 통해 이뤄지므로 메모리의 변화가 GC를 기준으로 이뤄진다. 그렇기에 메모리 프로파일링에서는 메모리 프로파일러 모듈의 세부 정보창을 기준으로 작업을 진행하게 된다. 메모리 프로파일러 모듈의 세부 정보창은 Simple모드와 Detailed 모드로 나뉜다. 이를 간략하게 설명하면 다음과 같다. Simple 모드 메모..
-
Unity - CPU 프로파일러보관함 2020. 7. 22. 20:50
CPU 프로파일러의 구성 CPU 프로파일러 모듈은 다음의 항목의 성능을 확인한다. Rendering Script Physics Animation GarbageCollector VSync Global Illumination UI Others 이러한 항목은 자신이 만들고 있는 프로그램에 따라 주로 확인하게 되는 부분이 달라지겠지만 게임의 경우 일반적으로 Rendering, Animation은 항상 확인해야 한다. CPU 프로파일러에서는 특히 프레임 차트를 확인하여 프로파일이 진행되게 되는데 프레임 차트에서 CPU 사용률이 치솟는 지점을 선택하여 상세 정보를 확인하는 형태로 진행되기 때문이다. 모듈 세부 정보 창은 프레임 차트에서 특정 지점을 선택할 때 동작하며 좌 상단의 드롭박스를 통해 사용할 모드를 선택할..
-
Unity - 프로파일러란?보관함 2020. 7. 19. 20:42
유니티의 프로파일러란? 유니티의 프로파일러에 대해 알기 전에 프로파일링의 프로그램 세계에서의 의미를 확인하면 다음과 같다. 프로파일링(profiling, 프로그램 프로파일링/소프트웨어 프로파일링) 또는 성능 분석은 프로그램의 시간 복잡도 및 공간(메모리), 특정 명령어 이용, 함수 호출의 주기와 빈도 등을 측정하는 동적 프로그램 분석의 한 형태이다. 프로파일링 정보는 대개가 프로그램 최적화를 보조하기 위해 사용된다. - 위키백과[프로파일링 (컴퓨터 프로그래밍) 항목 中] 이것을 통해 유니티의 프로파일러가 유니티로 만들어진 프로그램의 성능을 분석하고 그것의 결과물을 이용해 최적화를 하기 위한 툴이라는 것을 알 수 있다. 프로파일러 실행 방법 최신 버전의 유니티에서는 상단 메뉴의 [Window] - [Ana..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 프로토타입보관함 2020. 2. 8. 19:08
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 네 번째 패턴인 프로토타입 패턴을 살펴보고 유니티에 적용된 프로토타입 패턴인 프리팹에 대해 이해하는 것을 목표로 한다. 프로토타입 패턴이란?) [GoF디자인 패턴]에서는 프로토타입 패턴을 다음과 같이 소개했다. 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성합니다. 이 프로토타입 패턴의 핵심을 저자는 다음과 같이 설명했다. 핵심은 어떤 객체가 자기와 비슷한 객체를 스..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 관찰자보관함 2020. 2. 1. 15:37
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 세 번째 패턴인 관찰자 패턴을 살펴보고 유니티로 관찰자 패턴을 이용한 업적 시스템을 만드는 것을 목표로 한다. 관찰자 패턴이란?) [GoF디자인 패턴]에서는 관찰자 패턴을 다음과 같이 소개했다. 객체 사이에 일 대 다의 의존 관계를 정의해두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 업데이트될 수 있게 만듭니다. 이것을 다시 말하면 어떤 기능을 담당하는 시스템을 객체가 구독..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 경량보관함 2020. 1. 27. 12:39
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 두 번째 패턴인 경량 패턴을 살펴보고 유니티에서 어떻게 사용되었는지 파악하는 것을 목표로 한다. 경량 패턴이란?) [GoF디자인 패턴]에서는 경량 패턴을 다음과 같이 소개했다. 공유(shring)를 통해 많은 수의 소립(fine_grained) 객체들을 효과적으로 지원합니다. 저자는 경량 패턴을 게임에서 숲을 그리는(렌더링하는) 것으로 설명했다. 가령 숲에 많은 수의 나무가 존재하는데 멀리에서 볼 때는 나무가 비슷해 보이므로 객체..