반응형 Unity3D3 반응형 [Unity] 강력한 기능의 오브젝트풀(ObjectPool) 추천 1. 오브젝트풀(ObjectPool) 이란? 유니티 뿐만 아니라 모든 개발 플랫폼에서 인스턴스의 생성과 삭제는 매우 무거운 작업이다. 그리고 C# 기반의 유니티는 메모리 관리를 플랫폼이 담당하므로 가비지 컬렉션의 발생 타이밍을 직접 컨트롤 할 수 없기 때문에 예상치 못한 퍼포먼스 저하가 발생 할 수 있다. 이런 상황을 방지하기 위해 생성 가능한 인스턴스 갯수만큼의 메모리를 미리 할당해 풀에 넣어두고 필요할 때 꺼내고 사용이 끝나면 풀에 다시 반납해 나중에 재사용 할 수 있게 해주는 오브젝트 풀의 존재는 필수이다. 이런 오브젝트 풀을 통해 인스턴스 생성, 삭제 및 가비지 컬렉션 비용에서 매우 큰 이득을 얻을 수 있다. 또한 비슷한 뜻으로 오브젝트풀(ObjectPool) 을 메모리풀(MemoryPool) 이.. 2019. 9. 18. [Unity] UniRx - ObservableWWW obsolete 해결 방법. UniTask를 사용하자 UniRx 의 ObservableWWW 은 매우 유용한 기능이지만 유니티 2018.3 이후 버전 부터는 실행시 아래와 같은 경고가 발생한다. 경고 CS0618 'ObservableWWW'은(는) 사용되지 않습니다. 'Use UnityWebRequest, a fully featured replacement which is more efficient and has additional features' 이는 Unity3D 에서 UnityEngine.WWW 가 deprecate 되면서 내부적으로 이를 사용하던 ObservableWWW 역시 obsolete 되었기 때문이다. 현재 유니티의 최신 버전인 2019.2 에서도 일단 작동 자체는 문제가 없지만 언제 기능이 삭제될지 알수 없기 때문에 가급적 수정해 주는 것.. 2019. 9. 12. [Unity] 유니티에서 Ping 체크 하는 방법 유니티는 Ping 체크를 위해 UnityEngine:Ping 클래스를 제공한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 using System.Net; public void CheckPing(string address) { StartCoroutine(StartPing(address)); } IEnumerator StartPing(string adress) { WaitForSeconds f = new WaitForSeconds(0.05f); Ping p = new Ping(adress); while (p.isDone == false) { yield return f; } PingFinished(p); } public void PingFinishe.. 2019. 8. 30. 이전 1 다음