我很好奇DirectX中使用的GPU调度方法是什么?
通过阅读本MSDN部分,我很难全面了解DirectX GPU调度方法
本文对GPU调度方法进行了分类。 此表可以识别DirectX的方法吗?
https://pure.qub.ac.uk/portal/files/130042880/acm_surveys_GPU_2017.pdf
答案 0 :(得分:0)
据我所知,DirectX和Windows内核都没有进行GPU调度。 Windows只是将运行软件提交的任务扔给GPU,并密切监视它们花费多少时间才能完成。如果超过2秒,Windows将检测到GPU超时。下一步,请参见this article。
IMO,这种方法对台式机足够好。绝大多数用户在任何给定时间仅运行单个需要GPU的应用程序,因此他们并不关心“调度程序”是一个简单的FIFO队列。
但是,如果您要提供基于云的GPGPU(例如已链接的文章)或基于云的游戏平台like GameFly(现已成为EA的一部分),则可能需要更好的解决方案。 nVidia的GRID vGPUs驱动程序和/或硬件中肯定具有真正的GPU调度程序。我不知道它是如何工作的,从未处理过该技术。