Как знать, обеспечивает ли видеокарта аппаратный рендеринг для wpf

Я должен запустить wpf-приложение в среде, которая имеет весь одинаковый Dell PC с графическим процессором intel gma 3000 (onbard, Q963/Q965). Приложение представляет только с рендерингом программного обеспечения (Указанный так RenderCapability. Свойство уровня и также Перфоратор Шоу Инструментария Производительности это.

На всем этом машины DirectX 9c установлен и состояния DXDiag на многих, но не на всем этом машины, который Прямой 3-й и Direct-Draw-acceleration активируется. Я проверил также реестр, если установка этих машин отключила рендеринг wpf-hw, но это - также не случай. На одной машине я также обновил видеодрайвер и дуплекс без успеха.

Если я интерпретирую право ресурсов, то на ПК, который имеет DirectX 9c установленный (и D3D-ускорение активно), также wpf аппаратный рендеринг происходит. Но на вышеупомянутых машинах установлен DX9c, однако нет никакого рендеринга hw. Согласно спецификации, обеспеченной сообщением Daniel Bern, я также думаю, что, по крайней мере, рендеринг на уровне 1 должен быть возможным и активным.

Единственной вещью, о которой я не являюсь Shure, является память, потому что графическая система выделяет динамично системную память и не имеет никакой собственной памяти. Как я могу узнать, должен ли определенный графический процессор поддерживать аппаратный рендеринг для wpf или нет. Это так, чтобы с активным DirectX 9c также harware рендеринг поддерживался или были там также какие-либо другие требования, которые должны быть выполнены, которые идут далее, что dx9c требует? Второй вопрос, если wpf представляет через дуплекс, является сделанным через 3-й прямой или является прямым - тянут используемый. Есть ли какая-либо хорошая документация относительно этой темы?


Оказалось, что на клиентском ПК прямое 3-е ускорение было активно (в DXDiag), однако не функционально. testprograms для тестирования прямой 3-й всегда заканчиваемый по ошибкам. Это делает проблему к проблеме поддержки, и я откроюсь, билет в вовлеченных компаниях поддерживают отдел.

На вопрос, о котором компонент дуплекса используется для рендеринга wpf в аппаратных средствах, можно ответить следующим образом: Рендеринг сделан через Уровень интеграции медиа (MIL). Если DirectX (соответствующая версия) является доступным и действующим, миллиметр пишет все команды рендеринга прямо к D3D. Additionaly, DirectShow (или его преемник) используется для обработки видео. Уровень интеграции медиа является неуправляемым кодом и там, кажется, очень немногие документация о.

Вышеупомянутые факты привели меня к восприятию, что активный DirectX9c является ясным индикатором, что hw-рендеринг для wpf может и происходить. Поэтому вопрос, какая микросхема поддерживает hw-рендеринг, можно ответить путем проверки, поддерживает ли микросхема dx9c (для уровня 2 рендеринга). Спецификация требований может быть найдена здесь (благодаря Daniel Bern).

ОБНОВЛЕНИЕ

Причиной, почему d3d и аппаратный рендеринг не работали в вышеупомянутом случае, было приложение, которое зарегистрировалось, зеркальный видеодрайвер для предоставления услуг удаленного терминала, таких как сетевая встреча делает (это было программное обеспечение от отдела поддержки, который использовался для удаленного администрирования клиентского ПК). При отключении этого зеркального драйвера, ведомого к функциональному прямому 3-му и таким образом произошел аппаратный рендеринг WPF. Однако уровень рендеринга был только уровнем 1 (я думаю из-за ограничения видеопамяти).

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

Здесь некоторые ссылки для ввода в тему:

Обзор архитектуры WPF, Аппаратное ускорение в WPF, Представляя Direct2D, Усовершенствованную Настройку Производительности приложения WPF и Анализ, RenderCapability. Уровень возвращает не режим рендеринга

5
задан Community 23 May 2017 в 11:47
поделиться