Laggs bei Autodarts

  • Wie wird z. Zt. Autodarts auf deinem PI5 gestartet?

    EDIT:

    Wenn Autodarts auf deinem PI5 mit Hilfe einer service-unit gestartet wird, dann versuch mal als Test (temporär bzw. nicht persistent), den CPU-Verbrauch zu limitieren mit:

    Code
    systemctl set-property autodarts.service CPUQuota=50%

    Schau dann nach ob Autodarts so noch brauchbar ist bzw. wie das Verhalten vom PI5 bzgl. Laggs, ist.

    Wi-Fi_Signal_Strength  txpower
    iptables chains order scheme iptables-diagram
    nftables-diagram

    Meine PIs

    PI4B/8GB (border device) FreeBSD 15.1R-p1 (arm64): SSH-Server, WireGuard-Server, ircd-hybrid-Server, Mumble-Server

    PI4B/4GB FreeBSD 14.5R-p0 (arm64): SSH-Serv., WireGuard-Serv., ngircd-Serv., Mumble-Serv., ddclient

    PI4B/8GB Bookworm-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, Mumble-Server, botamusique, ample

    Edited once, last by rpi444 (June 13, 2026 at 8:55 PM).

  • Wie wird z. Zt. Autodarts auf deinem PI5 gestartet?

    Also Autodarts selbst startet direkt mit dem Pi im Hintergrund, ich bekomme davon nichts mit.

    Da ich es so installiert habe:

    bash <(curl -sL get.autodarts.io)


    Die Probleme starten erst wenn ich den Browser öffne, während die Cams laufen..

    Schalte ich die Cams aus hab ich keine Probleme…

  • Also Autodarts selbst startet direkt mit dem Pi im Hintergrund, ich bekomme davon nichts mit.

    Wie sind die Ausgaben von:

    Code
    systemctl status autodarts.service
    systemd-analyze blame | grep -i autodarts
    ps -fC autodarts

    ?

  • Bei dem 2 passiert nichts wenn icj es eingebe

    OK. Dann teste (als root) mit:

    Code
    systemctl set-property autodarts.service CPUQuota=35%

    Ob Autodarts noch vernünftig benutzt werden kann bzw. ob die CPU-Limitierung evtl. positive Auswirkungen auf das Lagging hat?

  • Damit verdreht er in der Kameraconfig permanent die kameras, man kann also nicht vernünftig kalibrieren.

    Dann teste mal mit:

    Code
    systemctl set-property autodarts.service CPUQuota=95%

    EDIT:

    Installiere mal htop auf deinem PI5 und schau dir die CPU-Auslastung der einzelnen Kerne, bei/während der intensiven Benutzung von Autodarts und während des Laggings auf deinem PI5, an.

    Wi-Fi_Signal_Strength  txpower
    iptables chains order scheme iptables-diagram
    nftables-diagram

    Meine PIs

    PI4B/8GB (border device) FreeBSD 15.1R-p1 (arm64): SSH-Server, WireGuard-Server, ircd-hybrid-Server, Mumble-Server

    PI4B/4GB FreeBSD 14.5R-p0 (arm64): SSH-Serv., WireGuard-Serv., ngircd-Serv., Mumble-Serv., ddclient

    PI4B/8GB Bookworm-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, Mumble-Server, botamusique, ample

    Edited 3 times, last by rpi444 (June 13, 2026 at 9:23 PM).

  • Hab es eingegen und neugestartet.

    Dann konnte ich wieder Kalibrieren. Es läuft jetzt stabiler aber er bekommt keine Stabilen 20FPS hin.


    Es läuft deutlich schöner, aber noch nicht perfekt

  • Hab es eingegen und neugestartet.

    Du weißt aber schon, dass :

    Code
    systemctl set-property autodarts.service CPUQuota=95%

    eine Konfiguration für die run-time ist und nicht persistent ist (wegen dem testen). Wenn es was bringt, kann man das auch persistent konfigurieren. Siehe auch EDIT im Beitrag #27 (oben).

  • also so sieht es mit dem code und htop aus. das war der höchste peak.

    meist läuft es so bei 40% wenn ich grade nicht werfe.

    Wenn ich werfe geht es wie im screenshoot hoch.

    Es geht hier und jetzt um "Feinjustierung" mit Hilfe der "CPUQuota="-Direktive in der service-unit. Die % dort sind nicht identisch mit dem CPU-Verbrauch wie/der mit top oder mit htop angezeigt wird. Abhängig vom Lagging bei intensiver Nutzung von Autodarts, kannst Du den Wert für "CPUQuota=" während der Laufzeit/Benutzung erhöhen oder reduzieren (mit systemctl via service-unit). Wenn Du den optimalen Wert für "CPUQuota=" gefunden hast, kann man diesen Wert persistent in der autodarts.service eintragen/konfigurieren.

  • Okey, dann muss ich schaun, wenn ich wieder länger spiele und rumprobieren, ...

    BTW: Wenn Du den "optimalen" Wert für die CPUQuota gefunden hast, kannst Du diese Zeile:

    Code
    CPUQuota=xxx%

    (xxx durch den optimalen Wert ersetzen) mit z. B. nano in die [Service]-Section der autodarts.service (persistent) eintragen/ergänzen. Dieser Wert kann jederzeit während der Laufzeit korrigiert/geändert werden. Wie das geht hast Du weiter oben schon praktiziert/gesehen.

  • Quote
    Code
    CPUQuota=xxx%

    (xxx durch den optimalen Wert ersetzen) mit z. B. nano in die [Service]-Section der autodarts.service (persistent) eintragen/ergänzen.

    Kannst du mir bitte noch genauer erklären wo ich das einfüge? Wo finde ich autodarts.service um es bearbeiten zu können

  • Quote
    Code
    CPUQuota=xxx%

    (xxx durch den optimalen Wert ersetzen) mit z. B. nano in die [Service]-Section der autodarts.service (persistent) eintragen/ergänzen.

    Kannst du mir bitte noch genauer erklären wo ich das einfüge? Wo finde ich autodarts.service um es bearbeiten zu können

    Siehe die Ausgabe von:

    Code
    ls -la /etc/systemd/system/autodarts.service

    und dann als root (oder mit sudo) mit nano:

    Code
    nano /etc/systemd/system/autodarts.service

    Dort gibt es eine Zeile "[Service]" und nach dieser Zeilt kannst CPUQuota=xxx% mit dem richtigen Wert einfügen und speichern. Danach:

    Code
    sudo systemctl daemon-reload
    sudo systemctl restart autodarts
    # testen:
    systemctl status autodarts
    systemctl show autodarts | grep -i CPUQuota

    EDIT:

    Aus der manpage:

    Display Spoiler
    Quote

    CPUQuota=
    Diese Einstellung steuert den Controller cpu in der vereinigten Hierarchie.

    Weist die festgelegte CPU-Zeitquote den ausgeführten Prozessen zu. Akzeptiert einen Prozentwert, dem »%« angehängt ist. Der Prozentwert gibt an, wieviel CPU-Zeit die Unit maximal
    erhalten soll, relativ zu der gesamten CPU-Zeit, die auf einer CPU verfügbar ist. Verwenden Sie Werte > 100%, um CPU-Zeit auf mehr als einer CPU vorzusehen. Dies steuert das Attribut
    »cpu.max« der vereinigten Control-Gruppenhierarchie und »cpu.max« auf der alten. Für Details über dieses Control-Gruppen-Attribut siehe Control-Gruppen v2[2] und
    CFS-Bandweitensteuerung[4]. Durch Setzen von CPUQuota= auf einen leeren Wert wird keine Quote gesetzt.

    Beispiel: CPUQuota=20% stellt sicher, dass der ausgeführte Prozess niemals mehr als 20% CPU-Zeit auf einer CPU erhält.

    Hinzugefügt in Version 213.

  • Super danke!!

    BTW: Teste auch mit der zusätzlichen Zeile:

    Code
    AllowedCPUs=1-3

    (nach der CPUQuota-Zeile).
    Damit wird Autodarts erlaubt, nur die Kerne (CPUs) 1, 2 und 3 zu benutzen. D. h. der Kern (CPU) 0 darf bzw. wird von Autodarts nicht benutzt. Evtl. hat das eine positive Auswirkung auf das Lagging.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!