naverz / zepeto-studio-kor

48 stars 8 forks source link

[Issue]: About performance of ZEPETO script #1014

Closed Cha-SeongHun closed 2 years ago

Cha-SeongHun commented 2 years ago

Please tell us the version of the ZEPETO World package.

HELP: You can check the version in Unity > Window > Package Manager.

1.4.1

Please tell us which version of the ZEPETO app is currently installed.

HELP: You can check the version in ZEPETO App > MY > Settings > Version.

3.13.6

What features were you trying to implement?

I'm trying to optimize my project for better performance.

What problem did you encounter?

First of all, I cannot trace the cause of performance slowdown. The profiler doesn't let us know the exact source location, because our scripts are managed/executed by the ZEPETO system. It would be very helpful if I can track them.

Second, there are bunch of spikes on the Profiler. But I cannot optimize them, because they came from the internal system(my script doesn't do many things). I think it affects not only Editors on PC, but also on published environment, real mobile devices; I feel lags and stutterings when I playing on real devices very often.

Please tell us your development environment.

Window 11 Android 12

Please attach the implemented code. If you have a screenshot, please attach it.

image image

xowjd913 commented 2 years ago

다른 문제일수 있지만 퍼포먼스 저하 이슈 트래킹 정보 공유 드립니다.

UnityEngine Vector2, Vector3, Vector4, Matrix4x4, Math 를 Import 해서 쓰면 매프레임 값을 참조하거나 생성할 때 엄청나게 가비지를 만듭니다.(심지어 Vector3의 x값을 가져다 쓰기위해 참조만 해도 가비지가 생깁니다. / 그때 기억으로는..)

해당 가비지가 컬렉팅 되면서 생기는 문제로 판단하고 저는 Vector2, Vector3, Vector4, Matrix4x4, Math 를 따로 typescript 로 만들어 썼습니다.

딥 프로파일링으로 체크해보시면 가비지 쌓이는거 확인 가능하실꺼에요.

Cha-SeongHun commented 2 years ago

다른 문제일수 있지만 퍼포먼스 저하 이슈 트래킹 정보 공유 드립니다.

UnityEngine Vector2, Vector3, Vector4, Matrix4x4, Math 를 Import 해서 쓰면 매프레임 값을 참조하거나 생성할 때 엄청나게 가비지를 만듭니다.(심지어 Vector3의 x값을 가져다 쓰기위해 참조만 해도 가비지가 생깁니다. / 그때 기억으로는..)

해당 가비지가 컬렉팅 되면서 생기는 문제로 판단하고 저는 Vector2, Vector3, Vector4, Matrix4x4, Math 를 따로 typescript 로 만들어 썼습니다.

딥 프로파일링으로 체크해보시면 가비지 쌓이는거 확인 가능하실꺼에요.

정보 공유 감사합니다! 시도하고 테스트해보겠습니다 👍

Deytooh commented 2 years ago

@Cha-SeongHun Profiler.BeginSample / Profiler.EndSample 쓰면 무슨 스크립트가 늘리는지 확인 해볼수 있어요 :)

Cha-SeongHun commented 2 years ago

Profiler.BeginSample / Profiler.EndSample 을 통해 프로파일링 가능한 것을 확인하였습니다.