나는 사용되는 모든 오브젝트를 인스펙트에서 달아주거나 혹은 그냥 미리 생성해놓고 비활성화 활성화 하는식으로하면
메모리를 많이 먹을 것 같아서 필요할 때 마다 Resources.Load하고 Instantiate 하고 다 쓰면 삭제하고 해제 하려고 하는데.
검색좀 해보니간 오히려 이렇게 계쏙 부르고 넣고 삭제하고 하면 메모리에 더 안좋다고 하더라고 어떤게 더 메모리에 좋을까?
나는 사용되는 모든 오브젝트를 인스펙트에서 달아주거나 혹은 그냥 미리 생성해놓고 비활성화 활성화 하는식으로하면
메모리를 많이 먹을 것 같아서 필요할 때 마다 Resources.Load하고 Instantiate 하고 다 쓰면 삭제하고 해제 하려고 하는데.
검색좀 해보니간 오히려 이렇게 계쏙 부르고 넣고 삭제하고 하면 메모리에 더 안좋다고 하더라고 어떤게 더 메모리에 좋을까?
하아. .
언조비카이
Cpp에선 메모리 풀 구현했엇는데 씨샵은 잘 몰겟네요 - dc App
상황에 따라 적당히 섞어 쓰는거지. 무조건 이게 좋다 나쁘다라는 건 없다
Resource.Load랑 Instanciate를 같이쓰는건 엄청나게 무거운방법이라 차라리 전자처럼 하셈 근데 굳이 저렇게 하는게 같은 클래스를 가진 객체가 많아서 그럼?
만일 그렇다면 오브젝트풀링을 활용하거나 잡시스템 처럼 병렬처리 하는법도 알아보는게 좋음
유니티 WebGL에서 메모리좀 조금이라도 아껴보려고 UI같은거 그냥 사용하는거 다 박아두고 활성 비활성만 해주누냐 그 떄 필요할 때마다 생성하느냐 고민 하고 있었거든
UI면 그냥 씬에 박아넣고 관리하셈...
메모리가 많이 열약하다고 가정하고 메모리 면에서 그냥 다 박아넣고 관리하는게 더 효율적임? 이 유니티 webgl이 ios는 모바일 지원안한는데 그냥 ios에서 사용하는거라 이 ios 사파리에서는 캐시되서 뭐 메모리 부족하면 에러 뱉고 뭐 설정에서 캐시 지우기 이런거 하고 막 이래야 하더라고.
만일 메모리때문에 문제가 생긴다면 ui가 아니라 다른쪽에 생길거임 ui정도는 Destroy한다고 메모리가 극적으로 확보되거나 하진 않음 그래도 혹시 모르니 프로파일러보면서 어디서 메모리 먹는지 체크해보셈
나도 프로파일러 보고 하고 싶은데 webgl을 서버에 올리면 프로파일러가 안되는거 같아서.. 어쩃든 답변 감사~
필요할 때 마다 Resources.Load <- 다메요... 쓸거면 public으로 넣어주고 생성하자
아하, public 으로 인스펙터에서 다 박아 두거나 혹은 그냥 미리 하이어라키 뷰에 만들어 놓고 활성 비활성화 하는게 더 메모리 절약되는거임?
프로파일러 돌려