티스토리 뷰
내 인생은 맨날 타이머 부터 시작인가;
Dx12 > Dx11 에 이어 vulkan timer 제작
그런데 쓸만한게 보이지 않는다?
거대 그래픽 라이브러리인 The-Forge 이렇다;
vkCmdCopyQueryPoolResults(pCmd->pVkCmdBuf, pQueryHeap->pVkQueryPool, startQuery, queryCount, pReadbackBuffer->pVkBuffer, 0, sizeof(uint64_t), VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT);
쉰다?
multithread 인지 확인 필요한데;
https://github.com/ConfettiFX/The-Forge/blob/master/Common_3/Renderer/GpuProfiler.cpp
Direct12 에선,
https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/Core/GpuTimeManager.cpp
wait로 기다리는 부분이 있네; 11에서 wait하게 했다가 다음 queue에 검사하도록 바꿧나봄;
아래걸로 구현해야;
If VK_QUERY_RESULT_WITH_AVAILABILITY_BIT is set, the final integer value written for each query is non-zero if the query’s status was available or zero if the status was unavailable. When VK_QUERY_RESULT_WITH_AVAILABILITY_BIT is used, implementations must guarantee that if they return a non-zero availability value then the numerical results must be valid, assuming the results are not reset by a subsequent command.
'Game > 작업일지' 카테고리의 다른 글
Vulkan 6 번째 메모리 타입 및 푸시디스크립터 (0) | 2018.11.23 |
---|---|
SetStablePowerState (0) | 2018.11.23 |
Vulkan 4번째 - 최신기능 사용의 고통 (0) | 2018.11.22 |
Vulkan 작업 3번째 (0) | 2018.11.21 |
Vulkan 2번째 mesh shader (0) | 2018.11.21 |
- Total
- Today
- Yesterday