OptiTest OFFICIAL SALE

It takes a lot of developer time to create performant code for games that will work well across different architectures and specs.


OptiTest simplifies that process for you by automatically testing some given variables and selecting/using the best sampled values.


As an example (there's a lot more information in the documentation):

Imagine we are using threading to perform Unit updates. We want to use threading because in our case updating 100 units takes a few ms, so if that scales up to 1024 then our game is no longer functional.


So we implement threading and are processing our units with general values, for example 16 threads and each thread is working with 64 units in a loop.


With these generalized values it might perform ok, but what if instead of that we used 24 threads, or different loop sizes that ran better on the client PC? We could test extensively and select optimal (developer PC) values, but those might not be optimal on a client PC. Or our Unit struct size suddenly changes and now all of our tests are invalidated because less/more units fit into a given CPU L1 cache size.


With OptiTest we simply supply it with a value (let's call it loopCount) and the range of values to test, such as 1-1024. LoopCount will be the range of the for loop in each thread, and we can calculate how many threads to launch from total / loopCount (+ remainder etc.)


Human intuition often make us use values such as 64 or 256 for loopCount, but in the included Demo 3 we test and see how well that works. For us a loopCount of 543 outperforms 64 and 256 by 3.5x and 1.35x respectively and out of 1024 samples they only place in 940th and 572nd overall.