Какой метод планирования GPU используется в DirectX? - PullRequest
0 голосов
/ 05 июля 2018

Мне интересно, какой метод планирования GPU используется в DirectX?

Мне трудно получить полное представление о методе планирования DirectX GPU, прочитав этот раздел MSDN

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


В этом документе приведен список методов планирования графических процессоров. Может ли метод DirectX быть идентифицирован по этой таблице?

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

enter image description here

1 Ответ

0 голосов
/ 28 августа 2018

Насколько я знаю, ни DirectX, ни ядро ​​Windows не планируют GPU. Windows просто выбрасывает задачи, представленные запуском программного обеспечения, в графический процессор и внимательно следит за тем, сколько времени они затрачивают на выполнение. Если это более 2 секунд, Windows обнаруживает тайм-аут графического процессора. См. эту статью о том, что будет дальше.

ИМО подход работает достаточно хорошо для настольных компьютеров. Подавляющее большинство пользователей одновременно запускают только одно приложение, требующее использования графического процессора, поэтому им не нужно, чтобы «планировщик» представлял собой простую очередь FIFO.

Однако, если вы предлагаете облачные GPGPU, такие как статья, на которую вы ссылаетесь, или облачную игровую платформу , такую ​​как GameFly (теперь часть EA), вы, вероятно, захотите чего-то лучшего. У nVidia действительно есть настоящий планировщик GPU в их GRID vGPUs драйверах и / или оборудовании. Я понятия не имею, как он работает, никогда не имел дело с этой технологией.

...