Projekt

Allgemein

Profil

Aktionen

Feature #156

geschlossen
JH

Trainingspunkte werden gebündelt gespeichert statt in jedem Tick

Feature #156: Trainingspunkte werden gebündelt gespeichert statt in jedem Tick

Von Julius Haman vor 20 Tagen hinzugefügt. Vor 19 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
12.10.2026
Abgabedatum:
12.10.2026
% erledigt:

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Anlass

Im Training schreibt ErControl jeden Tick (1 Sekunde) per Context.SaveChanges() auf dem UI-Thread. Mit lokaler Datenbank kostet das 11 bis 20 ms pro Tick (ein SQLite-Commit mit Synchronisierung), auf einem Netzlaufwerk 200 bis 430 ms. Das ist nach #155 der größte Posten des Trainings-Ticks und führt zu einem kurzen Stocken der Oberfläche jede Sekunde.

Das Speichern in jedem Tick war als Absturzsicherung gedacht (#30): Bei einem Absturz sollten höchstens ein paar Sekunden verloren gehen.

Umgesetzt

  • Die Trainingspunkte werden höchstens alle 5 Sekunden gespeichert. Der erste Punkt wird sofort gespeichert, damit die Trainingszeile in der Datenbank existiert.
  • Beim Beenden des Trainings werden wie bisher alle Daten gespeichert (Speichern, Verwerfen und Fortsetzen unverändert).
  • Bei einem Absturz gehen damit höchstens die letzten 5 Sekunden verloren statt der letzten Sekunde.

Nicht Teil dieses Tickets

WAL-Modus der Datenbank und Speichern auf einem Hintergrund-Thread.

JH Von Julius Haman vor 20 Tagen aktualisiert Aktionen #1

  • Status wurde von Neu zu Erledigt geändert

JH Von Julius Haman vor 19 Tagen aktualisiert Aktionen #2

  • Abgabedatum wurde auf 12.10.2026 gesetzt
  • Beginn wurde auf 12.10.2026 gesetzt

JH Von Julius Haman vor 19 Tagen aktualisiert Aktionen #3

  • % erledigt wurde von 0 zu 100 geändert
Aktionen

Auch abrufbar als: PDF Atom