VRChat 마이너 갤러리 저장소

제 목
강좌/정보 불타는 갤을 틈타 폴리곤 수가 성능에 영향을 끼치는 이유
글쓴이
ㅁㅁ
추천
17
댓글
25
원본 글 주소
https://gall.dcinside.com/vr/24516
  • 2018-06-29 03:40:58
  • 121.146
							


아예 모르는 사람까지 알아듣기 쉽게 설명하게 써보긴 할껀데 세부적으로 다 설명하려면 파이프라인까지 설명해줘야 하는데 그러면 이해도 안갈테고 설명도 힘드니까 만든 예시로 설명함


먼저 유니티 docs의 그래픽 최적화 부분에 보면


GPU: Optimizing model geometry

There are two basic rules for optimizing the geometry of a model:

  • Don’t use any more triangles than necessary
  • Try to keep the number of UV mapping seams and hard edges (doubled-up vertices) as low as possible

Note that the actual number of vertices that graphics hardware has to process is usually not the same as the number reported by a 3D application. Modeling applications usually display the number of distinct corner points that make up a model (known as the geometric vertex count). For a graphics card, however, some geometric vertices need to be split into two or more logical vertices for rendering purposes. A vertex must be split if it has multiple normals, UV coordinates or vertex colors. Consequently, the vertex count in Unity is usually higher than the count given by the 3D application.

While the amount of geometry in the models is mostly relevant for the GPU, some features in Unity also process models on the CPU (for example, mesh skinning).


라고 되어있음.

"Don’t use any more triangles than necessary"

필요 이상으로 삼각형(폴리곤으로 알아들으면 편함)을 쓰지 말라는 소리지


왜냐하면 그래픽카드에서 처리해야하는 블렌더나 쓸맥같은데서 말하는 폴리곤 수보다 더 많이 처리해야하는게 일반적임.

그리고 더 많이 처리해야 하는 이유는 여러 시각적 효과들이 폴리곤에 기반해서 추가로 처리되기 때문이야

왜나하면 우리는 평면 모니터 상을 보고있고

3d의 가상 공간을 만들어서 우리에게 보여주어야 하는데

3d공간상의 좌표를 알아야 모델을 그릴테고 3d공간상의 좌표에 기반해서 그려진 모델에다가 쉐이더 등등이 적용되기 때문에 그래픽 하드웨어에서 처리해야 하는 양은 3d 모델링 툴의 폴리곤 수 보다 많아지는거임.



간단한 테스트를 해봄

브얄챗에서 간접적으로 가장 많이 겪을 라이트와 폴리곤의 관계임


구체를 한 위치에 계속 생성해주게씀




다른거 하나 없이 메쉬랑 메쉬 렌더러, 좌표값,스텐다드 쉐이더 4개만 가지는 공을 계속해서 만들어줌.

tris를 보면 약460만개로 이루어져있음.


프레임도 160넘게 나오지

그런데 여기다가 vr챗 맵이라면 기본적으로 하나씩 끼고있는 리얼타임 라이트를 비춰보자






그림자와 같은 효과들 때문에 tris가 증가함은 물론이고 batches 등등 모든게 2배 이상으로 올라감.

특히 그림자 같은 경우에는 직접 연산을 해줘야 하기 때문에 성능이 많이 소요됨

그리고 그에 따라 프레임도 80선으로 반토막 나버림.


이게 라이트가 미치는 영향이고 내가 폴리곤의 영향이 크다고 한게 이런 이유임.

라이트든 쉐이더든 결국 폴리곤으로 이루어진 3d 물체에 기반해서 연산되고 보여지는거라 영향이 적을수가 없음


물론 최적화를 어떻게 하느냐에 따라 다르게 나올수가 있음



위와 같은 조건에서 그림자를 안받는 쉐이더를 써서

프레임을 1/2이상 올릴수도 있고


엄청나게 복잡한 쉐이더를 떡칠해서 프레임을 10분의 1수준까지 떨굴수도 있겠지.


즉 기본적으로 사람 눈에 보이도록 쉐이더를 가져다 붙이는 이상 그건 폴리곤을 기반으로 돌아가게 되는거야


내가 예전에 TA한테 물어봤다는 애가 쓴 글에다가

