Cloth가 다이나믹 본 보다는 확실히 무겁다는 생각은 가지고 있었는데, 얼마나 무거운지는 비교를 안해봤었음.
또 최근에 Cloth적용된 옷이 부스에 많이 나오고, 주변에도 꽤 가볍다는 소리가 들리길래 측정해봄.
일단 기준은 https://docs.vrchat.com/docs/avatar-performance-ranking-system
브얄챗 공식 퍼포먼스 기준표대로 해봤음

이 표를 보면 Cloth에 적용되는 버텍스 갯수 200개 = 다이나믹본에 영향을 받는 본 256개를 같은 성능으로 친다고 나와있다.
이에 따라 실험을 진행해봤다.
조건:

Cloth와 Dynamic Bone외에는 같은 상황에서 측정
면 하나와 2개의 공으로 충돌 실험
평균적인 CPU시간 측정
실험 1.
버텍스 수 : 196개
본의 갯수 : 257개

Cloth

Solver Frequency : 60 (초당 60번 검사)

평균 약 0.48ms

Dynamic Bone

Update Rate : 60 (초당 60번 검사)

평균 약 1.53ms
다이나믹본이 Cloth보다 약 4배정도 무겁게 나왔다.
사실 기준 표대로 하면 상식적으로 다이나믹본이 더 무거울 것을 예측할 수 있다.
고작 버텍스 200개의 면에 누가 본 256개나 넣겠는가.
하지만 Cloth의 자연스러움을 따라 한다는 목적에는 Cloth에 비해 다이나믹본이 확실히 무거운건 맞다.
실험 2.
버텍스 수 : 196개
본의 갯수 : 65개
다이나믹본이 4배가량 무거웠으니 본을 4배가량 줄여보고 실험.
Cloth


평균 약 0.34ms
그리 크게 변하진 않음
Dynamic Bone


평균 약 0.45ms
얼추 비슷해졌다.
클로스 버텍스 200개 ≒ 다이나믹본 64개 ??
실험 3
버텍스 1936개
본의 갯수 : 65개
Cloth


평균 약 0.77ms
10배가량 버텍스를 늘렸는데 많이는 안바뀜
가끔씩 엄청나게 수치가 올라갈 때도 있음
Dynamic Bone


평균 약 0.35ms
당연하지만 다이나믹본은 본의 갯수에만 영향이 있고, 면의 갯수는 영향이 없다.
반대로 Cloth는 본의 갯수에는 영향이 없고 면의 갯수에는 영향이 있다.
실험 4
버텍스 1936개
본의 갯수 : 625개
Cloth

0.68ms
Dynamic Bone


평균 3.02ms
결론:
평균 값은 대충 잰거라 오차가 좀 있을 수 있는데 대략 저정도라고 보면 됨
다이나믹본은 영향을 받는 본이 늘어날 수록 선형적으로 성능이 안좋아짐
Cloth는 버텍스가 많이 늘어날 수록 지수적으로 성능이 안좋아짐
다이나믹본은 생각보다 많이 무겁고 Cloth는 평균적으로 쓰이는 옷 버텍스 2000개 이하정도로 하면 상당히 쓸만한듯?
근데 이 결과는 Cloth의 Physics는 NVDIA그래픽카드에 가속을 받는다고 알려져있으니 AMD일 때 테스트를 좀 해봐야할 거 같고..
팁으로 Cloth 쓸 때는 self collision off해두고 Solver Frequency를 낮춰서 쓰면 꽤 가벼워짐
다른 관련 글에서도 Cloth보단 많은 다이나믹본이 무겁다고도 써있으니
무리해서 다이나믹본으로 치마 안뚫리게 할바엔 Cloth쓰는게 낫다는 결론임.
레딧의 성능 체크 글
https://www.reddit.com/r/VRchat/comments/9pd4ry/meta_objective_performance_data_for_dynamic/