I've been profiling my project and I noticed that there's a pretty huge (~6x) performance difference between Löve 11 and Löve 10 when it comes to fill rate — how many times I am writing pixels to the screen.
Here's a minimal .love that I've used to test this: All it does is show the average DT and draw rectangular sprites over the whole window, with a transparent color. Use the up and down keys to draw more or fewer sprites, or space to toggle them all on and off.
My machine specs:
- Windows 7, 64-bit.
- CPU: Intel i5-3570K - 3.4 GHz
- GPU: Intel HD 4000 I tried two different graphics drivers: The one windows thinks is "the best" and the one Intel lists as the latest (2018) for my hardware.
- With Löve 11.0/11.1/11.2 - I can only draw the sprite 2 times before DT goes above 16.6ms. (60 fps)
- With Löve 10.2 - I can draw the sprite 12 times before DT goes above 16.6ms.
So, the question is: What changed with Löve 11? Can it be fixed? Is there something I can do to with my projects to bring the performance back up, or should I just stick with 10.2 for now?
I also haven't tested this on other machines yet. If some other people could try it and see if it's the same for them, that would be great.