The Clickteam Fusion 2.5 optimisation & performance Hard Data thread
So, you want to optimise your Fusion game. You google "clickteam optimisation" and quickly find a lot of threads and articles with many suggestions. But many aren't backed up with actual proven tests or are from many years ago, and so the real-world, present-day implications of optimisation remain somewhat vague. Where should you invest your optimisation efforts most? Does "fine collision" really hurt performance? How much quicker is testing for collisions vs testing for overlap? Will putting all your fastloops in groups be a goldmine of increased framerate, or a waste of time? Often, we just don't know these answers. Or some of us do, but haven't shared our findings with the rest.
So let's have a thread where we can gather in one spot various benchmarks and tests that we've done, to measure the performance of various aspects of Fusion 2.5. My hope is that as many people as possible will contribute. I'd like to suggest only two (loose) rules:
1. Contribute any findings you like, about any aspect of Fusion. But please, no hearsay, theories, gut feelings, speculation, wisdom passed down through the generations, or something you're kinda pretty sure was true in MMF 1.5....without some kind of data backing it up. How you test is up to you. You can make a rigorous benchmark and upload results and MFAs. You can use the inbuilt A/B tester in VACCiNE*. Or you can just try out something informally a few times in your own game and write down the FPS. As long as there's some kind of observable result that you're basing your findings on.
2. Try to provide enough data that the question "will this make any noticeable impact in the real-world" can be answered. For example, just saying "I compared X and Y, and X was 10% faster!" isn't enough. Did it require a brute-force test with 5000 rapidly moving objects and a fastloop with 1 million loops for this 10% difference to show itself? (if so, then real-world optimisation implications are likely to be nil). Or was the test somewhat less extreme (and hence more likely to have real-world implications)? Generally, giving a brief description of the test scenario should be enough, though try to provide: what you tested, the resulting measure (eg. milliseconds to complete, Fraps fps), and how excessively you needed to push the test to get noticeable results (eg. how many fastloops per frame, how many objects on screen, etc.)
I'm starting this thread because I've been doing some tests for my own use, and I thought I'd share them. I've also occasionally seen other people post benchmarks that I found fascinating, and I'd love to see more! Hopefully this thread can eventually become a central spot for people to learn about what are the best practices for making optimised games, which tips are valuable, which aren't worth the hassle, and hopefully discover some unexpected surprises. Here are some things that I do encourage you to do:
- Dispute the results....if you can provide countering evidence (screenshot, mfa, detailed description of test, etc.). The more data-points the better!
- Provide complementary results to what others have posted, perhaps testing a slightly different way, on a different exporter or OS, or even just repeating the same test to see if your results match
- request tests you'd like to see done, if you don't feel confident (or haven't the time) to test them accurately yourself
I invite you to contribute any way you can, so that we can all learn more about how to optimise our games :)
* the VACCiNE A/B testing panel: