[archimedes] Re: Fragen zum C-Programm Uhrzeit

  • From: Alexander Ausserstorfer <bavariasound@xxxxxxxxxxxxxxx>
  • To: archimedes@xxxxxxxxxxxxx
  • Date: Thu, 05 Jan 2017 10:20:22 +0200

In message <b6d2caf855.Toni@xxxxxxxxxxxxxxxxxxxxxxxx>
          "Anton Reiser" <anton-reiser@xxxxxxxxxxx> wrote:

[flackernde Uhrzeit]

Du kannst das flackern ein gutes Stück reduzieren, wenn Du
     while (newtime - oldtime >= 0)
statt
     while (newtime - oldtime > 0)
verwendest.

Sonst wird das Icon unnötigerweise mindestens zweimal in der Sekunde
gezeichnet.

Ich hab's versucht zu verstehen. Also nachzuvollziehen. Aber an irgend
etwas scheitert es.

Ich verstehe das so: Die eingebaute Laufzeituhr zählt in Stufen von
1/100 Sekunden, d. h. in Abschnitten (Zeitintervallen) von 10
Mikrosekunden weiter.

Nehmen wir z. B. an, new steht bei 100, old bei 0. Das ist der Abstand
von 1 Sekunde.

Dann wird bei while (new - old >= 0) die Berechnung old = old + 100
_zweimal_ durchgeführt (bei (new - old > 0) hingegen nur einmal), so
dass old dann um den Wert 200 erhöht wird, bevor die Schleife verlassen
wird. Für mich heißt das jetzt aber, dass die nächste Aktualisierung des
Symbols dann erst nach 2 Sekunden erfolgt. Das ist aber offensichtlich
nicht der Fall. Denn dann müsste ja bei der Anzeige jeweils 1 Sekunde
übersprungen werden.

Ich habe das Programm jetzt soweit verbessert (auch mit den anderen
Tipps aus anderen Foren):

http://home.chiemgau-net.de/ausserstorfer/Computer/Peanuts/Uhrzeit.zip
( 84 kB)

A.

-- 
http://home.chiemgau-net.de/ausserstorfer/
Mein Gott! ER lebt!

Other related posts: