레이블이 addressable인 게시물을 표시합니다. 모든 게시물 표시
레이블이 addressable인 게시물을 표시합니다. 모든 게시물 표시

2021년 8월 11일 수요일

Addressable 1.18.15 번들 갱신이 되는 특이한(?) 경우

 Addressable 1.18.15 번들 갱신이 되는 특이한(?) 경우

addressable 1.16.19 버전의 오류 때문에 1.18.15로 업데이트 후 매일 번들을 업데이트 하면서 테스트를 하면서 번들이 신기하게 갱신되는 경우가 있어서 포스팅을 하게 되었습니다.

-번들 기본 세팅-

준비물 : FBX파일과 해당 FBX의 mesh를 사용하는 prefab 하나를 각각 다른 번들에 위치 시켜 줍니다.


-번들 생성-

당연하게도 3개의 번들과 catalog가 나옵니다.

여기서 FBX파일의 번들위치를 옮겨보겠습니다.


-FBX에셋을 FBX번들에서 packed assets으로 이동-

화면 상에서는 FBX번들과 Packed Assets번들 두 번들에서의 수정만 있었으므로 2개의 번들이 새로 갱신 될줄 알았지만?


-결과-
??
신기하게 FBX파일의 mesh를 들고 있는 Prefab번들도 같이 갱신 됐습니다.
아마 연결된 에셋의 어드레서블 정보도 같이 저장하는게 아닐까 싶습니다.


-두번째 테스트-

두번째 테스트는 좀 더 신기합니다.

준비물 : mesh collider에 mesh를 넣고 프리팹화 하여 FBX파일과 다른 번들에 넣어 줍니다.


-번들 생성-



-수정 사항-

그 뒤에 해당 프리셋의 옵션을 변경 해주고 다시 재빌드를 하면?

당연히 프리팹만 갱신 될줄 알았지만


-결과-


???????
연결되어 있던 FBX파일의 번들또한 갱신되는 것을 확인 할 수 있었습니다.
이건 첫번째와 달리 왜 이렇게 되었는지 생각나는게 없네요

일단 두 경우 모두 그렇게 자주 있는 일은 아니여서 번들 관리는 블로그에 있는 툴로 여전히 파일 종류 별로 관리중입니다만

좀 더 갱신을 덜하고 싶으신분들은 참고 해볼 수 있을것 같습니다.

1.18.15 테스트를 좀 더 하게 될거같은데 이러한 일이 있을 때 추가로 올리도록 하겠습니다.


-----2021-08-18

Addressable에 등록하지 않은 스프라이트가 addressable에 등록되어 있는 아틀라스에 추가 되서 아틀라스가 갱신되면 해당 스프라이트가 있는 번들 또한 같이 갱신 됩니다.





2021년 7월 10일 토요일

어드레서블과 아틀라스(레거시) 최적화 문제

어드레서블과 아틀라스(레거시) 최적화 문제


-테스트 용으로 빌드한 apk의 메모리 프로파일러 같은 아틀라스가 3개 올라와있다.-


 메모리 최적화를 위해 메모리 프로파일링을 하던 도중 아틀라스가 중복되서 올라오는 현상을 발견했다.

워낙 큰 아틀라스라 처음에는 여러장 있는 건줄 알고 있었으나 같은 아틀라스인 걸 확인 후에 레거시는 새로나온 V2처럼 수동조작으로 하는게 아닌데 왜 중복으로 올라가는지 찾아본 결과

어드레서블을 이용해 번들을 나눌 때 파일 형식 별로 갯수와 용량을 맞추었는데 아틀라스가 같은 스프라이트가 번들이 나눠져 있을 경우 나눠진 만큼 아틀라스도 중복되서 올라가는 것이였다.

-같은 아틀라스를 쓰는 스프라이트를 같은 번들에 모두 넣었을 때 메모리가 하나만 올라갔다-

스프라이트의 경우 아틀라스가 없으면 일정 갯수대로 있으면 아틀라스 별로 번들 그룹을 정하는 것으로 해결


- 참고1 테스트용 apk를 만들면서 이상한 점을 발견했는데 빈 프로젝트에 아틀라스 패킹을 하고 번들을 찢어 놓으면 메모리가 여러개 올라가지 않고 하나만 올라갔다는 점이다.

이상해서 이것 저것 테스트 하던 와중 번들내에 있는 스프라이트를 하나 어드레서블 로드를 했을 때 갑자기 여러장이 올라가서 이게 문제 인가 했지만 테스트 했던 코드를 모두 지우고 다시 빌드 했을 때도 여전히 여러장의 메모리가 올라가는 것을 확인했다.

유니티는 정말 봐도 봐도 신기하다는걸 이번 테스트로 다시 확인 했다.

결국 정확한 원인은 파악하지 못했지만 해결 방법은 같은 아틀라스를 쓰는 스프라이트들은 같은 번들에 넣는 걸로 해결이 가능하였다.

- 참고2 해당 문제는 apk빌드 후에 프로파일링을 해야 발견 됐다 에디터에서는 간혹 캐쉬가 남아서 한두개 더 찍히기도 했지만 껐다가 키면 다시 아틀라스가 하나씩만 메모리에 올라가는 것을 확인 하였다.