일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 플레이어 이동
- raycast
- Ainimation Blending
- raycasting
- CSharp #자료구조
- Object Poling
- 오브젝트 풀링
- Blend Type
- Parallax
- Transform
- 프리팹
- Prefabs
- rigidbody
- 스크롤링
- 2D슈팅게임
- Scrooling
- 유니티
- Hpbar
- Hp바
- Object Pooling
- joystick
- rotation
- LayerMark
- Vector3
- 일시정지
- Animation State Machine
- apk
- Unity
- 플레이어 방향전환
- 패럴렉스
- Today
- Total
목록GameEngine/Pattern, Optimization, Etc (2)
주녘공부일지
싱글톤 패턴 (Singleton Pattern) 이란? 특정 클래스의 객체(instance)가 오직 하나만 존재하기 원할 때 사용하는 디자인 패턴으로 최초 한번만 메모리를 할당하고 메모리에 인스턴스를 만들어 재사용하는 디자인 패턴 - 즉, 오직 한 개의 클래스 인스턴스만 갖도록 보장하며, 전역 접근점은 제공하는 디자인 패턴 1) 싱글톤 패턴의 장점 - 사용하지 않으면 인스턴스를 생성하지 않으며, 고정된 메모리 영역을 사용하므로 메모리 낭비 방지가 가능 - 다른 클래스의 인스턴스들이 데이터를 공유하기 편리한 등의 쉬운 접근성 2) 싱글톤 패턴의 단점 ( 전역 변수 ) - 코드 이해 난이도를 높일 수 있음 ( 참조가 너무 많아 버그 추적이 어려움, 등 ) - 인스턴스들 간에 결합도가 높아짐 ( 객체 지향 설..
Object Pooling : 오브젝트를 재활용하기 위한 디자인 패턴 ( 최적화 ) 빈번히 생성, 파괴되는 오브젝트들을 풀에 모아서 미리 생성해놓고 활성화 / 비활성화로 관리하며 재사용 - 런타임 중에 수십개의 다른 오브젝트를 생성하고 파괴하는 것은 성능적으로 굉장히 많은 공간을 차지하기 때문에, 미리 생성함으로써 런타임에서의 불필요한 메모리 낭비를 최소화하지만, Loading 시간이 소요됨 - C++은 힙에 메모리 공간을 할당하고 원하는 시점에 삭제할 수 있지만, ( new, delete ) C#은 사용하지 않는 메모리가 생기면 가비지 컬렉트(GC)가 일정 주기마다 메모리를 정리하기 때문에 GC의 실행 시점을 제어하기 위해서도 사용 - 만약, 풀 안에 오브젝트를 가져오려고 할 때, 모든 오브젝트가 사용..