메뉴 건너뛰기

게임
2022.11.10 11:42

유니티 transform 참조의 문제

조회 수 163 추천 수 0 댓글 0


aaab.jpg

 

보통 transform.position = VECTOR3

를 통해서 게임 오브젝트를 이동시키는데...

 

일반적으론 별 문제 없지만 프레임당 7000개의 오브젝트를 움직이게 했더니

퍼포먼스에서 이상한 부분을 발견했다.

 

그래서 빨갛게 표시한 부분과 같이 변수를 만들어서 참조를 직접했더니 성능의 차이가 발생

 

 

 

 

aaa.jpg

 

캡처 도구 안의 모습은 transform.position = VECTOR3를 매 프레임마다 했더니 Component.get_transform()이 매 순간 돌아가면서

유의미한 CPU 연산량을 잡아먹고 있는 모습.

 

왼쪽의 프로파일러는 그 부분이 사라지면서 성능이 개선된 모습.

 

 

 

 

자기 자신이 붙어 있는 게임 오브젝트의 transform을 참조하는데도 오버헤드가 걸린다... 이말인가?

사실 유니티 오브젝트의 구조를 따지고 보자면 일리는 있다.

 

교훈: 유니티에서는 변수 선언충이 되자.


사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )

  1. 유니티 WebGL 빌드에서 렌더링 해상도가 너무 크게 나올때

  2. 유니티질 8년차에 깨달은 텍스쳐 압축과 메모리 할당

  3. 게임 번역 AI로 날먹하는 중...

  4. [C#] float.parse와 포르투갈어 사건 (CultureInfo 관련)

  5. 유니티 Shader Variant Loading Settings을 쓰니 메모리가 절약되네

  6. 지프로 슈퍼라이트 마우스 휠 인코더 청소할 때 꼭 풀어야 하는 나사 정리

  7. 게임 메이커 스튜디오 C# dll 라이브러리 만들 때 .NET 프레임워크 버전 문제

  8. 애드몹 Code 3 no fill 에러 원인 중 한 가지

  9. 유니티 특) 9 Slice랑 Filled 동시에 안 됨.

  10. 메쉬로 Progress circle 그리기

  11. 남이 만든 게 안 돌아가서 뜯어고친 C# 셀레니움 크롬 드라이버 자동 업데이트

  12. 우효, 이런 좋은 버그리포트 도구가 있었다니 Sentry

  13. Unity 빌드 전 대화상자 출력

  14. 유니티 모바일에서 VideoPlayer로 영상 재생하면 자꾸 멈춘다.

  15. 세 가지 셀 셰이딩 에셋의 단순 프레임 비교

  16. 유니티 transform 참조의 문제

  17. 에셋 Super Tilemap Editor가 바닥면 Collider를 만들어주지 않아

  18. 미소녀 뱀파이어 서바이버즈를 만들자! - 캐릭터 몸에 마법 문신 넣기

  19. Unity 2020에서 Spine 3.6 Runtime이 AtlasAsset을 제대로 Import하지 못 할 때

  20. 스파인 텍스쳐 런타임 색칠하기

Board Pagination Prev 1 2 3 Next
/ 3