DXR의 BLAS 할당 최적화

최근 기술방송 -D3D12게임프로젝트 로딩성능 개선 ( https://www.youtube.com/live/R_sMY_jjZnE?si=qGerBiAmCkMehLbp )- 에서 언급했다시피 CreateCommittedResource()함수가 엄청 느리기 때문에 할당하는 버퍼 수가 많다면 성능에 상당한 영향을 준다. 이 문제를 해결하기 위해 D3D12Resource를 Heap에 맵핑한 D3DResourceBufferHeap를 만들었고 주요 매시 데이터는 D3DResourceBufferHeap에서 할당하도록 했다. 다만 RayTracing을 위한 BLAS메모리는 아직 처리하지 못했다. DXR렌더러에서 BLAS생성하느라 D3D12Resource를 엄청 많이 할당하는데 이게 성능에 적지 않게 영향을 … More DXR의 BLAS 할당 최적화

D3D Tiled Resources를 이용한 텍스처 스트리밍 – wait제거하기

D3D Tiled Resources를 사용한 텍스처 스트리밍 기능을 D3D11 / D3D12 / DXR 3개의 렌더러에 모두 추가했다. 그 과정에 소소한 깨달음이 있었다. GPGPU를 사용하면 대부분의 경우 결국은 CPU측 메모리로 결과를 가져와야 할 때가 많다. 최근 작업중이었던 텍스처 스트리밍도 마찬가지인데 어쨌든 GPU스레드가 버퍼를 스캔해서 어떤 텍스처를 로딩할지 GPU메모리에 써넣은 후 그걸 CPU측 메모리로 가져와서 CPU가 읽어야 한다. … More D3D Tiled Resources를 이용한 텍스처 스트리밍 – wait제거하기

‘Bad apple!’ on VOXEL HORIZON

천재 박정환(devjeonghwan)님이 VOXEL HORIZON의 프로세스를 후킹해서 ‘Bad apple!’을 (voxel 데이터로서) 플레이하는데 성공.초당 30프레임으로 LoadVoxels함수(월드의 복셀 데이터를 다시 로드)를 호출한다는데 돌아가는게 신기하다.정환님의 리버싱 + 탁월한 플러그인 제작 능력에 감탄하고, 저렇게 해도 크래시 안하고 돌아가는 내 엔진도 조금 자랑스럽다. https://youtu.be/FzKi-QIf5I0 기술적 설명은 다음 링크에서 https://cafe.naver.com/megayuchi/280

MS가 Windows커널을 Rust로 포팅하고 있다는 기사들에 대해서 한마디

최근 Windows 커널이 Rust로 작성되고 있다..라는 기사가 돌아다니고 있고 이를 확대 해석 해서 당장 Windows의 모든 코드가 Rust로 작성되고 있다는 식으로 선동하는 기사/글 들이 많이 보인다.https://news.hada.io/topic?id=9078 David Weston(트위터@dwizzzleMSFT)라는 MS 보안쪽 부사장 아저씨가 이스라엘에서 발표한 내용에서 Rust로 Windows의 일부 요소들의 포팅작업에 대해 언급했다. 풀영상은 이쪽. 내가 볼 땐 Rust로 포팅한 얘기보다 sandbox얘기가 핵심인거 같지만… Rust에 대한 … More MS가 Windows커널을 Rust로 포팅하고 있다는 기사들에 대해서 한마디

i7 13700K 온도 테스트

최근 i7 8700K에서 i7 13700K로 CPU를 업그레이드 했다.엔진에서 멀티스레드로 돌아가는 코드들을 12/13세대 intel CPU의 hybrid아키텍처에 맞게 최적화하는 작업을 하고 있다. 얼마나 성능이 좋아질지, 오히려 나빠질지는 모르겠다.우선 P코어와 E코어, Hyper Threading을 사용할때 Physical/Logical코어를 구분하는 코드를 작성했다. 작성한 코드가 정확히 P/E , Physica/Logical 코어를 구분할 수 있는지 테스트하는 과정에서 문득 온도가 궁금해졌다. 13세대 i7은 발열이 심하니 수냉을 … More i7 13700K 온도 테스트