Comments (7)
The latest version seems to be a bit better (every now and then I can actually hit 10fps) but it's still greatly behind the near perfection of 5.1.5.
I also noticed that when I updated my receiver and accidentally reset its refresh rate back to 1Hz, 5.1.5 was behaving kinda like the broken version.
So... together with my previous observation about CPU time, it sounds like the lag would be actually just a symptom of AgIO not pushing enough updates up to AOG? (the situation in the slowest cases seemed to slightly improve if I tried to restart the former, but maybe it was just placebo).
As if there was a race condition or something in the time/parse loop (more or less like here, except I can 100% reproduce this with my ardusimple). Is it really that hard to implement a LIFO/mailbox queue?
from agopengps.
Aaaand I got how to reproduce this everywhere (well, with a simpleRTK2B and their Rover 10Hz configuration at least).
Set up AOG like normal, then open task manager to force AgIO.exe affinity to only one thread.
Just three would be already enough to show a noticeable difference between the 5.1.5 version and the newer ones on my i5-10300H workstation. But with just one thread it's exponentially worse.
Like, 20 to 50 times worse... with framerate better measured in "seconds per frame".
Then, yes I also found out a sleek workaround is disabling GLL, GSA and GSV because at the end of the day only GGA is strictly necessary. But really? I'm not sure I can underline how much it's crazy that a program can choke while only harnessing 3% of the power available.
from agopengps.
So.. you have to do something “weird” in windows to force a program to one threat to let the program run very poor?
from agopengps.
We measured the time between a message coming in at AgIO and pushed to AOG, on a regular laptop, no big specs.. it did it in less then 1ms.. so I think the problem isn’t AgIO. The 10FPS you mentioned is 10HZ gps update?
from agopengps.
So.. you have to do something “weird” in windows to force a program to one threat to let the program run very poor?
To simulate the weird behaviour that I'm seeing on my Cherry Trail tablet on a much beefier system, I have to do that. Yes.
I know it sounds stupid, but I'd like to underline again that this is not about having too little horsepower (even though the factor may be slightly related).
When I get lag in the aforementioned scenarios, CPU usage (of even that single one core) is super low.
The 10FPS you mentioned is 10HZ gps update?
Yes. I measure framerate with MSI afterburner, so that even when I'm stationary I can tell without a doubt when a new frame is painted.
from agopengps.
This is not completed at all..
I just tested 5.7 on a 9600k set to two threads, and I can barely do 4fps.
With just one, sometimes it has such low dips that AOG thinks signal is not even there.
And again to reiterate: nothing in my computer is under any significant load.
from agopengps.
After a hour of bisecting I finally found the culprit
c4129a6#diff-f6be31d3628f90798babe6156ea2a4f24aec1b2c6ac18bd2f19dbd49a6cb60d7
It's just enough to remove these two lines, and for whatever the reason the problem is solved.
AgOpenGPS/SourceCode/AgIO/Source/Forms/NMEA.Designer.cs
Lines 122 to 123 in ea2aa5c
from agopengps.
Related Issues (20)
- discourse group cannot be found HOT 6
- Seitlicher Versatz bei Anbaugeräten HOT 1
- Can not create account on Discourse.agopengps HOT 3
- AutoSteerPCBv2_Original - ADS1115 board from Adafruit - pinout changed as of June 22, 2022 HOT 1
- The directory name should not have trailing spaces. HOT 1
- FeatureRequest: Change workingdirectory of AGIO HOT 2
- Saving a field with the function 'Save As' gives an error when confirming HOT 3
- Nitpicks for steer wizard HOT 3
- Direction reversal causes too much disruption HOT 2
- IMU is always factored in even at its minimum setting HOT 6
- AOG crashes on invalid config file HOT 2
- Serial monitor improvements
- Set IMU to 0 if there is no data present HOT 2
- Add more nuance to NTRIP server errors HOT 9
- Adaptive IMU-GPS balancing HOT 1
- IMU fusion slider can't exclude IMU HOT 2
- IMU Orientation isn't available in Steer Wizard HOT 4
- Distinguish between different "no signal" reasons HOT 2
- Option 'Dual As IMU' is in the wrong tab in the configuration. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agopengps.