VRC용 그래픽카드를 정할 때 VRAM을 가장 우선해야한다고 생각하는 경향이 있는데,

VRAM이 중요하긴 하지만 전부는 아님.


많은 VRAM을 갖는 GPU를 쓴다고 그걸 다 사용하는것은 아니고,

VRAM 여유있는 GPU 에서 프레임 드랍이 일어나는 경우는 대부분 VRAM의 용량 한계보다 

GPU 성능 한계가 더 먼저 찾아와서 프레임타임이 늘어지면서 발생함.


보통 VRAM 사용량은 렌더링 해상도로 먼저 잡아먹히고,

그 다음이 아바타나 월드등에서 사용하는게 더해짐.



아래 스샷은 20인이 넘는 불특정 다수 아바타가 있는 인스턴스에서 무제한 해상도 거울 키고 있을때의 상황.

그래픽카드는 4090



보다시피 상당한 고해상도(5K) 렌더링에 MSAA 까지 2배로 주고 있는 상황에서 

VRAM 사용량이 15GB 조금 넘는 정도임.



이정도의 고부하 상황은 자주 있진 않고, 보통의 HMD 해상도와 옵션을 고려해서 다시 조건을 변경,

퀘프로, 버데탑 갓라이크 옵션, VRC MSAA 2배,  아바타 컬링 거리 25m, 인원 20명. 

30명 가량의 인스턴스에서 무제한 거울 On.



VRAM 사용량은 약 11GB.

그리고 GPU 사용률이 94%,  GPU 프레임타임이 9.9ms 임.

90프레임을 유지하려면 프레임타임이 11.1ms 이하를 유지해야하는데 아슬아슬함.

헤드룸이 거의 없는 상태임. 이런 상태에서 갑자기 고부하 쉐이더 같은걸 렌더링할 상황이 되면 프레임이 떨어지는거임.

이처럼 VRAM 사용률보다 GPU 성능 한계가 더 빨리 찾아옴. 

4090 그래픽카드에 3K 정도로 렌더링하는 퀘프로인데도 이정도임.




VRC 기준으로 VRAM이 적당히 넉넉하게 있는 그래픽카드가 좋은건 맞지만,

16GB 를 넘기는 그래픽카드 기준에서는 VRAM 한계를 맞딱드려서 프레임이 떨어지는 경우보다

PCSS같은 리얼타임 라이팅, 굴절흐림, 퍼쉐이더 같은 부하가 큰 머테리얼 렌더링, 

혹은 렌더링할 개체수가 늘어나는 경우 등 GPU 성능 한계가 더 먼저 찾아와서

GPU 프레임타임 밀리면서 프레임드랍이 생기는 경우가 대부분임.


CPU까지 복합적으로 생각하면 더 많은 경우의 수가 있고.

아바타마다 물리, 애니메이터 컨트롤러 구조등에 따라서 CPU 부하도 천차만별이라 

GPU 성능한계 못지않게 CPU 프레임타임 밀리면서 프레임드랍 생기는 경우도 잦음.

현재로선 3D 캐쉬 CPU 쓰는게 그나마 그 꼴을 덜 볼 수 있지만 사용자가 아바타를 만드는 특성상

최적화 나락간 아바타는 어디서든 튀어나올 수 있기 때문에 완벽하게 해결할 수는 없음.


난 바이브프로아이+페이셜트래커로 페이셜트래킹까지 같이 쓰는데,

SRanipal(VIVE 페이셜 런타임)구동이랑 VRCFT가 OSC 신호 처리하고 구동하는데 CPU를 상당히 사용하기 때문에

동시에 VRC까지 원활하게 돌리는데는 5800X3D나 7800X3D로는 조금 모자란감이 없잖아 있어서 아예 7950X3D 로 교체하고

3D 캐시가 있는 CCD에서는 VRC만 구동하고 다른 CCD에 기타 SRanipal이나 VRCFT 등이 올라가게 구성해서 사용중임.

퀘프로는 SRanipal을 안쓰니까 굳이 이정도까진 안해도 되고.



아무튼 요약해보면 

퀘3나 퀘프로 정도 렌더링 해상도가 필요한 HMD를 사용한다면 

12~16GB 사이의 VRAM 을 갖으면서 되도록 깡성능이 높은 그래픽카드를 고르는게 좋음.


다만 그렇다고 라데온을 고려하진 말고...