최적화 썰

RTX그래픽 카드 입수 기념 잡담방송중에 내 게임을 플레이하면서 약간 이상한점을 느꼈다.어떤 맵들은 처음 입장후 마우스를 휘릭 움직이는 순간 2-3초 정도 화면이 멈춤다. 사실 이전에도 비슷한 증상을 느끼곤 했는데 그냥 다른 중요한 이슈들이 있어서 신경을 못쓰고 있었다. 그런데 다른 사람들이 보고 있으니 그 2-3초나 끊기는게 너무 쪽팔렸다. 방송 끝내고 조사를 시작했다.원인은 최초 맵 로딩 후 CUDA측 … More 최적화 썰

S/W Raytracing을 이용한 복셀 오브젝트 Culling #2

CUDA Raytracing을 이용한 복셀 오브젝트 culling 기능 작업중. 앞서 이 기법에 대한 기본적인 내용을 포스팅을 했었다. https://megayuchi.com/2021/09/06/s-w-raytracing%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%eb%b3%b5%ec%85%80-%ec%98%a4%eb%b8%8c%ec%a0%9d%ed%8a%b8-culling/ 실제 culling을 해야하는데 우선 복셀 오브젝트 ID를 곧바로 버퍼에 써넣고 이것을 보이는 오브젝트 목록으로 가져가는 방식으로 구현했다. 아주 칼같이 보이는 오브젝트만 골라주기는 하는데 문제가 있다. 512×512정도의 해상도로는 화면 해상도보다 많이 낮다보니 오차가 발생한다. 그렇다고 화면 사이즈만큼 CUDA측 프레임버퍼 … More S/W Raytracing을 이용한 복셀 오브젝트 Culling #2

S/W Raytracing을 이용한 복셀 오브젝트 Culling

현재 SW Occlusion Culling + HW Occlusion Culling을 사용중이다. 일단 복셀지형을 놓고 볼때 어지간하면 오브젝트 개수가 5만에서 8만개씩 나오기 때문에 S/W Occlusion Culling을 먼저 걸어주지 않으면 H/W Occlusion Culling에서도 꽤 큰 손해를 본다. draw call이 엄청 증가하기 때문이다. 그런데 S/W Occlusion Culling은 또 CPU 처리에서 상당한 지연을 일으킨다. 그래서 이걸 async로 처리하고 있긴 한데 그 … More S/W Raytracing을 이용한 복셀 오브젝트 Culling