I need to have many images cached in memory so I can blt them with high performance. Currently they're held in DCs.

I have to decode these images manually. So would editing the memory of the surface directly, then having memory-based surfaces as caches, instead of DC's be better?

I don't see how blting the DC to the surface, then to the primary would be faster.

Wouldn't I also have to do memory checks to see how much I can store in memory?