티스토리 뷰

Game/작업일지

Vulkan 5번째 timer

newpolaris 2018. 11. 22. 18:17

내 인생은 맨날 타이머 부터 시작인가;

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에 검사하도록 바꿧나봄;

아래걸로 구현해야;

https://github.com/TheRealMJP/DeferredTexturing/blob/experimental/SampleFramework12/v1.01/Graphics/Profiler.cpp

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
링크