I stumbled onto a pretty neat speed-up. It's a little geeky, but I'll explain it anyway.
Any time there's a graphic in Media Center, it's a thing called a JRImage. To paint the screen, hundreds of these JRImage objects work together.
At its heart, a JRImage is a 32-bit bitmap image using the pixel format ARGB. Any drawing between these objects uses our own code (normally SSE).
But since we used to be hooked a little more closely to the system, these images were created using a Windows API. The Windows API uses two GDI objects (HDC / HBITMAP) for each image. Windows limits each program to 10,000 GDI handles, so we're limited to around 5,000 images.
But now that the font engine in v18 uses our own drawing, there's no longer a need to use system resources for most JRImage objects.
This leads to several performance improvements. I'll describe them below:
JRMark
The image creation portion of JRMark gets around 3x faster, making the image score of JRMark over 10% faster.
Lower system resource usage
You can view GDI object usage in Task Manager. Starting the program to an image view used around 550 before, and now uses around 150. Scrolling a huge list of files used around 6000 handles (we cap the cache at 3,000 items because of the limit discussed above), but now stays around 150.
Memory state
An unexpected benefit of the change is that now it's tightly defined what is inside an image right after it's created. Previously, the program would allocate an image then flush it. Now it's guaranteed to be flushed when it's created, so a bunch of areas of the program can skip the extra flush step.
The performance aspect of this one surprised me. If you allocate empty memory (using calloc or HeapAlloc(HEAP_ZERO_MEMORY)), it's _way_ faster than allocating memory and then emptying it as a second step. The OS must keep a pool of empty pages or something, because the difference was like 1000x or more in the JRMark test.
So, like I said it's a little geeky.
The take away is that the program just got faster and less resource intensive, and hopefully geeks and non-geeks alike can appreciate that.