(OPEN TO READ EXPLANATION)
This is a preview video. v2 (previously known as 1.2) is taking a little long than expected due to the lack of efficiency while working on the very important Buoyancy (floating objects) feature, requested by many.
In order to fix problems depicted in previous uploaded videos like this: • WaveMaker 2.0 DevLog - Gradients , I had to work on moving all code to multithreading - jobs - burst.
This is the result of the surface simulation, the heavy part of the code (no interaction and some features disabled for now). I chose 60x60 resolution in this example in order to compare it to the official v1.1/1.2 video, that shows an efficiency of around 1ms per surface (1.2 added the feature of sleeping surfaces, so, unless all of them are simulating, it will stay around that).
With this improvement, it returns 600 to 1200 fps, and taking around 0.1ms. That's a huge 10x improvement of efficiency.
With maximum resolution (for now) 256x256 = maximum allowed mesh size 56k vertices, simulation takes around 5ms with version 1.1, which was way too much (also, way too much resolution). With this improvement, it takes 0.2ms, mainly the simulation part, so the improvement is extreme (x20) for big resolution surfaces, allowing huge surfaces. And it will get better.
This had to be done. The only problem is that it adds a Jobs/Burst requirement to the package that had to come eventually.