Windows Mobile displays are get larger and UI assets become more robust which is putting additional VM pressure on GWES to marshal all this additional data. Depending on the situation, implementing a “shared heap” using CeHeapCreate()to store assets may be valuable. The Heap will be relocated in the “mapper slots” thus reducing pressure on GWES and has the side benefit of letting Windows Mobile manage the heap for you.
This API is documented in the OEM docs as well as: http://msdn.microsoft.com/en-us/library/aa450797.aspx. Most notably, the article includes sample code that will help get your display driver working under the new method quickly. Please make use of the sample, but I also tune the Allocator and de-Allocator functions to work specifically for your needs. I would recommend requesting a large VM allocation, but only commit the physical memory when needed and returning the physical when no longer needed.