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