디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[📜일지] 댕댕이 서바이벌 #8 - 성능 최적화 (움짤 주의)

태보미코갤로그로 이동합니다. 2023.03.23 00:12:23
조회 1491 추천 13 댓글 30
														

7ceb877fb1826df23dec98a213d3341d3a1f2010f4b3f2d9bb73425d7b

지난 번 개발일지 마지막은 요렇게 데미지 표기, 플레이어 스텟 등의 작업이 완료되었었다.

댓글로 성능 관련 질문을 받게되었는데,

대략 텍스트가 많이 표시되면 렉 걸리지 않느냐, 대량의 몬스터도 괜찮은가 였다.

간단히 점검을 해 보았다.

프로파일러도 볼 줄 모르고 물리, 렌더링 관련 지식이 없으므로 양해바람.

7ceb877fb1826ffe3eef98a213d3341d074eccc9303d96431060a912

먼저 데미지가 한번에 대량으로 나오게되면, 순간적으로 프레임이 치솟는게 보인다.

하늘색으로 하이라이트된 부분이 데미지 관련하여 캔버스에 렌더링 되는데에 차지하는 소요시간이다.

데미지 텍스트는 월드 스페이스 캔버스에 tmp를 오브젝트 풀링을 이용해 생성해준다.

두트윈을 이용하였고, 크리티컬, 일반 데미지 각각 두개의 시퀀스를 가지고있다보니

데미지 표기가 많아질수록 두트윈 시퀀스도 500개이상으로 늘어나버린다.

시퀀스를 끝내면 풀에 다시 넣어주는 작업까지.

가비지도 많이 생성되고, 프레임도 불안정하고, 이런저런 문제가 있는 상태다.


아래와 같은 순서로 변경해주었다.

1. 두트윈 대신 애니메이터 이용 => 풀링에 넣어주는 것은 애니메이션 이벤트 이용

애니메이션 이벤트는 ide 상에서 어디서 참조되고 호출되는지 체크하기가 힘들어서 사용을 지양했는데,

가비지도 발생되지 않고 성능도 지금보다 좋아보여서 변경했다.

애니메이터 behaviour는 좀 별로인 것 같았다.

2. TMP Text UI에서 TMP Text로 변경 => 캔버스 사용이 의미가 없는 듯 하고 풀링 시 오브젝트를 껏다 켜는 것이 아닌

mesh renderer enabled 를 제어

3. 데미지 텍스트의 양 제한 => 동시에 일정 개수만 존재 가능, 이후 필요 시 가장 먼저 사용했던 오브젝트를 사용

결과 아래와 같다.

7ded8068f2d73ab64e81d2b628f17c647c2379941b

텍스트 개수를 제한한 것이 효과가 가장 크긴 하겠지만

위 1번 2번 변경을 하며 가비지 생성이 줄어들었으니 다 긍정적인 거 아닐까?

기존과 비교하여 프레임 드롭이 사라졌다 !




참고로 빌드 시에는 성능이 훨씬 좋으므로

나같은 뉴비는 일단 개발하고 성능걱정해도 괜찮을 것 같다.

컴퓨터 사양에 따라 다르겠지만 화면을 가득 채운상태로 대략 1000개 이상의 dynamic 콜라이더가 비벼도 멀쩡해보인다.

프레임 제한을 해제해두었다.

7ded8168f2d73ab64e81d2b628f17c6e9381a3e5f7


7ded8268f2d73ab64e81d2b628f17c6aa7b53d5a26

데미지 표기 개수를 제한해도 크게 거슬리지 않는 느낌?


개수를 제한하는 오브젝트 풀은 요런 식으로 구현해주었다.

2ebcc224eadc76b660b8f68b12d21a1d557c54887c32


실제 게임 플레이 시에는 최대 600마리정도 존재할 것이므로

성능에 대한 걱정보단 역시 구현이나 빨리 해야겠다는 경험이었다.


뉴비인지라 잘못된 부분이 있을 수 있으니 양해바라며, 쓴 말 좋은거에요.

