예를 들어서 어드레서블에 등록한 이펙트 프리팹이 있다고 가정할게요. 이 프리팹을 로드해서 게임에서 사용을 해요.
근데 그 이펙트가 어쨋든 1회성으로 생겼다가 파괴되잖아요.
그러면 그 이펙트가 파괴되면서 ReleaseAsset 함수로 메모리 해제를 해주어야 한다는거임 매번? 그 리소스 로드해서 사용한 다음에?
댓글 5
10분 후 쯤 다시 쓸거면 해제 ㄱㄱ
ㅇㅇ 1(121.149)2024-07-23 19:14:00
답글
ㅇㅎ 그니깐 좀 자주 로드하는건 굳이 매번안해줘도 되긴하는데 그래도 좀 텀이 있다면 삭제되면서 해제까지 해주기?
글쓴 ㅇㅇ(222.120)2024-07-23 19:14:00
유니티는 에셋 번들 단위로 메모리 올리고 내리고 하기 때문에 기본 설정일 때 어드레서블은 그룹 하나가 에셋 번들임 그룹에 있는거 전부 릴리즈 되어야 메모리에서 비로소 내려감 프로파일러에서 어드레서블 메모리 올라가고 내려가고 하는거 보면 이해 될거임 그렇다고 그룹을 너무 많이 쪼개면 메모리 관리에선 이점이 있지만 그룹 자체가 일정한 메모리 오버헤드가 있고 너무 많으면 성능도 저하되니깐 무조건 테스트 해보면서 나눠야 됨
익명(121.128)2024-07-23 21:29:00
저도 최근에 공부중인데 "감귤 Addressable" 검색해보시면 프로파일로 Release() 했을 떄, 변화보여준거 있어요.
Bundle의 하위 Asset의 Count가 0 이 되어야 불러온 Bundle 이 내려가거든요.
Catalogs는 한 번 Load 되면 기본적으로 안내려가게 되어있고요.
(Addressables 2.0 이상부터는 "프로파일러"에 통합되어 있고, 별도의 프로파일러 패키지 받아야 "Addressable Asset" 볼 수 있어요. + PlayMode를 FAST 적힌거 말고 그 아래에 있는 Packed로 해야 트랙킹 되요. )
StellarBear(arise3606)2024-07-24 02:46:00
답글
혹시, 6 버전에서 하실 떄는 무슨 문제인지 잘 모르겠지만 TextureType을 Sprite로 바꿔도 Texture2D 로 읽히는 문제가 있어요
10분 후 쯤 다시 쓸거면 해제 ㄱㄱ
ㅇㅎ 그니깐 좀 자주 로드하는건 굳이 매번안해줘도 되긴하는데 그래도 좀 텀이 있다면 삭제되면서 해제까지 해주기?
유니티는 에셋 번들 단위로 메모리 올리고 내리고 하기 때문에 기본 설정일 때 어드레서블은 그룹 하나가 에셋 번들임 그룹에 있는거 전부 릴리즈 되어야 메모리에서 비로소 내려감 프로파일러에서 어드레서블 메모리 올라가고 내려가고 하는거 보면 이해 될거임 그렇다고 그룹을 너무 많이 쪼개면 메모리 관리에선 이점이 있지만 그룹 자체가 일정한 메모리 오버헤드가 있고 너무 많으면 성능도 저하되니깐 무조건 테스트 해보면서 나눠야 됨
저도 최근에 공부중인데 "감귤 Addressable" 검색해보시면 프로파일로 Release() 했을 떄, 변화보여준거 있어요. Bundle의 하위 Asset의 Count가 0 이 되어야 불러온 Bundle 이 내려가거든요. Catalogs는 한 번 Load 되면 기본적으로 안내려가게 되어있고요. (Addressables 2.0 이상부터는 "프로파일러"에 통합되어 있고, 별도의 프로파일러 패키지 받아야 "Addressable Asset" 볼 수 있어요. + PlayMode를 FAST 적힌거 말고 그 아래에 있는 Packed로 해야 트랙킹 되요. )
혹시, 6 버전에서 하실 떄는 무슨 문제인지 잘 모르겠지만 TextureType을 Sprite로 바꿔도 Texture2D 로 읽히는 문제가 있어요