Timer Lag

Aus MinesweeperWiki

Version vom 22:03, 8. Apr. 2013 von Judith Laister (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Timer Lag ist wenn die Uhr in Minesweeper langsamer als die reale Zeit läuft. Dieser Bug tritt bei allen Minesweeper Versionen vor Windows Vista auf.

[bearbeiten] Geschichte

Die erste Erwähnung dieses Bugs findet sich am 3. Juni 2001, als Georgi Kermekchiev (Bulgarien) im Guestbook schrieb, dass er endeckt hatte, dass "(...) in einigen Videos der Zeitmesser in Minesweeper nicht Sekunden misst." und dass "(...) der Zeitmesser statt 100 realen Sekunden nur 96 anzeigt." Matt McGinley (USA) wies darauf hin, dass der Timer Jump Bug ein Indiz dafür ist, dass Minesweeper die Systemuhr benutzt, was Georgi's Beobachtung widerspräche. Als Matt allerdings ein Video einer 82 auf Profi untersuchte, entdeckte er, dass die Spielzeit 85 Sekunden betrug!

Marc Schouten (Niederlanden) antwortete: "Es gibt kein Problem mit dem Zeitmesser in Minesweeper. Er läuft absolut synchron mit der Systemuhr. Wenn es einen Unterschied zwischen der tatsächlichen Laufzeit eines auf Video aufgenommenen Spiels und der vom Zeitmesser angezeigten Zeit gibt, liegt das daran, dass das Video nicht mit der gleichen Geschwindigkeit abgespielt wird in der es aufgenommen wurde."

Am nächsten Tag merkte David Barry (Australien) an: "Ich habe gerade eben den Zeitmesser (in einem laufenden Spiel) mit meiner Stoppuhr verglichen... Nach 190 Sekunden auf dem Zeitmesser waren es nach meiner Uhr ungefähr 201 Sekunden. Es gab auch einen Unterschied von grob 10 Sekunden über 3 Minuten hinweg, als ich den Zeitmesser mit der Systemuhr verglich. Deshalb denke ich, dass es nicht allein an den Videos liegt. Ich glaube wir können alle nur hoffen, dass egal welcher Algorithmus zur Zeitmessung verwendet wird, er auf allen Computern gleich langsam ist... ansonsten könten meine Bestzeiten unzulässig sein." Dies war eine Überraschung und Marc antwortete: "Bei mir gibt es keinen nennenswerten Unterschied zwischen Spiel und Uhr. Ich habe das Spiel über 5 Minuten laufen lassen und der Unterschied, falls überhaupt vorhanden, betrug weniger als eine halbe Sekunde. 190 Sekunden statt 201 bedeutet, das Spiel läuft 5% langsamer als die Uhr. Das sind 3 Sekunden bei einem 60s Spiel!"

Georgi lies dann ein Minesweeper Spiel auf seinem Computer über 500 echte Sekunden laufen und sah, dass das Spiel nur 480 Sekunden anzeigte. Er warnte, dass wenn die Geschwindigkeit des Zeitmessers von der PC Konfiguration abhängt, alle Bestzeiten unter unterschiedlichen Bedingungen gespielt wurden. Joe Nuss (USA) stellte ebenfalls einen Vergleich an und fand, dass der Zeitmesser nach 60 Sekunden 58 anzeigte, nach 100 97 und 223 nach 230 realen Sekunden. Ein Vergleich von Stoppuhr und Systemuhr hingegen ergab keinen Unterschied. Das warf die Frage auf, ob Minesweeper wirklich die Systemuhr als Bezugspunkt hernahm. Marc hatte bei seinem ersten Test beobachtet, dass der Zeitmesser und die Systemuhr synchron liefen aber ein zweiter Test ergab, dass der erste Test fehlerhaft war.

Roefol Smit (Niederlande) nahm ebenfalls Tests vor. Auf seinem Computer zeigte der Zeitmesser 97 nach 100 Sekunden, 193 nach 200, 288 nach 300, 384 nach 400 und 480 nach 500. David machte mehrere Tests mit verschiedenen Konfigurationen. Bei 87% und 57% Systemauslastung betrug der Unterschied über 500 Sekunden 13 Sekunden. Das Benutzen von WinAmp zum abspielen von Musik erhöhte diesen auf 16 Sekunden, genauso wie Camtasia bei 64.000 Farben und 8 Frames pro Sekunde. Bei 10 Frames pro Sekunde stieg der Unterschied auf 17 Sekunden. Er testete ebenfalls die Minesweeper League version fand überhaupt keinen Unterschied. Er vermutete, dass Minesweeper berechnete "wie viele Dummy-Loops es braucht für eine Sekunde" und dieses dann pauschal als Verzögerung für den Zeitmesser verwenden würde. Marc stimmte zu, dass dies eine Möglichkeit sein könnte und dass die Systemuhren wohl korrekt seinen, weshalb die Vezögerung wohl durch die Programmierung verursacht werde.

Die Community war sich nun zweier Sachen bewusst: Der Zeitmesser lief auf manchen Computern langsamer als auf anderen und die Wiedergabegeschwindigkeit von Videos war nicht immer perfekt. Mehrere Beispiele für das zweite Problem wurden nun entdeckt. Als David das Video von Lasse Nyholms 50 ansah, war die Aufzeichnung 52 Sekunden lang, die 54 von Dan Cerveny war 57 Sekunden lang und seine 62 lief über 64 Sekunden. Die 63 von Marc war wiederum einwandfrei.

Ein anonymer 'Surfer' postete dann weitere Testergebnisse. Es gab keine Verzögerung bei der Minesweeper League Version. Nach 500 Sekunden zeigte Winmine 480 an (Windows 3.11 und Windows 98), Narkomania zeigte 474 und Hexmines 473 an.

Matt schrieb auf Grundlage der bisherigen Diskussion einen Artikel auf seiner Seite, Intermediate Hall of Fame, mit dem Namen "A Clockwork Mines". Zwei Wochen später, am 27. Juni 2001, gelang ihm eine 10 auf dem Dreamboard und das Problem wurde in der darauf folgenden Aufregung komplett vergessen.

[bearbeiten] Zusammenfassung

Der Zeitmesser von Windows Minesweeper in Versionen vor Vista ist nicht fehlerfrei. Neben dem Timer Jump Problem tritt beim Zeitmesser häufig eine Verzögerung auf. Die Grund dafür könnte sein, dass der Computer zu langsam ist oder durch zeitgleiche Nutzung anderer Programmer verlangsamt wird. (Der Originalautor dieses Artikels erinnert sich an die Geschichte eines Solitärspielers, der bemerkte, dass die Uhr vollständig anhielt, wenn der Drucker benutzt wurde.)

Der Originalautor hat versucht diesen Bug im Juni 2010 zu reproduzieren. Auf seinem Laptop mit Windows95 und (MB Speicher betrug die Verzögerung 11 Sekunden üner 500 Sekunden. Während Camtasia bei 15 fps lief erhöhte sich die Verzögerung auf 20 Sekunden. Auf seinem jetzigen Laptop mit Windows Vista und 3GB Speicher war die Verzögerung nur noch 3 Sekunden, stieg aber auf 6 an, wenn mit WinAmp Musik gespielt wurde. Da Marc Schouten keine Verzögerung bemerkte, als er auf Windows2000 mit 128MB testete, kann die Verzögerung nich allein durch zu wenig freien Speicher begründet werden. Vielmehr ist die Ursache das Benutzen mehrere Programme zur gleichen Zeit, was vermuten lässt, dass das ursprüngliche Problem eine fehlerhafte Programmierung ist. Die Erfahrung zeigt, dass eine hohe Systemauslastung nicht nur den Zeitmesser, sondern auch das öffnen der Felder verlangsamt. Der langsamere Zeitmesser bring also keinen wirklichen Vorteil.

Ein zweiter Fall von Verzögerung kann eintreten, wenn ein zu langsamer Computer nicht in der Lage ist ein Video in der richtigen Geschwindigkeit wiederzugeben

[bearbeiten] Links

Ansichten
Persönliche Werkzeuge
Andere Sprachen