Unterstützung für Speicherverwaltung bis 4GB
- Carsten Hölscher
- Administrator
- Beiträge: 33444
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Unterstützung für Speicherverwaltung bis 4GB
Bei den aktuellen Testfahrten im entstehenden Knoten Hagen war für Zusi jetzt endgültig Feierabend bei der Speichernutzung. Mit Alwins Zuarbeit (Danke an der Stelle) hab ich mich dann mal dran gemacht, die LARGEADDRESSAWARE-Option und einen besseren Speichermanager zu testen.
Nach einigen Iterationen in kleiner Testrunde war jetzt ein brauchbarer Stand da und es wäre mal zu testen, ob es auch bei einer größeren Zahl Anwendern funktioniert. Die beiden aktuellen betas von Fahrsim und 3D-Editor sind entsprechend modifiziert. Bitte achtet auf allgmeine Performance/Ruckeln usw., und ob die dll-Schnittstellen sauber arbeiten, also Buchfahrpläne im Simulator und wer hat auch Fahrpult-dlls sowie im Editor Fahrleitungsbau, Hektometertafeln usw.
Carsten
Nach einigen Iterationen in kleiner Testrunde war jetzt ein brauchbarer Stand da und es wäre mal zu testen, ob es auch bei einer größeren Zahl Anwendern funktioniert. Die beiden aktuellen betas von Fahrsim und 3D-Editor sind entsprechend modifiziert. Bitte achtet auf allgmeine Performance/Ruckeln usw., und ob die dll-Schnittstellen sauber arbeiten, also Buchfahrpläne im Simulator und wer hat auch Fahrpult-dlls sowie im Editor Fahrleitungsbau, Hektometertafeln usw.
Carsten
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Unterstützung für Speicherverwaltung bis 4GB
Alle geladenen DLLs arbeiten im Adressraum des Hauptprozesses und muessen daher mit hohen Speicheradressen umgehen koennen. Das betrifft vermutlich vor allem die mit Delphi erstellten DLLs. Zum sinnvollen Testen sollten die mitgelieferten DLLs daher auch einmal mit dem neuen Speichermanager neu kompiliert werden.
-
- Beiträge: 8972
- Registriert: 04.11.2001 19:57:46
- Aktuelle Projekte: Zusi3 Objektbau
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Die beiden Buchfahrplan-DLL liefen bei den Vorab-Tests die ganze Zeit in unveränderter Form so mit. Von dort sind eigentlich keine Probleme mehr zu erwarten. Fahrpult-DLLs und alles was sich in den 3D-Editor einklinkt ist noch ungetestet.
Wer mutig ist, kann zum Testen die AllocationPreference seines Windows umstellen, so dass die hohen Speicheradressen zuerst vergeben werden. Ich erkläre jetzt hier nicht, wie man das macht, damit ich nicht schuld bin wenn es rundrum auf eurem System in anderer Software knallt Die Leute, die sich ein wenig auskennen, werden das hinkriegen.
Wer mutig ist, kann zum Testen die AllocationPreference seines Windows umstellen, so dass die hohen Speicheradressen zuerst vergeben werden. Ich erkläre jetzt hier nicht, wie man das macht, damit ich nicht schuld bin wenn es rundrum auf eurem System in anderer Software knallt Die Leute, die sich ein wenig auskennen, werden das hinkriegen.
Meine Zuarbeit beschränkte sich im wesentlichen aufs rituelle Platzen der Hutschnur. Viel mehr habe ich nicht gemacht.Carsten Hölscher hat geschrieben:Mit Alwins Zuarbeit (Danke an der Stelle)
Mein Youtube-Kanal: youtube.com/echoray1
Re: Unterstützung für Speicherverwaltung bis 4GB
Rein aus Interesse: es geht um eine Speicherverwaltung bis 4 GB? Wie viel war es denn bisher? Hat diese magische 4 GB-Grenze nicht was mit der 32-Bit-Adressierung zu tun? Soweit ich weiß können nur 64-Bit Programme die volle Speicherbandbreite ausnutzen da 32-Bit Programme nur in einer Art "Emulationsmodus" laufen (zumindest in den mittlerweile gängigen x64-Systemen).
Zuletzt geändert von Thomas B am 20.11.2018 08:10:43, insgesamt 1-mal geändert.
Grüße,
Thomas (eh. ElektrikTrick)
Thomas (eh. ElektrikTrick)
-
- Beiträge: 638
- Registriert: 06.12.2012 10:23:58
Re: Unterstützung für Speicherverwaltung bis 4GB
Ja, s. https://forum.zusi.de/viewtopic.php?f=4 ... 84#p291784" target="_blankThomas B hat geschrieben:Rein aus Interesse: es geht um eine Speicherverwaltung bis 4 GB?
Viele Grüße
Axel
Axel
Re: Unterstützung für Speicherverwaltung bis 4GB
Mit 32-bit kann ein Programm direkt maximal 4 GB an Adressraum verwalten. Standardmäßig sind aber 2 GB davon für das Betriebssystem reserviert, sodass für die Anwendung selber nur 2 GB nutzbar bleiben. Unter 64-bit-Windows hingegen stehen (theoretisch) 16 Exa(!)byte zur Verfügung, der für das Betriebssystem reservierte Adressbereich liegt wieder am hinteren Ende, diesmal also weit jenseits des GB-Bereiches.
Daher kann Windows unter 64 bit einem 32-bit-Programm jetzt den kompletten Adressraum zwischen 0 und 4 GB zur freien Verfügung bereitstellen, vorausgesetzt, dass das Programm versichert, damit auch umgehen zu können. Zu Zeiten, als die 32-bit-Grenze noch weit entfernt schien, hatte nämlich viele Programme im Vertrauen auf diese 50-50-Aufteilung des Adressraumes das oberste Bit der Speicheradressen (welches im traditionell für Anwendungsprogramme zur Verfügung stehenden Bereich von 0 - 2 GB immer "0" sein wird) für eigene Zwecke "missbraucht".
Daher kann Windows unter 64 bit einem 32-bit-Programm jetzt den kompletten Adressraum zwischen 0 und 4 GB zur freien Verfügung bereitstellen, vorausgesetzt, dass das Programm versichert, damit auch umgehen zu können. Zu Zeiten, als die 32-bit-Grenze noch weit entfernt schien, hatte nämlich viele Programme im Vertrauen auf diese 50-50-Aufteilung des Adressraumes das oberste Bit der Speicheradressen (welches im traditionell für Anwendungsprogramme zur Verfügung stehenden Bereich von 0 - 2 GB immer "0" sein wird) für eigene Zwecke "missbraucht".
Zuletzt geändert von Jan am 20.11.2018 09:05:46, insgesamt 1-mal geändert.
- Jens Haupert
- Beiträge: 4920
- Registriert: 23.03.2004 14:44:34
- Aktuelle Projekte: http://www.zusidisplay.de
- Wohnort: Berlin
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Hallo,Alwin Meschede hat geschrieben:Wer mutig ist, kann zum Testen die AllocationPreference seines Windows umstellen, so dass die hohen Speicheradressen zuerst vergeben werden.
im Grunde müsste man das tun, um sinnvoll zu testen. Denn ein Fehler wird nur dann auftreten, wenn Zusi mit der DLL Daten über eine Adresse im "kritischen Bereich" austauscht und die DLL damit nicht umgehen kann.
Bei den Zusi-DLLs müsste es in der Tat genügen, sie auch einfach mit dem Flag zu kompilieren. ZusiDisplay (somit auch die 2006er Buchfahrplan-DLL) als .net-Anwendung gibt per Default an, dass es nicht "LargeAdressAware" ist. Ich kann das aber nachrüsten. Intern ändern tut das natürlich nix; es gibt zumindest keine Problemberichte aus der .net-Welt bezüglich des Themas.
Grüße
Jens
-
- Beiträge: 8972
- Registriert: 04.11.2001 19:57:46
- Aktuelle Projekte: Zusi3 Objektbau
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Die theoretische Grenze auf einem unmodifizierten Windows lag bisher bei 2 GB. In der Praxis brach Zusis bisheriger Speichermanager aufgrund seines Fragmentierungsverhaltens aber schon bei etwa 1,3 bis 1,4 GB zusammen. Der neue Speichermanager hat ein wesentlich gutmütigeres Fragmentierungsverhalten, so dass er auf unmodifiziertem 32-Bit-Windows näher an die 2-GB-Grenze rankommt. Auf 64-Bit-Windows (das ist die große Masse der heute in freier Wildbahn anzutreffenden Systeme) kann er bis 4 GB RAM nutzen.Thomas B hat geschrieben:Rein aus Interesse: es geht um eine Speicherverwaltung bis 4 GB? Wie viel war es denn bisher?
Ihr düftet verkürzte Ladezeiten bei großen Fahrplänen feststellen. Außerdem wurde in Einzelfällen festgestellt, dass der ganze Simulator ein paar fps mehr pro Sekunde bringt. Das kann passieren, weil der neue Speichermanager weniger CPU-Zeit benötigt, und deshalb mehr CPU-Zeit für das Rechnen von Bildern zur Verfügung steht. Bei mir selber bringt der neue Simulator allerdings keine zusätzlichen fps.
Zuletzt geändert von Alwin Meschede am 20.11.2018 09:57:20, insgesamt 2-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1
Re: Unterstützung für Speicherverwaltung bis 4GB
Ich nehme an eine größere Speicherausnutzung - bei vielen dürfte mehr als 4 GB installiert sein - ist nur bei 64-Bit Kompilierung möglich? Kann Delphi das überhaupt?
Grüße,
Thomas (eh. ElektrikTrick)
Thomas (eh. ElektrikTrick)
-
- Beiträge: 8972
- Registriert: 04.11.2001 19:57:46
- Aktuelle Projekte: Zusi3 Objektbau
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Delphi kann das durchaus, aber das wäre ein Riesen-Portierungsprojekt.Thomas B hat geschrieben:Ich nehme an eine größere Speicherausnutzung - bei vielen dürfte mehr als 4 GB installiert sein - ist nur bei 64-Bit Kompilierung möglich? Kann Delphi das überhaupt?
Mein Youtube-Kanal: youtube.com/echoray1
- Frank Wenzel
- Beiträge: 5118
- Registriert: 06.11.2001 01:13:47
- Wohnort: Trier
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Ich würde das gerne bei mir testen, bisher habe ich mich jedoch von Beta-Versionen ferngehalten. Insofern meine bescheidenen Fragen: Kann ich die Betas einfach wieder deinstallieren und auf eine Hauptversion zurückspringen oder muss man sich für den Fall der Fälle den aktuellen Stand zur Seite zu speichern zwecks restore? Oder besser eine Parallel-Installation zum ausprobieren?
Edit: Carstens Hinweise im einleitenden Updates-Beitrag gelesen..., insofern habe ich mir die Fragen selbst beantwortet...
Edit: Carstens Hinweise im einleitenden Updates-Beitrag gelesen..., insofern habe ich mir die Fragen selbst beantwortet...
Zuletzt geändert von Frank Wenzel am 20.11.2018 13:07:49, insgesamt 1-mal geändert.
-
- Beiträge: 8972
- Registriert: 04.11.2001 19:57:46
- Aktuelle Projekte: Zusi3 Objektbau
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Eine erste Rutsche mit Befunden bei aktivierter AllocationPreference auf die hohen Adressen:
- Fahrleitungs-DLL Re 160 und Re 250: Bau und Konfigurationsmenü funktioniert
- Fahrleitungs-DLL "Re 160 erweiterte Funktionen" (Alwin): Bau funktioniert, aber Konfigurationsmenü funktioniert nicht -> DLL auf Version 1.0.0.7 updaten, um das Menü gängig zu machen.
- Katenoide.dll (Steven): Konfigurationsmenü funktioniert nicht
- Kilometerstein-DLL: Konfigurationsmenü funktioniert, aber Bau funktioniert nicht
- Hektometertafel-DLL v2 (Johannes): Bau und Konfigurationsmenü funktionieren
- Hektometertafel-DLL v1 (Carsten): Konfigurationsmenü funktioniert, aber Bau funktioniert nicht
Zuletzt geändert von Alwin Meschede am 20.11.2018 13:21:23, insgesamt 2-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1
-
- Beiträge: 3195
- Registriert: 07.03.2002 10:09:59
- Aktuelle Projekte: Objektbau und Modulgestaltung
- Wohnort: Dortmund
Re: Unterstützung für Speicherverwaltung bis 4GB
Hallo Frank,
lege Dir von allen Programmteilen in der aktuellen und funktionierenden Version eine Sicherungskopie an. Dann installiere die Beta-Versionen. Sollte es Probleme geben, einfach die Sicherungskopie über die aktuelle Beta kopieren und fertig.....
lege Dir von allen Programmteilen in der aktuellen und funktionierenden Version eine Sicherungskopie an. Dann installiere die Beta-Versionen. Sollte es Probleme geben, einfach die Sicherungskopie über die aktuelle Beta kopieren und fertig.....
tschüs....
Jürgen
Jürgen
Re: Unterstützung für Speicherverwaltung bis 4GB
Wow. Klasse.
Vielen Dank an Michael, Alwin und Carsten.
Mit der Verdreifachung müssten wir jetzt erst mal eine Weile auskommen können.
Vielen Dank an Michael, Alwin und Carsten.
Mit der Verdreifachung müssten wir jetzt erst mal eine Weile auskommen können.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Michael Springer
- Beiträge: 2932
- Registriert: 24.06.2002 16:22:44
- Wohnort: Schwäbisch Gmünd
Re: Unterstützung für Speicherverwaltung bis 4GB
Für gut befunden. Bin gerade von Fröndenberg nach Hagen mit 4000m Sichtweite (Laderadius 7000/3450) mit einer maximalen Auslastung im Taskmanager mit 1,67 GB ohne Absturz durchgekommen. Mit der alten Version war das nicht möglich, da crashte es bei ca. 1,3GB Speicherauslastung.
Michael
Michael
- Johannes
- Beiträge: 3203
- Registriert: 14.03.2009 22:36:06
- Aktuelle Projekte: Zusitools (http://git.io/zusitools)
Re: Unterstützung für Speicherverwaltung bis 4GB
Macht aber keinen Unterschied, denn das Flag wird bei DLLs einfach ignoriert: https://blogs.msdn.microsoft.com/oldnew ... 0/?p=12793" target="_blankJens Haupert hat geschrieben:ZusiDisplay (somit auch die 2006er Buchfahrplan-DLL) als .net-Anwendung gibt per Default an, dass es nicht "LargeAdressAware" ist. Ich kann das aber nachrüsten.
- Carsten Hölscher
- Administrator
- Beiträge: 33444
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Unterstützung für Speicherverwaltung bis 4GB
Ein paar Rückmeldungen wären noch nett, auch wenn es alles ohne jede Auffälligkeit läuft.
Carsten
Carsten
Re: Unterstützung für Speicherverwaltung bis 4GB
Keine Auffälligkeiten bei mir, und bei einer nicht-repräsentativen Messung in Kassel Hbf 2 FPS mehr (aber nur eine Messung, kann also Zufall sein).
Re: Unterstützung für Speicherverwaltung bis 4GB
Hier auch keine Auffälligkeiten, die Performance ist nicht schlechter, kein Ruckeln. Die Ruckler an bestimmten Stellen z.B. Eiderbrücke->Friedrichstadt vorm BÜ oder Meschede BÜ sind aber noch da.
Und dieses Problem https://forum.zusi.de/viewtopic.php?f=55&t=14712" target="_blank existiert auch noch. (Ich weiß, hat nichts mit der Speicherverwaltung zu tun...)
Und dieses Problem https://forum.zusi.de/viewtopic.php?f=55&t=14712" target="_blank existiert auch noch. (Ich weiß, hat nichts mit der Speicherverwaltung zu tun...)
Re: Unterstützung für Speicherverwaltung bis 4GB
Langfristig kommt man um 64 Bit nicht rum. Gerade wenn die Strecken noch länger werden. Warum also nicht Zusi 3 auf 64 Bit umstellen?