Похоже, что два крупных производителя графических процессоров постоянно выпускают обновленные драйверы с небольшим повышением производительности. Если они для одной игры, то держу пари, что со временем это прибавится.
Имея это в виду, почему мы никогда не слышали о настройке драйверов процессоров AMD или Intel для определенного приложения, версии Windows или чего-то еще?
Ответы:
Во-первых, иногда бывают случаи, когда выпускается патч драйвера, который может повысить производительность или повысить эффективность для определенного процессора. Но, очевидно, вы задаете этот вопрос, потому что это не так часто. Однако то, что делают оптимизации драйвера процессора, похоже.
Графический процессор - очень сложная часть схемы. Он существует для разгрузки определенных задач, которые занимают очень много времени на процессоре. Они получают наборы данных и инструкции о том, что делать с этими данными. Графический процессор должен иметь возможность упорядочивать данные в удобной для пользователя форме и интерпретировать инструкции, чтобы указывать, что делать. Затем он должен выполнить ряд математических операций с данными. После этого он должен заново упорядочить данные и отправить результаты обратно в операционную систему после завершения. Это очень упрощенное описание конвейера компьютерной графики . Есть несколько шагов, которые необходимо выполнить, прежде чем данные будут готовы для программы.
Теперь, поскольку графический процессор должен принимать наборы инструкций и реализовывать очень сложные математические операции в оборудовании, будут определенные вещи, которые, как известно, будут выполняться быстрее или медленнее по этому конвейеру. Частью написания драйвера для устройства является интерпретация данных и инструкций, отправляемых на устройство, перевод их так, чтобы устройство могло их понять. Когда драйвер делает это, он может принять решение о том, как отправить данные на устройство, чтобы задачи выполнялись в кратчайшие сроки. Тем не менее, драйвер, как правило, не очень много информации о том, что программа, которую он обслуживает, делает. Все, что он получает от программы, это вызовы API («нарисовать линию», «закрасить точку», «заштриховать треугольник» и т. Д.). Таким образом, предположения, которые он может сделать, не очень хороши.
Когда AMD или nVidia выпускают обновление драйвера, которое содержит улучшения производительности для определенных игр, это означает, что драйвер будет определять, что игра называет графическим оборудованием, и будет иметь ряд жестко закодированных предположений, которые известны о том, как игра реализованы. Возможно, в игре много текстурных изображений, которые нужно быстро поменять местами в памяти или из памяти, или что она смешивает много цветов на лету для получения определенных световых эффектов. Обычно игра будет реализовывать небольшие программы (так называемые «шейдеры»), которые описывают, как выполнять эти вычисления, и они будут отправлены в GPU для выполнения. Если водитель знает, как игра использует аппаратное обеспечение, он может организовать данные и выбрать наборы инструкций, которые выполняют требуемую задачу таким образом, чтобы повысить пропускную способность и эффективность.
Однако иногда после отгрузки продукта могут быть обнаружены ошибки в некоторой части графического процессора. Это может быть достаточно неясным, чтобы быть пропущенным при проверке, когда проектировался чип, но может оказаться, что это вызывает некоторое ошибочное или нежелательное поведение (или даже сбой) в конкретной игре, которая поражает его. В этом случае драйвер обнаружит это ошибочное состояние и обойдет его, либо выгрузив некоторые вычисления на сторону ЦП, либо изменив способ подачи данных в графический процессор, чтобы он не входил в это состояние. Они, опять же, будут выпущены в виде обновлений драйверов.
Таким образом, в основном, это не изменение производительности самого оборудования, а просто изменение его использования, чтобы оно могло работать более эффективно и быстро с одним и тем же набором данных.
источник
«Драйверы ЦП» существуют редко и, конечно, не в качестве загружаемых модулей. Случайный «драйвер ЦП» был бы необходим для некоторого варианта многоядерного управления или обработки прерываний (например, для двухъядерных процессоров AMD требовался драйвер WinXP для полного использования). В противном случае большинство операционных систем сконфигурированы и созданы для прямого доступа к процессору. Если проблема возникает и является серьезной, то исправляется код ядра и выпускается обновление ядра.
GPU больше не просто периферия; они превратились в сопроцессоров. «Драйвер графического процессора» не только обеспечивает доступ к устройству, он включает алгоритмы обработки (т. Е. Графические подпрограммы) для графического процессора, упакованного в драйвере. Размер этих «драйверов» - это раздача / подсказка. Именно эти алгоритмы / подпрограммы улучшаются.
источник
Это не только драйверы, но и сам графический процессор. GPU специализируется на различных типах вычислений (например, FFT) и манипулировании памятью. Он может работать параллельно для большинства поставленных задач и сделать его более эффективным, чем процессор общего назначения.
Обладая лучшими знаниями о запущенных программах, вы можете оптимизировать управление памятью или процессы вычислений для этих программ. Графический процессор очень универсален в том, как выполнять вычисления и манипулировать памятью, поэтому необходимо написать идеальную прошивку или драйвер. ;) Существует много возможностей для улучшений.
Большинство других устройств не так универсально в использовании. Большая часть оборудования на ПК должна работать в соответствии со своими спецификациями, следовать протоколам, поэтому драйвер не нуждается в оптимизации.
А, забыл про процессор. > _ <Процессор можно оптимизировать. Большинство новых моделей процессоров имеют программируемое встроенное ПО, но повышение производительности не стоит усилий. Он используется только для исправления ошибок в процессе сборки оборудования.
источник