Developer Simon Stuart is doing some interesting R&D work with drawing in Firemonkey. First up he has a multitouch drawing demo which works on Windows, IOS, OSX, and Android. Next up he has a long post over on Google Plus where he talks about his findings while drawing text with Firemonkey. Basically the conclusion he came to is that he was able to achieve a 500% performance increase by caching text drawing to a Firemonkey Canvas. Two other tricks he implemented in his own code are a BSP Tree and Render Culling. Basically a BSP Tree defines on what layer objects get rendered and Render Culling only renders objects which are in the actual display rectangle. Lastly Simon has added his Text Cache idea as a report on Embarcadero Quality Central to encourage the implementation of text caching within Firemonkey itself so the core Firemonkey components can benefit from the speed increase. You can lend your support to the Text Cache performance enhancement on QC here.