2011-12-16 2 views
3

Я пишу плагин для существующего приложения C++ DirectX9. Все работало нормально, пока они не решили переключиться на IDirect3DDevice9Ex по соображениям производительности.DirectX Managed Pool

Теперь я получаю сообщение «D3DPOOL_MANAGED недействителен при ошибке IDirect3DDevice9Ex» при использовании «D3DXCreateFontA» для рендеринга текста.

Вопрос: Есть ли способ обхода текста при использовании IDirect3DDevice9Ex или некоторая хорошая библиотека, которая позволяет мне рисовать текст без использования управляемых текстур?

ответ

-1

Пул управления хранит копию ресурса в системной памяти. Это позволяет процессу выпуска графического устройства другим программам, а затем возможность воссоздать любые потерянные активы, используя копию в системной памяти.

Чтобы устранить эту проблему, попробуйте использовать централизованный кеш ресурсов, который будет сбрасывать все ваши ресурсы на устройстве, а затем воссоздавать их, когда устройство будет восстановлено.

+0

Не очень полезно. «D3DXCreateFont» - закрытый источник, я не могу манипулировать им ... – Listing