TIL

[TIL] 내일배움캠프_Unity 최종 프로젝트 1주차: 기획 4, 기술 면접 대비 3일차

Hwone 2023. 10. 27. 03:12

1주차:  기획/SA 작성

팀 프로젝트 회의 내용 

- 데이터 설계 

- 구조 설계

 

 데이터 설계는 처음 해봤다 이전의 미니 프로젝트에서는 세부 기획과 마찬가지로 일단 각자 개발하는 사람들이 임의의 값을 넣고 게임 마무리 후 밸런스 패치를 하는 방식으로 진행했었다 물론 이번에도 밸런스 패치후에 값을 조정해야겠지만 이전과 달리 규모가 크기 때문에 (출시까지 생각하고 있기 때문에) 이것 또한 확실하게 ! 정하고 또 어떤 데이터를 가져야 하는지 까지 생각하면서 어떤 구조를 가져야하는지에 대해서도 같이 함께 생각하며 회의를 진행하였다 

 

UI 구조설계 부분을 진행하는 중에 런타임용 탭 메뉴 생성에 대해서 어떻게 하면 드로우 콜을 줄이고 최적화를 할 수 있을까 ? 에 대해 신경을 많이 썼다

 

일단 드로우콜이란 ? GPU에게 오브젝트를 화면에 그리라고 명령하는 것이다 

드로우콜을 줄여야하는 이유는 (최적화) GPU가 오브젝트를 화면에 그리는 시간이 필요한데, 한 프레임에 그려야할 횟수가많으면 FPS가 낮아지고 모바일기기에서는 GPU 부하로 인해 발열 이슈가 생긴다 

 

유니티에서 UI 엘리먼트의 내용이나 상태가 변경될 때 드로우콜이 발생할 수 있다 예를들면, 텍스트나 이미지 등의 UI 에리먼트가 동적으로 변경되면 이에 대응하는 드로우콜이 호출된다 

 

이처럼 줄이기 위해 어떤 방식으로 탭 기능을 구현할까 고민하며 UnityDocumetation도 보고 여러 블로그도 찾아보았고

다 그려두고 order in layer를 변경해주어 드로우 콜을 줄여보는 방식으로 결정이 되었다 

 

이처럼 여러 구조를 고민하며 최적화에 대해 신경써야 하는 부분이 많을 것 같다.. 최적화에 대한 공부도 더 해야겠다 ...

 

기술면접 대비 3일차 ! 


Q: 접근제한자란 무엇이며 각각 어떤 차이가 있는지 비교해서 설명해주세요

 

A: 접근제한자란 ? 멤버에 대한 외부에서의 접근 권한을 지정하는 키워드이며 외부에서는 접근이 불가능한 private, 외부에서도 접근이 가능한 public, 상속받은 파생 클래스에서만 접근이 가능한 protected, 동일한 어셈블리내에서만 접근 가능한 internal이 있습니다