DirectX中使用的GPU调度方法是什么?

时间:2018-07-05 09:16:09

标签: directx gpu scheduling

我很好奇DirectX中使用的GPU调度方法是什么?

通过阅读本MSDN部分,我很难全面了解DirectX GPU调度方法

https://docs.microsoft.com/en-us/windows-hardware/drivers/display/video-memory-management-and-gpu-scheduling


本文对GPU调度方法进行了分类。 此表可以识别DirectX的方法吗?

https://pure.qub.ac.uk/portal/files/130042880/acm_surveys_GPU_2017.pdf

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,DirectX和Windows内核都没有进行GPU调度。 Windows只是将运行软件提交的任务扔给GPU,并密切监视它们花费多少时间才能完成。如果超过2秒,Windows将检测到GPU超时。下一步,请参见this article

IMO,这种方法对台式机足够好。绝大多数用户在任何给定时间仅运行单个需要GPU的应用程序,因此他们并不关心“调度程序”是一个简单的FIFO队列。

但是,如果您要提供基于云的GPGPU(例如已链接的文章)或基于云的游戏平台like GameFly(现已成为EA的一部分),则可能需要更好的解决方案。 nVidia的GRID vGPUs驱动程序和/或硬件中肯定具有真正的GPU调度程序。我不知道它是如何工作的,从未处理过该技术。