안냥


자동등록방지

추천 비추천

13

고정닉 6

1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기
자동등록방지

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2858 설문 SNS로 싸우면 절대 안 질 것 같은 고집 있는 스타는? 운영자 24/05/06 - -
2859 AD 나혼렙 어라이즈 그랜드 론칭! 운영자 24/05/09 - -
159490 공지 인디 게임 개발 갤러리 규칙 - 질문 전 필독!! [5] 에뚜갤로그로 이동합니다. 24.05.10 108 2
52873 공지 게임제작 초심자를 위한 글 모음 [9] Goranic갤로그로 이동합니다. 20.07.02 62778 51
123789 공지 뉴비 개임개발 하려는데 뭐부터 해야하나요 복사본 [14] 흉황갤로그로 이동합니다. 23.04.11 11293 16
159587 💬 돈이 존나 많으면 좋겠다. [4] ㅇㅇ갤로그로 이동합니다. 12:49 84 0
159586 💬 오랜만에 좋은 강좌 찾아서 알리려는데 [3] ㅇㅇ(203.152) 12:39 103 0
159584 💬 네러티브 자산 이야기 [1] ㅐㅐㅋㄷ갤로그로 이동합니다. 11:57 86 1
159583 🐣질문 데이터애셋이랑 데이터 테이블이랑 [2] 뱁새(221.146) 11:48 39 0
159582 💬 스팀 상점 페이지 만드는 게 이렇게 힘든 거였나 [3] 닉넴을못정함갤로그로 이동합니다. 11:18 123 0
159581 📜일지 커넥티드클루 개발일지 20. [3] Alpheratz*갤로그로 이동합니다. 11:15 96 2
159580 💬 유니티 linq 마니씀? [4] ㅇㅇ(221.146) 11:08 99 0
159579 💬 얼떨결에 아트로 가게 됐는데 겁나 긴장되네 [1] ㅇㅇ갤로그로 이동합니다. 10:30 150 0
159578 💬 양놈들 black 이란 단어에 좀 많이 민감함? [8] ㅇㅇ갤로그로 이동합니다. 09:49 216 0
159577 💬 게임 메이커로 게임을 제작해도 알고리즘, 자료구조의 기법은 쓸텐데 [5] ㅇㅇ(59.6) 09:22 145 0
159576 🐣질문 서버로 적자나면 어캄? [3] ㅇㅇ(121.146) 09:12 153 0
159575 💬 beat em up 게임 유니티 asset [5] ㅇㅇ(180.80) 08:26 81 0
159574 💬 c#공부는 어떻게 해야 되는지 감이 안잡히네 [2] ㅇㅇ(211.204) 07:21 114 0
159573 💬 자바나 C# C++ 같은언어는 돈 안받음? [3] ㅇㅇ(59.13) 06:48 105 0
159572 📜일지 Moe Moe Island 일지 112 -로리콘만- [10] 개발하는똥개갤로그로 이동합니다. 06:07 260 10
159571 💬 웹 프로그래밍vs게임 프로그래밍 [5] ㅇㅇ(59.13) 05:02 175 0
159570 💬 이넘에다가 플래그 속성 주는거 [3] ㅇㅇ(59.13) 05:00 83 0
159569 💬 네임컨벤션 관련 질문 [3] ㅇㅇ(59.13) 04:43 62 0
159568 💬 일하면서 개발하시는 분? [4] ㅇㅇ(218.156) 02:10 222 0
159567 💬 vs 쳐 멈추는 거 해결 방법은 알았는데 어째 민간 요법 같다 [3] longZam갤로그로 이동합니다. 01:38 105 0
159565 💬 구글 개발자 신규 계정 만들고 이전하면 테스터 20명 해야함? [2] ㅇㅇ(59.1) 01:18 124 0
159564 📜일지 스마수키게 #18 - 애드몹 미디에이션 / 출시 검토 [8] 태보미갤로그로 이동합니다. 01:15 181 11
159563 📚정보 전업아조시의 세금루팡 후기 [6] ㅇㅇ(118.128) 01:07 254 2
159562 💬 포톤쓰다가 일어난 일 메모... 휴대용치즈갤로그로 이동합니다. 00:57 69 0
159560 💬 유니티 7 버전 네이밍 떴다 [2] ㅇㅇ(1.249) 05.10 196 0
159559 💬 깃허브의 종류로는 ㅇㅇ갤로그로 이동합니다. 05.10 67 0
159557 🐣질문 님들 프로젝트 하나당 에셋으로 돈 얼마나 나감? [1] ㅇㅇ(211.119) 05.10 183 0
159556 📢홍보 예전부터 만들던 데모 게임 출시했어! [14] 닌거갤로그로 이동합니다. 05.10 636 18
159555 📜일지 퍼즐 플랫포머 게임 제작 후기#1 게임 제작의 시작 그리고 "색" [3] BIB갤로그로 이동합니다. 05.10 158 3
159554 📜일지 퍼즐 플랫포머 게임 제작 후기 #0 게임 소개 (기획) [2] BIB갤로그로 이동합니다. 05.10 130 1
159553 💬 애드몹 광고가 1달째 나오질 않네..ㅜㅜ [1] ㅇㅇ(110.13) 05.10 88 0
159552 🐣질문 유니티 c#만 해도 되나요? [5] ㅇㅇ(211.104) 05.10 159 0
159551 🐣질문 피칠갑되는 셰이더 만들고 싶은데 [6] ㅇㅇ(39.123) 05.10 211 0
159550 🐣질문 UI, Unity Canvas Scaler, 해상도 질문입니다! 라라루라갤로그로 이동합니다. 05.10 56 0
159548 🐣질문 마나 말고 다른 마법 에너지를 만들까 하는데 [17] ㅇㅇ(14.52) 05.10 196 0
159547 💬 님들은 인앱결제 영수증에 님들 주소나옴? ㅇㅇ(14.43) 05.10 52 0
159546 💬 동물배그 같은 완전2D 롤같은건 없음? [3] Moriae갤로그로 이동합니다. 05.10 153 0
159545 📜일지 디펜스 게임 '크리스탈 연대기' 개발 일지 [12] Noah갤로그로 이동합니다. 05.10 217 5
159544 💬 나도 x1000 뭐시기 해봄 [2] Birb(220.122) 05.10 185 4
159543 💬 캐릭터 버벅거리는거 고침. ㅇㅇ(121.168) 05.10 69 0
159542 💬 요즘 지연함수가 되게 좋다 [2] ㅇㅇ(211.200) 05.10 131 0
159540 💬 100년 뒤에 사람이란게 존재할까? [4] ㅇㅇ(121.130) 05.10 165 0
159539 💬 인디 왕의 귀환, 하데스 2 소감 [1] ㅇㅇ(218.148) 05.10 218 3
159537 🐣질문 어셈블리 분리하고 유니티 기본 어셈블리에 있는 네임스페이스 접근못함? [12] ㅆㅇㅆ(124.216) 05.10 252 0
159536 📢홍보 [홍보/이벤트] 숨은 동물 찾기 : 탐정 네코 [2] WolvesGame갤로그로 이동합니다. 05.10 129 1
159535 💬 여기 창의인재 지원한 사람있음? [5] ㅇㅇ(222.118) 05.10 262 0
159534 💬 유니티에서 행동트리 만들어서 써본사람 잇어? [1] ㅇㅇ(42.24) 05.10 77 0
159532 🐣질문 이런 초거대맵은 어캐만드냐? [6] ㅇㅇ(1.226) 05.10 339 0
159467 뉴스 역대 최대, 인디크래프트 게임사 326곳 접수 [4] 게임메카갤로그로 이동합니다. 05.09 284 0
159531 💬 대구지원사업 넣으신분 있나요? [1] ㅇㅇ(123.141) 05.10 105 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2