티스토리 뷰

while (S_OK != Graphics::g_Context->GetData( pQueryDisjoint, pDisjoint, sizeof(D3D11_QUERY_DATA_TIMESTAMP_DISJOINT),  D3D11_ASYNC_GETDATA_DONOTFLUSH)) {}

if (!pDisjoint->Disjoint)
{
    for (uint32_t i = 0; i < NumQueries; i++)
    {
        if (S_OK != Graphics::g_Context->GetData( pQueryHeap[i], &pBuffer[i], sizeof( UINT64 ), 0 ))
            pBuffer[i] = 0;
    }
}

Without timestamp

With timestamp

Hot to reduce it?

Solution:

  1. Queued query data and resolve it next successive frame ( when GetData returns true ) - Query pool needed

https://github.com/NVIDIAGameWorks/D3DSamples/blob/master/samples/ComputeFilter/src/perftracker.cpp

  1. Do not update while success.

'Game > MMD' 카테고리의 다른 글

Shadow Mapping (3)  (0) 2017.07.24
FXAA  (0) 2017.07.18
ID3D11Fence  (0) 2017.07.10
How to check window 10 create update  (0) 2017.07.10
Gather  (0) 2017.07.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크