Autor |
Nachricht |
< Wartezeiten wie in EKS programmieren |
|
Verfasst am:
Sa, 13 März 2004 - 16:25
|
|
|
Kompassleser
Anmeldungsdatum: 19.09.2002
Beiträge: 217
|
|
Wie kann ich Wartezeiten wie in ERWARTE KEIN SPIEL programmieren? Sind
diese Prozessorabhängig oder konstant? |
|
|
|
|
|
Verfasst am:
Sa, 13 März 2004 - 19:17
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Gar nicht. T.A.G. kennt keine zeitabhängigen Ereignisse.
Wenn du das Warten auf einen Tastendruck meinst, dafür gibt es die Funktion Tastendruck. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
So, 14 März 2004 - 19:16
|
|
|
|
In EKS sind doch in der Szene mit der Biene Wartezeiten (Echtzeit)eingebaut! |
|
|
|
|
|
Verfasst am:
Di, 16 März 2004 - 16:38
|
|
|
Wasserträger
Anmeldungsdatum: 04.11.2003
Beiträge: 79
Wohnort: Frankfurt (Oder)
|
|
Die Wartezeit wurde mit einer Schleife erzeugt, denke ich mal.
Also so (weiß nicht wie die TAG-Syntax auszieht, deswegen Pseudo-Code):
Code: | solange x < 10000
x = x + 1;
ende der Schleife;
Ausgabe "bssssssssssss"; |
So würde ich mir das erklären. Ist keine Echtzeit, die CPU muss vor der Ausgabe noch arbeiten.
Echtzeit wäre es, wenn die Verzögerung z.B. 1 Sekunde dauert, unabhängig von der CPU-Geschwindigkeit. _________________ Es geht nicht drum, ob es eine Simulation ist, sondern ob sie es beweisen können. |
|
|
|
|
|
Verfasst am:
Di, 16 März 2004 - 17:15
|
|
|
|
Ich glaube, so wurde es auch bei EKS gemacht. Danke ;) |
|
|
|
|
|
Verfasst am:
Di, 16 März 2004 - 20:56
|
|
|
Abenteurer
Anmeldungsdatum: 26.08.2002
Beiträge: 278
Wohnort: Leipzig
|
|
Erklär mich doch mal bitte einer, wo es Wartezeiten in EKS gibt. Habs eben nochmal durchgespielt, mir sind keine aufgefallen. _________________ "Ein Musiker! Was will der hier so spät?" Stolzing (Meistersinger v.N.) |
|
|
|
|
|
Verfasst am:
Mi, 17 März 2004 - 12:44
|
|
|
|
Dafür kann es bestimmt zwei Gründe geben:
1. Die CPU ist so schnell, dass sich die Verzögerung nicht bermerkbar lassen lässt.
2. Du weißt nicht wie die Verzögerung dargestellt wir, so dass es dir nicht aufgefallen ist.
Nur die Ausgabe verzögert sich schrittweise, es folgt ein "bsssssss" und erst nach ein Weilchen folgt das nächste "bsssssss". Das geht aber ziemlich schnell, mein Tipp:
In Windows die DosTAM benutzen, da verzögert sich die Ausgabe so oder so.
Aber das wäre ziemlich umständlich, nur um die Ausgabe stocken zu sehen.
P.S.: Das besondere bei EKS ist (meiner Meinung nach) nicht die verzögerte Ausgabe, sondern die Ausgabe einer älteren Eingabe. (Auch bei der Bienen-Szene) |
|
|
|
|
|
Verfasst am:
Mi, 17 März 2004 - 16:31
|
|
|
Wasserträger
Anmeldungsdatum: 04.11.2003
Beiträge: 79
Wohnort: Frankfurt (Oder)
|
|
Na, wer hat das wohl geschrieben?
P.S.: Es war doch keine Biene, sondern eine Fliege! Fliegen machen "bssssssss" und Bienen machen "summmmmmmm". _________________ Es geht nicht drum, ob es eine Simulation ist, sondern ob sie es beweisen können. |
|
|
|
|
|
Verfasst am:
Do, 18 März 2004 - 8:33
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
ChrW hat folgendes geschrieben: | Erklär mich doch mal bitte einer, wo es Wartezeiten in EKS gibt. Habs eben nochmal durchgespielt, mir sind keine aufgefallen. |
Danke, dass du das mal überprüft hast. Ich hatte nur die erste Szene angespielt.
Verzögerungen mit langen Schleifen zu programmieren, das gehört wohl der Vergangenheit an. Das haben wir zu 64er-Zeiten gemacht, und da het es einigermaßen funktioniert, weil die Rechner langsam waren und auch alle denselben Prozesor hatten. Heutzutage, wo tausende von Pixeln in Bruchteilen von Sekunden gerendert werden, ruft so eine Schleife beim Prozessor nur einen müden Lacher hervor. Während bis zehntausend gezählt wird, zerfallen zwar ein paar Cs-133-Atome, aber am Bildschirm bekommt man davon wohl nichts mit. Außerdem ist die Dauer einer solchenSchleife wohl stark vom verwendetet Prozessor abhängig.
Dadurch, dass sich EKS aber die vorherige Eingabe merkt, müssen viele Feldoperationen durchgeführt werden, die in der T.A.M. natürlich nicht auf der (schnellen) Prozessorebene ablaufen. Dies kann im Zusammenhang mit den bereits erwähnten Auslastungsproblemen eventuell zu Verzögerungen in der Ausgabe führen. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
So, 21 März 2004 - 22:40
|
|
|
Abenteurer
Anmeldungsdatum: 25.08.2002
Beiträge: 416
Wohnort: Essen
|
|
Wie vermutet habe ich in der Fliegenszene eine (Doppel-)Schleife benutzt - allerdings nicht, um Echtzeit zu simulieren, sondern um es mir zu ersparen, dutzende Male "bsss" zu schreiben. Offenbar war mein Rechner schnell genug, so daß ich die Verzögerung nicht bemerkt habe. |
|
|
|
|
|