In the past I reduced the number of draw calls for every black lined text from 26 to 10 (9 with next release), making the black font border smaller. This helped quite a bit.
What I noticed now is that each of these still 9 calls (per text, we talk hundreds of calls with full ui shown, per frame, like 30 to 60 times per second -> likely more than 5000 calls per second) builds and destroys the text layout and text format objects (and also calls for a new brush object).
As within the 9 calls per text only one pix is shifted (for creating the black font border), this re-building of format, layout and brush might not be neccessary. In theory, it could be reduced to 1/9, from like 5000 to about 450 rebuilding operations per second.
This will require code changes in many, many places... but as IB is now a smoothly scrolling and asset streaming engine, performance is much more crucial for a good player experience. So, dive into this I will
