Как запустить DirectX10 на несовместимом оборудовании?

Я собираюсь немного уйти, принеся свой нетбук со мной, чтобы сделать некоторые базовые вещи DirectX10.

Как запустить DX10 на оборудовании DX9.0c?

5 голосов | спросил user6465 13 Mayam11 2011, 06:57:30

3 ответа


12

Windows Advanced Rasterization Platform (WARP)

  

WARP - это высокоскоростной, полностью совместимый программный растеризатор. Он является составной частью графической технологии DirectX, которая была внедрена во время выполнения DirectX 11. Среда выполнения DirectX 11 установлена ​​на Windows 7, Windows Server 2008 R2 и Windows Vista с обновлением [KB971644].

     

Использовать WARP

     

Компоненты Direct3D 10, 10.1 и 11 могут использовать дополнительный тип драйвера, который вы можете указать при создании устройства (например, когда вы вызываете D3D11CreateDevice). Этот тип драйвера D3D10_DRIVER_TYPE_WARP или D3D_DRIVER_TYPE_WARP. Когда вы укажете этот тип драйвера, среда выполнения создает WARP-устройство и не инициализирует аппаратное устройство.

     

Поскольку WARP использует тот же программный интерфейс для Direct3D, что и для справочного растеризатора, любое приложение Direct3D 10 или 10.1, которое может поддерживать работу с эталонным растеризатором, может быть проверено с помощью WARP. Чтобы использовать WARP, переименуйте D3d10warp.dll в D3d10ref.dll и поместите его в ту же папку, что и образец или приложение. Затем, когда вы переключаетесь на ref, вы увидите WARP-рендеринг.

Я скопировал все это из статьи, но выглядит как наиболее актуальная и полезная часть. Вы, вероятно, должны прочитать всю статью.

Я был уверен, что делать это было невозможно, когда я прочитал ваш вопрос. Немного рыть, и я был удивлен.

ответил AttackingHobo 13 Mayam11 2011, 07:21:02
2

Direct3D больше не поставляется с программным растеризатором. Однако вы можете проверить WARP. http://msdn.microsoft.com/en-us/library/gg615082.aspx

ответил DeadMG 13 Mayam11 2011, 07:08:08
1

WARP хорош, но на нетбуке вы найдете его довольно медленно. Мой опыт в том, что даже на довольно мускулистой i7 он борется с ударом 60 кадров в секунду с относительно простыми сценами, а также невероятно интенсивно потребляет CPU - больше черных отметок против него для использования нетбуков.

Если вы хотите использовать API D3D10, я собираюсь сделать альтернативное предложение. Не. Вместо этого используйте D3D11 и используйте уровни функций , чтобы получить поддержку аппаратного обеспечения нижнего уровня. Просто укажите D3D_FEATURE_LEVEL_9_3 в D3D11CreateDeviceAndSwapChain , вставьте документированные ограничения , и вы запустите.

ответил Maximus Minimus 7 MarpmWed, 07 Mar 2012 23:42:10 +04002012-03-07T23:42:10+04:0011 2012, 23:42:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132