They work fast. Actually, only the first "create" call does actual work. The font is kept until the GL context is destroyed. (We used to have reference-counting for this, but actually just keeping the resource for the rest of GL context life is 1. easier and 2. better, because we want to keep the resource even if you destroy and then recreate all your controls.)