Я пробовал DX12 и заметил, что образцы «Полный экран» из образцов Microsoft действуют очень по-разному.Windows Unversal Application - FPS Limited для мониторинга обновления/VSync принудительно?
Основной проект: https://github.com/Microsoft/DirectX-Graphics-Samples/
Desktop Full Sample экрана: https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12Fullscreen
UWP Sample Full Screen: https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/UWP/D3D12Fullscreen
Я использую steptimer.h от https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/Samples/Desktop/D3D12Multithreading/src/StepTimer.h
вдоль с
void D3D12Fullscreen::OnUpdate()
{
m_timer.Tick(NULL);
if (m_frameCounter == 500)
{
// Update window text with FPS value.
wchar_t fps[64];
swprintf_s(fps, L"%ufps", m_timer.GetFramesPerSecond());
SetCustomWindowText(fps);
m_frameCounter = 0;
}
m_frameCounter++;
}
Чтобы добавить FPS в строке заголовка
Теперь версии Desktop, я получаю тысячи FPS, либо в окне или в полноэкранном режиме.
В UWP я ограничен обновлением монитора (60). Есть ли способ обойти это, чтобы обеспечить «неограниченное» FPS, или это ограничение в приложениях UWP?
UWP не может обновлять быстрее, чем обновление, чтобы избежать разрыва. В настоящее время он всегда включен. –
@ChuckWalbourn это то, что я наблюдал, знаете ли вы о какой-либо документации об этом или планируете изменить его, чтобы можно было настроить? – John