I'm trying to capture the screen with 16ms of the timeout, and i'm getting 60-65 FPS when the capture is tested on full screen 4k 60fps video. CPU usage, in this case, is approximately 0-1%. But when the mouse cursor is moving on the screen, the FPS and CPU usage are rasing up to 100+ frames and 25-30%, respectively. So, there is the question: why can i get FPS greater than 70, if the timeout is set to 16?
If the timeout is set to 0: amount of FPS are captured with the same value, but CPU usage is remained stable at 20-30%, even with a static image on the screen. Amout of timeouts error, in this case, significantly increased. Does this somehow related to the previous question?
do
{
    hr = lDeskDupl->AcquireNextFrame(
        TimeoutMS,
        &lFrameInfo,
        &lDesktopResource);
    if (SUCCEEDED(hr)) {
        accumFramesCount += lFrameInfo.AccumulatedFrames;
        break;
    }
    if (hr == DXGI_ERROR_INVALID_CALL) 
    {
        lDeskDupl->ReleaseFrame();
    }
    if (hr == DXGI_ERROR_WAIT_TIMEOUT)
    {
        timeoutsCount++;
    }
} 
while (true);