| Предыдущий | Следующий |
| DXGI_DDI_ERR_UNSUPPORTED | D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS |
DXGI_DDI_ERR_NONEXCLUSIVE
Что означает DXGI_DDI_ERR_NONEXCLUSIVE
DXGI_DDI_ERR_NONEXCLUSIVE (0x887B0003) — В момент запроса доступа счётчик GPU использовался другим процессом или устройством Direct3D.
Контекст результата 0x887B0003 — подсистема «DXGI» и область «адаптеры, outputs, swap chain, shared resources и представление кадров». Условие «в момент запроса доступа счётчик gpu использовался другим процессом или устройством direct3d» указывает на тему «ddi, err, nonexclusive», а не на общий отказ всего компонента.
Что проверить и как подтвердить исправление
Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0x887B0003 в условии «в момент запроса доступа счётчик gpu использовался другим процессом или устройством direct3d» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0x887B0003 должна включать LUID адаптера, feature level, параметры swap chain/output и сообщения DXGI/DRED/debug layer; отдельно запишите HRESULT, LUID. Для темы «ddi, err, nonexclusive» при 0x887B0003 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Для 0x887B0003 применяйте исправление на границе первого отказа: исправляйте конкретное ограничение режима или ресурса; после device removed/access lost пересоздайте устройство и все зависящие от него объекты. Сообщение «в момент запроса доступа счётчик gpu использовался другим процессом или устройством direct3d» при 0x887B0003 не следует подавлять общей обработкой исключения.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x887B0003 это надёжнее единичного успеха на других данных.
Документация для результата 0x887B0003: DXGI error codes · DXGI overview · Direct3D 12 shader cache StoreValue.
Нужно найти другой код? Найти другой код состояния или ошибки.