Ohne jetzt potentielle neue Traffic-User abschrecken zu wollen: In diesem Thread soll es mal um Bugs, Macken und dergleichen gehen, die Traffic ab und an an den Tag legt. Das könnte zukünftige Bugfixes und schnelle Workarounds erleichtern.
Ein Problem, das bei mir speziell bei speicherintensiven Fahrplänen mit Vorder- und Hintergrundbildern auftritt, sind gelegentliche Programm-Freezes zweierlei Natur, die aber beide Windows dermaßen überlasten, daß manchmal nicht mal der Task-Manager zu öffnen geht. Die einen treten auf, wenn man den Schoner an sich (also nicht das Konfigprogramm) beenden will. Seit V 4.5.6 loggt Traffic zumindest einen Fehler (Index is out of bounds, wenn ich mich recht erinnere) das aber so oft und so intensiv, daß das ganze System blockiert wird, bis man das Programm per Task-Manager killt.
Noch größere Speicherfresser tendieren dazu, mitten im Betrieb zu freezen, weil Windows der Speicher ausgeht. M?glicherweise l??t sich dies lindern, indem der virtuelle Arbeitsspeicher bis zum Gehtnichtmehr vergr??ert wird (oder mehr RAM eingebaut wird). Was aber definitiv eine Erleichterung bringt, ist, auf den DirectX-Dreifach-Modus zu verzichten, denn Traffic l?uft auch im Doppelt-Modus geschmeidig ? und besitzt dann bei Speichermangel meistens den Anstand, sich einfach mit einer Fehlermeldung zu schlie?en. Zumindest einen Fahrplan kann ich jetzt wieder gefahrlos nutzen, der vorher zu schweren Freezes neigte.
Das Problem habe ich auch festgestellt. Lässt es sich nicht so einrichten, dass der Traffic die aktuell fahrenden Züge mit einer höheren Priorität (also ruckelfrei) darstellt, während die nachfolgenden Züge dann etwas langsamer geladen werden? Mitunter erscheint der nachfolgende Zug dann vielleicht 1-2 Sekunden später oder so, aber die bereits auf dem Bildschirm fahrenden Züge würden ruckelfrei laufen?
Ich sehe halt immer mehr folgendes Problem: Mit jeder neuen Traffic-Version kommen hunderte neue Fahrzeugbilder hinzu. Die meisten davon sind vor allem für große Hauptstrecken/Magistralen typisch. Will man so eine im Traffic darstellen, muss man im Prinzip zigtausende (!!!) Züge aus jeweils relativ wenigen Fahrzeugbildern einzeln zusammenstellen, was zwar nicht schwierig, aber so extrem zeitintensiv ist, dass es einfach nicht mehr in einem halbwegs überschaubaren Rahmen möglich ist.
Solche gemischten Güterzüge wie in meiner Beispieldatei sind da noch relativ einfach hinzukriegen, da bei diesen die Wagen einfach nur "wild" durcheinander gewürfelt werden. Für Personenzüge, die ja meist nach bestimmten "Regeln" (Bahnverwaltung, Anzahl und Anordnung 1./2.Klasse, Speisewagen, Gepäckwagen am Zuganfang/ende usw). folgen, habe ich da immer noch keinen Trick gefunden, wie man mit einigermaßen überschaubarem Zeitaufwand diese Vielfalt an Bildern verarbeiten kann.
Leider geht es nicht. Der Kern von Traffic ist etwa dutzend Jahre alt, und ist in Visual Basic geschrieben. (Wenn ich angefangen habe, habe ich noch sehr wenig Erfahrung mit Windows programmierung gehabt - ich komme ja aus tieferer Ebenen, wie Controllern, Embedded Systems). VB läßt mehrere Threads nicht, oder mit Tricks auch nur mit großen Einschränkungen zu. Ab und zu habe ich dann immer mehr Teile in C ausgelagert. Der Ablauf geht aber leider so, das während der Vorbereitung die Züge und Hintergründe der folgende Zeilen zusammenzustellen wird immer wieder die "Lass alles, was schon sichtbar ist, laufen" Routine aufgerufen -der dann entscheidet, ist schon genug Zeit abgelaufen, um den nächsten SChritt auf den Bildschirm zu zeichnen. Es ist hier und da ein bischen verbessert worden, für die allerletzte Zeichnungsschritt gibt es schon eine unabhängige Thread in C, aber der Hauptaufbau ist leider so, wie es ist.
Es wäre seit mehrere Jahren höchste Zeit Traffic von der Grund auf neu zu schreiben.
Wenn ich dazu Zeit und Lust haben werde, ist eine andere Frage. Der Versuch, Traffic in Java mit Client-Server Architektur neu zu schreiben, habe ich angefangen, aber dabei auch auf mehrere Probleme gestoßen. Und zusätzlich: das Sammeln der Bilder will ich auch nicht vollständig abstellen, bis ich programmiere, weil immer wieder verschwinden aus dem Netz schöne Seiten mit interessante Zeichnungen, die dann endgültig verloren gingen.
Ich hab jetzt mal ein bißchen mit VM= herumgespielt und auch ein paar Rangierfahrten getestet.
M=GET geht noch am besten, auch wenn die Szenerie der Rangierlok nicht folgt.
Bei M=PUT bleibt der Hintergrund bei der Abfahrt starr. Dito bei M=UNIT, das sonst C1 folgt.
Bei M=CUT folgt die Szenerie nach der Trennung C1.
Bei M=HEAD bewegt sich die Szenerie bei der Ankunft des Zuges gar nicht und folgt nach dem Kopfmachen C1.
M=TURN geht noch vergleichsweise gut, die Szenerie folgt dem ankommenden und abfahrenden Zug und der umsetzenden Lok.
Dafür hat M=TURN ganz andere Probleme:
– Bei Fahrtrichtung nach links funktioniert die Angabe einer Halteposition (P) gut, bei Fahrtrichtung nach rechts überhaupt nicht. Jedenfalls hält der Zug nicht da, wo er halten soll.
– P2 kann nicht fahrtrichtungsabhängig angegeben werden (P1 schon), dabei ist es egal, ob P2 (oder P1) im sichtbaren Bereich liegt oder nicht. Wenn P2 fahrtrichtungsabhängig angegeben wird, setzt die Lok von P1 aus nur ein kurzes Stück zurück, statt den Zug zu umfahren und an die mit P2 angegebene Position zu fahren, und die Fahrt von P2 an den Zug findet gar nicht statt, die Lok springt auf die Position kurz vor dem Zug.
Ich habe einige Fahrzeuge in der Fahrzeugliste entdeckt, die in der Liste korrekt angezeigt werden, im Grafikprüfstand sowie im Schoner selbst jedoch nicht (Teile sind dann schwarz):
DRG_E80
BR184B~TIS
BR184BB4
FS_E621 (Kupplungen!)
Besonders auffällig: NSB_BM70 und NSB_BM70A - die werden in der Fahrzeugliste und im Grafikrprüfstand korrekt angezeigt, im Schoner jedoch nicht. Vielleicht kann Zoltan alisas Godeny da mal drüberschauen ...
Noch 'ne Macke: Die auf der "offiziellen Homepage" verlinkte Vollversion liegt 2 Versionsnummern zurück. Da muss nur der Link auf die aktuelle Version geändert werden.
Die "falsche" Bilder sind uralte Zeichnungen, die ursprünglich nicht mit transparenz gezeichnet waren. Ich ändere manchmal einige Fahrzeuge, mach die mal transparent, aber ab und zu beliben die Zubehöre (meißtens die Stromabnehmer) auf die Strecke. Es gibt auch umgekehrte Fälle, wo der STromabnehmer schon transparent ist, der Lok noch nicht.
Es ist ein riesen Arbeit, alles Transparent zu machen. Wenn jemand lust und Zeit dazu hat, kann mir dabe helfen. Er soll dann mir eine (kleine) Fahrzeugliste - also STK/STB und TVL - nur mit den geänderten Bildern zuschicken, das werde ich dann in die Sammlung übernehmen.
Und noch mal der Hinweis: Auf der offiziellen Traffic-Homepage wird immer noch auf die alte Version 4.9 verwiesen, obwohl wir schon längst 4.14 haben.
Vielleicht wäre es sinnvoll, dort auch einen Link hier zur Bahnschranke zu setzen. Dann werden vielleicht ein paar mehr Leute merken, dass es zum Traffic auch ein Forum gibt.
Ich habe noch einen kleinen Fehler gefunden: Wenn Traffic läuft, und in Windows poppt im Hintergrund ein anderes Fenster auf (z. B. E-Mail, Messenger, Antivirus, Werbe-PopUp), beendet sich Traffic selbsttätig und schreibt in die Fehlerdatei "Surface lost".
Ich weiß nicht ob das eine Macke oder ein Featurewunsch ist.
Folgende Bildschirmkonstellation:
1 ist der primäre, 2 der sekundäre Bildschirm (Whoa! Wär' niemand drauf gekommen, was? )
Ich würde nun gerne Traffic im Streifenmodus unten auf dem zweiten Bildschirm (schwarzer Bereich) laufen lassen. Allerdings landet der Traffic-Streifen über der Taskleiste auf dem ersten Bildschirm. Ist es möglich mit irgendwelchen Tricks den Streifen dorthin zu bekommen, wo ich ihn haben möchte?
Bisher behelfe ich mir mit dem Mini-Modus. Der hat halt den Nachteil, dass er nichts von der Bildschirmauflösung abknabbert und maximierte Fenster sich dahinter ausdehnen.
Streifenmodus: das geht leider nicht. Was Streifenmodus verwendet, ist ein Feature von Windows, der auf den primären Bildschirm läuft.
Es wäre möglich ein zusätzliches solches Modus zu implementieren, wo man selbst auswählen kann, auf welchen Monitor das laufen soll, und das Fenster sich an die Breite des Monitors anpasst. Aber Windows wird dann mich mitspielen - also, wenn andere Programme ihren Fenster maximieren, dann werden die das gesamte zweite Monitor verwenden, und hinter das Streifen von Traffic sich ausdehnen.
Bestimmt wäre es möglich mit schmutzigen Tricks (Windows-Hooks, oder zyklisch alle andere , remde Fenstern durchzuforsten und eventuell in die fremde Fenster einzugreifen) das zu lösen, aber ich schätze der Aufwand wäre zu groß, und es ist auch fraglich, unter welche Windows-Versionen diese Algorithmen richtig laufen werden.
Diese Webseite verwendet Cookies für die techn. Funktionalität und um Inhalte zu personalisieren und deiner Erfahrung anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du den Einsatz von Cookies. » Hier mehr lesen zum Datenschutz «