Microsoft представила новую функцию оптимизации DirectX12, называемую GPU Upload Heaps, которая работает в сочетании с Resizable-BAR. Эта функция позволяет процессору иметь прямой одновременный доступ к памяти графического процессора, что может значительно повысить производительность в играх, использующих DX12, и снизить использование оперативной памяти. Благодаря GPU Upload Heaps, данные теперь могут передаваться между ЦП и ГП без необходимости копирования, что сокращает задержки и улучшает эффективность работы системы. Эта инновационная функция уже доступна в Agility SDK, предоставляя разработчикам новые возможности для создания более оптимизированных и быстрых игровых приложений на базе DirectX12.
С каждым годом объем памяти видеокарты и использование VRAM в видеоиграх становятся все больше и больше. В результате, ЦП (центральному процессору) приходится перемещать все больше данных, что может снижать производительность системы.
Однако, благодаря функции Resizable-BAR или Smart Access Memory (SAM), использование оперативной памяти (ОЗУ) и ЦП в играх может значительно снизиться. Это связано с тем, что теперь ЦП больше не нужно хранить копии данных и в системной ОЗУ, и в видеопамяти графического процессора для их взаимодействия. Более того, современная видеопамять графического процессора обладает высокой скоростью, поэтому задержки из-за нахождения данных только в памяти видеокарты маловероятны.
Для геймеров единственным требованием является наличие поддержки Resizable-BAR или Smart Access Memory со стороны платформы и видеокарты. Resizable-BAR является основой для оптимизации доступа графического процессора к памяти, так как эта функция позволяет операционной системе Windows напрямую управлять видеопамятью.
Для разработчиков эта функция уже поддерживается драйверами от Nvidia, Intel и AMD. Например, она включена в последние версии драйверов Game Ready и Studio от Nvidia (версия 531.41 или новее), а также графических процессоров Intel серии A/Xe (с драйвером 31.0.101.4255 или новее). Для графических процессоров AMD разработчики могут получить поддерживаемый драйвер, проконсультировавшись со своим менеджером из AMD.