Major improvements to canvas cpu usage