VOXEL HORIZON – 스레드 개수에 따른 충돌처리 성능 비교

어제 충돌처리 멀티 스레드 관련 버그 수정하면서 내가 그 동안 성능 테스트는 했었는가 하는 의문이 생김. 했겠지. 오래 되어서 기억이 안나는거지. 하여간 그래서 다시 테스트 해봄. 캐릭터 1000마리 돌아다닐때 (캐릭터vs삼각형, 캐릭터x캐릭터) 스레드 개수에 따른 충돌처리 소모시간 비교. 하이퍼스레딩이 아무짝에 쓸모가 없다고 느낄 때가 많지만 이 경우 큰 성능향상은 아니지만 쓸모가 있다.

최적화 썰

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

VOXEL HORIZON의 메모리 사용량 체크

테스트 하다가 생각나서 메모리 사용량을 확인 해봤다. 테스트한 맵은 폴리곤맵으로부터 변환했기 때문에 모양이 상당히 복잡하고 복셀 개수도 많다. 복셀 개수 : 복셀 하나당 50cm x 50cm x 50cm 로 환산 -> 9364002개 D3D11 committed: 2820580KB (2.82GB)Working Set : 1817052KB (1.81GB)Heap committed : 1695968KB ( 1.69GB)GPU Dedicated : 692888KB (692MB) D3D12 committed: 2705464KB (2.7GB)Working Set : … More VOXEL HORIZON의 메모리 사용량 체크

SW Rasterize 기법에 따른 효용성 요약

SW Occlusion Culling만들면서 CPU로 삼각형 찍는 방법으로 별 짓을 다 써봤다. SW Occlusion Culling을 수행하기 위해선 프레임버퍼에 삼각형의 depth를 출력해야한다. depth값이 아닌 color값이나 texture를 출력하는 경우도 기본 원리는 똑같다. 성분의 종류만 다르고 1/w로 보간하는것까지 똑같다. 즉 CPU로 삼각형 찍는 SW Rasterizer를 만드는 작업이다. 여러가지 기법들을 사용해봤는데 결론을 요약해본다. 1. Multi-Thread 사용 화면 구역을 나눠서 여러스레드가 … More SW Rasterize 기법에 따른 효용성 요약

Async S/W Hierarchical Occlusion Culling

S/W Occlusion Culling에 대한 미련을 못버리고 계속 튜닝하면서 사용해왔다. 다음번 프레임의 카메라 위치 예측 + 비동기 S/W Occlusion Culling으로 완료를 짓는가 싶었다. 성능도 만족스러웠다. 근데 생각해보니 어차피 비동기로 처리할거면 Hierarchical Z방식으로 처리하는게 더 낫지 않나? 그런 생각이 들었다. 512×512 -> 1×1까지 Down-sampling 비용이 항시 포함되어서 메인스레드에서 처리하긴 부담스러웠던것인데 어차피 비동기적으로 Raster스레드가 처리한다. 게다가 이 비용은 … More Async S/W Hierarchical Occlusion Culling

개인 장비들 SSD 벤치마크

내 개인 장비들의 ssd 벤치마크 스샷 찍어놓은게 있어서 엑셀 시트로 정리해봤다. 삼성 960 Pro가 남는데, 꽂을데가 없어서 Mac Mini에 꽂았다. Mac mini 2014 late는 Nvme PCI-E lane이 절반이라 SSD최대 성능 반토막도 안나옴. Mac Mini 스펙이 떨어지는거지 960Pro 성능이 떨어지는게 아님. ADATA는 쓸게 못된다. 2015년경에는 256GB SSD가 꽤 비쌌기 때문에 그 당시에 돈 아낀다고 Alienware15에 ADATA … More 개인 장비들 SSD 벤치마크