사용자 도구

사이트 도구


language:unity:9-최적화

속도 향상에 기여했던 팁들인데, 필요한데 꺼버리는 것들은 다시 정리하기로 하고.

사양 분류

귀찮지만, 폰의 사양을 보고 설정을 변경해야 한다.

  • 코어가 2개 이상인지. (스피드는 아직 몰라서)
  • 그래픽 메모리가 충분한지
  • 메모리가 충분한지.

NGUI

UITexture

  • DrawCall을 1 증가 시킨다. 유사한 오브젝트가 많아서 +1 되는게 정상이라면 (써도 충분한 효과를 얻고 있다면) 쓰고 한 두개 정도 추가 때문에 써야 한다면 다른 방법을 찾는 쪽으로
  • Sprite를 아틀라스에 추가해서 사용하는 방법도 있다.

Debug.Log()

  • 이 함수 자체는 불릴 때마다 속도를 다운 시킨다.
  • 릴리즈 때에는 무조건 삭제해야 한다. ( 또는 감춘다 )

PlayerSetting >> Dynamic Batching

  • Dynamic Batching이 발생될 때마다 GPU사용량이 튄다.
  • 빼는 것이 정답인가? 아직 모르겠다.

PlayerSetting >> iOS

  • Hz를 60으로 설정해서 60fps에서 동작하게 한다. 프레임이 떨어지는건 마찬가지지만..

Physics

  • 충돌체가 많은 경우 + 메쉬충돌체를 써야하는 경우,
  • 충돌용 메쉬는 아주 최소한의 삼각형만 갖는 버젼을 따로 만들어서 쓰면 확실하게 효과 있다
  • 충돌용 메쉬는 작으면서 복잡한 것에, 단순한 체크용 메쉬를 쓰면 효과가 좋다.
  • 큰 메쉬에는 되려 효과가 없다.

TimeManager

Fixed Timestep

기본값 0.02 에서 조금 더 늘린다. 가장 문제가 없는 최대치를 찾아야 하는데,

  • 0.25 정도에서 성능 개선이 있는지 확인. 더 늘릴 수 있는 확인한다.
  • 0.03에서 이상한 현상이 발생되는지 확인. 이상하다면 숫자를 줄인다.
  • 0.023 ~ 0.027 정도에서부터 시작해본다.

움직임이 어색한 경우 인터폴레이션을 추가하고, 움직임 개선이 있는지 또한 성능 다운 문제가 있는지 확인한다.

불확실

PhysicsManager

메뉴 : Edit » Project Settings »

  • Layer Collision Matrix 에서 필요한 부분만 켠다. 최적화에 도움이 되는가?
  • Solver Iteration Count : 숫자값을 살짝 줄인다. (-1) 정도.

이 부분은 건드리지 않는게 낫지 싶다.

language/unity/9-최적화.txt · 마지막으로 수정됨: 2024/04/23 22:44 저자 127.0.0.1