Am 25.06.2008 um 07:48 schrieb Yoshiki Ohshima:
We are making another progress on the text rendering support with Pango. This time, I'm even comfortable to mention it publicly!
One reason for the performance degradation is that the Pango rendering methods flush the whole screen. That is, for every little string there is a BitBlt of 1200x900 pixels converting from 32 to 15 bpp. To only flush the affected area, you need to give a rectangle parameter to #finish:.
Also, for each string/paragraph it actually allocates, draws into, and discards a 1200x900x32 Cairo bitmap surface. I did not measure how expensive that is, but it could be avoided by reusing one Cairo surface for all rendering (the affected region will have to be cleared in between of course).
- Bert -