Я думаю, что с DirectX мы можем получить больше контроля с аппаратным обеспечением.Загрузка ЦП обычно представляется в виде простого процента времени ЦП, затрачиваемого на незанятые задачи.Но это немного упрощение.В любой современной операционной системе ЦП фактически проводит время в двух совершенно разных режимах:
Режим ядра В режиме ядра исполняемый код имеет полный и неограниченный доступ к базовому оборудованию.Он может выполнить любую инструкцию процессора и ссылаться на любой адрес памяти.Режим ядра обычно зарезервирован для самых надежных функций операционной системы самого низкого уровня.Сбои в режиме ядра являются катастрофическими;они остановят весь ПК.
Режим пользователя В режиме пользователя исполняемый код не имеет возможности прямого доступа к аппаратной или эталонной памяти.Код, работающий в пользовательском режиме, должен делегировать системным API для доступа к оборудованию или памяти.Благодаря защите, обеспечиваемой такого рода изоляцией, сбои в пользовательском режиме всегда исправимы.Большая часть кода, выполняемого на вашем компьютере, будет выполняться в пользовательском режиме.