Утечки памяти в USP10.DLL

Я запустил Debug Diagnostics Tool v1.2 в одном из моих приложений (приложение .NET, использующее dll на C ++ через PINVOKE), и оно показало следующее ПРЕДУПРЕЖДЕНИЕ:

usp10.dll ответственен за 9.25 МБайт непогашенных выделений. Ниже приведены две верхние функции использования памяти:
usp10! MapFullFile + 14: 9.19 МБайт непогашенных выделений.
usp10! AllocateCMAPtables + e6: объем незавершенных выделений составляет 18,50 КБ.

Я понятия не имею, откуда эта USP10.DLL. Google говорит мне, что это некоторый сервис для отображения текста в кодировке Юникод. Есть идеи, почему я вижу это предупреждение?

1

Решение

Usp10.dll является Uniscribe Script Processor. Он обрабатывает правильное форматирование текста, любая программа, которая выводит текст на экран, будет зависеть от него. CMap — это структура данных шрифта. То, что вы видите, это кэширование данных шрифта, извлечение их из файла шрифта каждый раз, когда требуются данные, слишком дорого и может сделать рендеринг текста слишком медленным.

Такой кеш не разрушается до тех пор, пока DLL не будет выгружена. Так кто ты действительно глядя на это недостаток в вашем инструменте. Сообщает об утечках памяти слишком рано, до нормального процесса очистки. Вы должны подать отчет о дефекте с поставщиком.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]