Code Monkey home page Code Monkey logo

Comments (7)

mirh avatar mirh commented on July 17, 2024

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.

mirh avatar mirh commented on July 17, 2024

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.

richardklasens avatar richardklasens commented on July 17, 2024

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.

richardklasens avatar richardklasens commented on July 17, 2024

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.

mirh avatar mirh commented on July 17, 2024

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.

mirh avatar mirh commented on July 17, 2024

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.

mirh avatar mirh commented on July 17, 2024

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.

rawBuffer = "";
return;

from agopengps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.