AttacqueSuperior / Engine

A customized fork for the modification Attacque Supérior of the open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL. Runs on Windows, Linux and Mac OS X.
http://attsup.swr-productions.com
GNU General Public License v3.0
16 stars 3 forks source link

AutoDeployManager optimizing by using grouped order #103

Open dnqbob opened 3 years ago

dnqbob commented 3 years ago

OpenRA seems to have performance problem on parsing order, queue order one by one is much slower than queue an single order to a group of actors, and so upstream added group order for player long ago. Group order can have great improvement on performance when I apply them on my AI logic (at least 4 FPS in my PC), which is very obvious on Fastest game speed. Therefore, I think we can use group order in AutoDeployManager.

GraionDilach commented 3 years ago

I'm not convinced. Deploying isn't really something which can end up grouped as an AI order, because only damage-triggering on a huge AoE would lead to a group AutoDeploy trigger. Additionally, the source of the slowness is because the manager needs to look up which is the deploy trait on the current actor and you can't group Transform orders with GrantConditionOnDeploy for example.

dnqbob commented 3 years ago

Understood.

But we could classify those orders, and giving out each grouped orders by certain kind of order.