Open ComeInRage opened 2 years ago
In most instances, the initial process to find the root takes less than 15 seconds. So the three minutes with your setup are a lot more. You can check the usual time for your computer by running an app like this: https://github.com/Viir/bots/blob/main/guide/eve-online/eve-online-warp-to-0-autopilot-bot.md
It will record the timings to see in more detail where time is spent.
I mean that it searches UI root about 3 minutes, if i don't specify --root-address option. If i found ui root address and specify it it takes about 1 second to read information. All time is spending to find UI root candidates in whole memory of eve online process and create process sample (it creates anyway). As soon as program writes in console "Reading from process sample" it starts to run normally and it takes about 15 seconds to read from created process sample.
Does it only take so long with your program, or does it also happen when you run an app like a2aa08658d745522? If it is generally slow on your machine, you could use a profiler to see where the time is going.
It takes a lot of time only when i starts command manually in mode read-memory-eve-online
from command line. I used binary file from latest release.
When starting from the command line, there are various options. That duration might be normal depending on which combination of arguments you use in your command line. Some combinations are not popular and, therefore, have not been optimized so far.
Hello, I have had the same experience on the command line. I believe the majority of the latency comes from EnumeratePossibleAddressesForUIRootObjects function, which takes a long time during the root search when the root address is not already provided. On my computer, it takes ~60 seconds to go over the ~7000 memory regions. I tried increasing the parallelism from 2 to 8 here and got no significant improvements in latency. I assume the tasks have high variances. There is another contributing factor which I mentioned in the other Issue. However, this is only a couple of seconds of delay on top of the previous one.
@ranc1 did you ever improve this much?
Hello, I use your library with my own C++ application. So that I use .json result of your memory-reading library, parse it and do something with result. The main problem is the time it takes to search candidates in UI Trees in your library. On my computer it is around 3 minutes. Of course I save root addres from .json result and push it in the
--root-address
argument next launch, but first execution of application is terribly slow. How I can improve it?Best regards, Grigory