-
Who's Online 6 Members, 3 Anonymous, 183 Guests (See full list)
-
Latest updates
-
Newest Posts
-
some time ago, there was consensus that major reasons for lag - especially during big fights - were javascript attack/die routines and c++ proximity search. In particular, I remember the latter was a very simple function and a relatively low hanging optimization opportunity.
-
This will lead to GCs when the game runs out of memory. I think you're better off implementing my Incremental GC fix (which I merged since A27). Pathfinder is already in C++. I don't think you'll win much by swapping JS math functions to C++ unfortunately, as that's not really the bottleneck.
-
I am looking at other possible changes to the engine that can improve its performance while staying compatible with the public lobby. Intel has provided a nice investigation and useful advice: https://www.intel.com/content/www/us/en/developer/articles/technical/identifying-the-frame-rate-bottleneck-in-0-ad.html In light of this article, I think there are 2 potential improvements at hand: 1. Remove garbage collection where possible. 2. Implement the mathematical calculations in C++ in the engine, then expose them as functions to the Javascript mods. This morning, I implemented point one by removing the GC steps from simulation2.cpp. Normally, at some point in late game, you stutter when selecting barracks or units, or there is a small sudden freeze caused by GC. Now with the GC removed, the stutters and freezes are even less (ofc, with all previous patches included). There was no OOS with anybody. Regarding point 2, I will need to conduct some experiments: 1. Dry run a Javascript and a C++ maths script that do identical calculations (for example, integrate arctan(x) dx over some finite domain). Compare the speed of the compilers. Some users claimed that C++ performs 250 times faster than Javascript at integration, but that remains to be tested. In an integration race against Python, C++ performed ~100 times faster. 2. Implement all functions in globalscripts/math.js into C++ engine functions and just call them whenever needed. I am not sure how slow the interfacing is, so the final products need to be tested. Pathfinder is also a big source of lag so maybe i can migrate that to C++ instead.
-
Any errors, does it work fine? Will there be any official updates to the Delenda Est mod for A27?
-
The AI tends to overproduce citizen soldiers, so it's quite easy to win by war of attrition. Champion spam in the late game wins nearly all the time, but requires a lot of preparation. Using a lot of upgraded CS + siege also works. I don't play multiplayer in RTS games, so I can't attest to that.
-
Yeah, let's nerf the only unit that can break turtled up positions in a game where turtle booming strategy is very OP. Siege catapults at least force your opponent to make some melee cavalry. They are very slow and expensive units that also require the faster pack-unpack tech researched, to be useful.
-