Memory leaks in USP10.DLL

438 Views Asked by At

I ran Debug Diagnostics Tool v1.2 on one of my applications (.NET app using a C++ dll through PINVOKE) and it displayed the following WARNING:

usp10.dll is responsible for 9.25 MBytes worth of outstanding allocations. The following are the top 2 memory consuming functions: usp10!MapFullFile+14: 9.19 MBytes worth of outstanding allocations. usp10!AllocateCMAPtables+e6: 18.50 KBytes worth of outstanding allocations.

I have no idea where this USP10.DLL is coming from. Google tells me that this is some service to render unicode-encoded text. Any ideas why I am seeing this warning?

1

There are 1 best solutions below

1
On BEST ANSWER

Usp10.dll is the Uniscribe Script Processor. It handles proper formatting of text, any program that outputs text to the screen will have a dependency on it. A CMap is a font data structure. What you are seeing it doing is caching font data, retrieving it from the font file every time the data is needed is too expensive and would make text rendering too slow.

A cache like that doesn't get destroyed until the DLL gets unloaded. So what you are really looking at is a flaw in your tool. It reports memory leaks too soon, before the normal process cleanup took place. You should file a defect report with the vendor.