"약간 안맞는 비유긴 하지만 폴리곤 수 = 밥 의 양 , 쉐이더.메테리얼.라이트 등등 = 반찬이나 양념 소스 음료 등 으로 생각하면 쉬움.어떤 반찬이나 어떤 음료 어떤 소스를 곁들이냐에 따라 한사람이 2인분을 먹을수도 있고 1인분을 먹을수도 있고 한입떠먹고 뱉을수도 있는거지 "



ㅁㅁ 근데 사진에 상태창 잘 보이나??이미지가 왜이리 깨져보이지 121.146 2018.06.29 03:42:14
o(^㉦^)o 뭔소리인진 모르겠으나 정보글 같아서 추천 - dc App 2018.06.29 03:42:32
ㅁㅁ 사실 정보글이라고 해도 브얄챗에다가 써먹을만한 정보글은 아님 최적화 문제와 관련된거라서 121.146 2018.06.29 03:43:16
xegns 공부가 되었습니다 충성충성 220.124 2018.06.29 03:44:24
spill 전문가 추 1.214 2018.06.29 03:44:34
ㅇㅇ 폴리곤이 성능에 영향주는건 당연한소린데 왜 이런글이 나오냐 114.205 2018.06.29 03:44:43
ㅇㅇ LOD만 봐도 알수있자너 114.205 2018.06.29 03:44:55
ㅁㅁ ㄴ 념글에 보면 누가 TA한테 물어봤는데 큰 영향 없다고 하는글 있어서 쓰는거 121.146 2018.06.29 03:45:09
Luche 그래서 폰겜은 폴리곤 최대한 적게쓰면서 텍스쳐로 커버 잘하는 모델러가 우대받징 2018.06.29 03:46:33
기무대띠 나도 폴리곤 높은 애들 볼때마다 똥컴인애들이 걱정됨 2018.06.29 03:47:55
큐리스 간단히 말하면 '폴리곤 수 자체'는 영향력이 그렇게 크지 않음. 다만, '폴리곤 수에 영향을 받는 기능' 때문에 간접적으로 성능에 영향을 끼친다는것. 2018.06.29 03:56:01
ㅁㅁ ㄴ 당근빳다죠 121.146 2018.06.29 03:56:53
눈알이 460만 폴리곤이 쌓일 때 까지 구체를 연속적으로 겹쳐놓으면 드로우콜때문에 뭔짓을 해도 라이팅 하나만 때려도 프레임 폭삭하는건 당연한거 아닌가. 마테리얼4*구체 갯수인데;; 이런 극단적인 상황 말고 일반적인 상황에선 사양 그렇게 크게 안잡아 먹을 것 같은데. 내가 계속 같은 소리 하는거 같은데... 니가 쓴 글대로 460만 폴리라도 셰이더랑 마테리얼 라이팅에 따라서 가벼울 수도 있는거니까, 결국 셰이더랑 마테리얼 최적화만 잘해줘도 폴리곤 갯수는 큰 영향이 없다고 이해되는데.. 내 행복 뇌피셜만 가동하는건가? 2018.06.29 04:28:02
눈알이 유니티 디벨롭 문서 읽어보니까 뭔 하프라이프2 시절을 예시로 들어서 최적화 설명해놨던데 시대가 어느 땐데..ㅋㅋㅋ 2018.06.29 04:28:50
눈알이 글에 정성이 보여서 개추야 2018.06.29 04:30:00
눈알이 너가 무슨 이야기를 하는건지도 잘 알겠어. 대충 막 최적화 생각없이 만드는 일부 애들 때문에, 그 기반이 되는 폴리곤 제한은 옳다고 본다 라는 말이란것을 ㅋㅋ 그럼 반대로 그런것들 다 신경써서 만드는 경우엔 폴리곤 제한 풀고 써도 돌을 던지지 말라 2018.06.29 04:31:26
ㅁㅁ ㄴ그냥 내가 그때 글을 이상하게 쓴거같은데.. 그때나 지금이나 폴리곤 기반해서 쉐이더나 메테리얼 뭐쓰냐에 따라 성능 다르게 잡아먹는다는 생각은 똑같음 그리고 저렇게 테스트 안하면 코드로 수백개 사각형으로 잘 쌓이게 해줘야하는데 그게 힘들더라 121.146 2018.06.29 04:36:21
ㅁㅁ ㄴ글고 폴리 개수는 최적화를 아무리 잘해줘도 쉐이더를 쓰는 이상 폴리곤 개수는 영향이 있지 비싼쉐이더 칠하면 결국 폴리곤 개수에 따라서 성능 잡아먹을테고 싸구려 쉐이더 써도 마찬가지일꺼라고 생각해 121.146 2018.06.29 04:38:41
ㅁㅁ ㄴ그리고 ㅇㅇ 뭐 최적화만 잘하면 심하지만 않음 폴리곤 개수는 상관없다고 생각함 2만 아래라도 위에 말한것처럼 라이트 받고 그림자 비치게 하면 4만 오버인데 그러면 최적화만 잘해서 그림자 안비치게 하고 해서 4만대로 유지되게하면 걍 똑같은거자너 121.146 2018.06.29 04:40:17
ㅁㅁ ㄴ아 글고 하이라이프 2 시절이라도 지금이랑 그래픽 렌더링에 있어서 크게 달라진건 없어서 문제없음. 엄청난 최신기술이 나와서 그래픽 업계를 뒤집지 않은 이상 크게 다를건 없음. 90년대 쓰이던 알고리즘이 아직도 쓰이는거랑 비슷한 원리 아닐까 121.146 2018.06.29 04:42:43
눈알이 ㄴ 아 하프라이프2는 폴리곤 개수 말한거야. 모바일게임 500-1500개 pc게임 6000개정도면 가볍고 고품질의 모델을 얻을 수 있다 이래 적어놨더라고 ㅋㅋ 2018.06.29 05:05:15
ㅇㅇ ㄴ 아 그부분들은 확실히 좀 병신같긴 하더라; 뭔 폴리곤 제한 10만으로 잡아두고 그랬던데 121.146 2018.06.29 05:11:46
MANKALO 결론은 그림자 연산이 적으면 프레임이 높게 된다는거지? 그럼 emission 칠한 내 아바타는 460만 폴리 넘어도 ㄱㅊ? 아니면 다른 셰이더를 써야되나. 거기 맞는 적절한 툰 셰이더 이름도 적어주면 더 좋았을텐데 2018.06.29 05:12:08
ㅇㅇ 그림자 연산은 많고 많은 연산중에 하나일뿐이지 그것만 있는게 아니라서...셰이더는 셰이더 프로그래밍 배운게 아닌 이상 적당히 갈아끼워 보면서 찾는게 좋을듯 그리고 460만 폴리는 어디까지나 상대적인 수치지 절대수치가 아님 개인 pc성능따라 다를수도 있거 그래 121.146 2018.06.29 05:17:16
눈알이 ㄴㄴ 근데 근데 리얼타임 그림자 연산이 무거운거로 따지면 거진 탑에 들거야. 그래서 옛날 모바일 게임들은 엔진자체에서 리얼타임 그림자를 지원 안해줘서 따로 개발해서 넣고 그랬었지 ㅋㅋ 지금은 뭐... 딱히 2018.06.29 05:27:38
번호 분류 제목 글쓴이 날짜 추천
26557 일반 오큘러스 풀 트래킹 정확히 필요한 준비물이 뭔가요. 4 고로로상 2018-07-05 0
26555 일반 나 변신하는 아바타 본적있음 5 카디아. 2018-07-05 17
26554 일반 알아들을수 있게 말하면 잘한다고 칭찬할하지 ㅇㅇ 223.38 2018-07-05 0
26553 일반 키넥트 정말 방법이없는건가 5 키넥트좀알려주소 175.122 2018-07-05 0
26552 일반 1080ti로 글카 바꾸고 저스트댄스가봄 7 dd 110.34 2018-07-05 0
26551 일반 dokill 맵 비번 뭐임? 4 ??(,,???,,)?? 2018-07-05 0
26550 일반 일본어 발음 좋아도 한국인 구분 가능하게 됐다 2 ㅇㅇ 114.205 2018-07-05 0
26549 일반 실 플레이시간 3시간만에 아바타 열렸다 끼요오오옷 2 ㅇㅇ 110.70 2018-07-05 0
26548 일반 일본어하는 한국유저한테 일본인인줄 알았다고 하는게 걔네 나름대로 칭찬인가 4 ㅇㅇ 110.70 2018-07-05 0
26547 일반 오큘러스에서 안되는 동작있냐?? 15 q1 2018-07-05 0
26546 일반 오늘 소전 마일리봄 AtaGo 2018-07-05 0
26545 일반 쵸센징 데쑤까아아아아~???를 듣고 참는 찐따는 뭐임? 22 닝기링 58.122 2018-07-05 8
26544 일반 요즘은 아바타중에 취향이 5 에스카노르 2018-07-05 0
26543 일반 이거 뜨면 아바타 업로드 못하나요? 3 ㅇㅇ 221.145 2018-07-05 0
26542 일반 큘타임찼다 ㅇㅇ 223.39 2018-07-05 0
26541 일반 usb3.0x4 pcie 카드 도착해서 설치했다 2 하벤하이드 2018-07-05 0
26540 일반 이새끼들 바닥 패치 안하나.. 4 ㅇㅇㅇ 117.111 2018-07-05 0
26537 일반 무료봉사 관련글이 올라온 겸에 나도 사용 및 만족 인증해요 1 ㄹㄹㅋ 39.123 2018-07-05 0
26536 일반 횽들 질문 하나만 더요 오큘러스+엑박 키넥트 5 카스터 2018-07-05 0
26535 일반 VRChat SDK로뭔가 본격적으로 만들어보기전에 기능파악부터 하고있는데 4 ㄹㄹㅋ 39.123 2018-07-05 0
26534 일반 사람 많은데서 로드 할떄 막 시퓨 100%찍고 이럼... 1 dddd 168.126 2018-07-05 0
26532 일반 형들 풀 트래킹 할려면 바이브레이션 필수임? 10 카스터 2018-07-05 0
26531 일반 오큘러스에 2 눈깔돌아간사람 68.149 2018-07-05 0
26529 일반 커스텀 아바타 해킹당함 6 아놔 116.46 2018-07-05 0
26528 일반 사람 많은데서 로드 할떄 막 시퓨 100%찍고 이럼... 1 dddd 168.126 2018-07-05 0
26526 일반 니혼진데스카를 바꿔보자 1 애플치즈 2018-07-05 0
26525 일반 브알이 소통이 주목적인 게임이다 보니 스트레스받는 애들도 있는 것 같더라 10 10선비 2018-07-05 15
26524 일반 HP MR이 안좋은 이유라도 있어? 12 ㅇㅇ 223.62 2018-07-05 1
26523 일반 오늘의 모모카 작업일지 10 카랑카람 2018-07-05 12
26522 일반 프로 질문 지겨울텐데 한번만 들어줘 4 ㅇㅇ 211.32 2018-07-05 0
26521 일반 오디세이+바이브 후기 1 일레임 2018-07-05 0
26520 일반 >< 같은 표정은 어케 만들어? 3 ㄹㄹㅋ 39.123 2018-07-05 0
26519 일반 델 mr살 사람 없엉? 8 아리수챤 2018-07-05 0
26517 일반 바이브 트래커3개 충전 이거 매일쓰려면 어떻게함? 4 ㅇㅇ 211.106 2018-07-05 0
26516 일반 월드제작 질문인데 사운드 구현 범위를 벗어나면 깨지는데 해결방법 아시는분 9 ㅇㅇ 211.48 2018-07-05 1
26515 일반 일본인이 겪고 있는 현실 1 눈깔돌아간사람 68.149 2018-07-05 0
26513 일반 니혼징 데수까를 거꾸로 생각해보자 44 눈깔돌아간사람 68.149 2018-07-05 14
26512 일반 근데 모델링 해도 말야... 1 Seolmyu 2018-07-05 0
26511 일반 난 일본어만 쓰는 한국애 봐도 걍 한국말로하는데 1 아야세쨔응 2018-07-05 0
26510 일반 시벌 그지같은 핵쟁이 새끼들 2 ㅇㅇ 180.230 2018-07-05 0
념글 삭제글 갤러리 랭킹