Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
15. Mär 2018
Warum hört niemand zu?
WorkingSet ist nur die nicht auslagerbare Menge, aber an der Gesamtmenge und der Verteilung ändert es rein garnichts.
Alternativ kann man auch direkt physischen Speicher reserveren und einbinden ... das macht keinen großen Unterschied. (hier sagt man nur "ich will genau diesen Speicherblock nie auslagen", während das WorkingSet sagt "ich will minimal/maximal einen so...
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
14. Mär 2018
Ich glaub du hast die Dokumentation falsch verstanden.
Beide Parameter auf $FFFFFFFF aka MAX-1 ist nicht MAXIMAL, sondern es ist NICHTS.
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
14. Mär 2018
Du hast es wohl doch nicht ganz verstanden.
Und warum der angezeigte Speicher eventuell weniger anzeigt, als der belegte reservierte Speicher wurde auch schon genannt.
Na egal, du bist der Meinung es geht jetzt, aber komm bitte nicht in einem halben Jahr wieder, wenn es erneut knallt. (oder lies dir dann wenigstens nochmal alles durch und beachte dann das Gesagte)
Ich bin nun hier raus. :hi:
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
13. Mär 2018
Alter Taskmanager (Win XP/7) im Menü Ansicht
und beim Neuen Windows 8/10 im Kontextmenü der Gridspalten.
Und warum nicht?
Werden die anderen Forms erst danach erstellt, dann verteilen sie ihren Speicher auch nicht vorher und sorgen so eventuell für ein Belegen des großen Speicherblocks.
Nachher passen aber deren viele kleinen Speicherblöcke in die verbliebenen Lücken.
ABER, dass...
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
13. Mär 2018
Der Grund (Speicher-Fragmentierung) wurde doch schon mehrmals genannt?
Wenn du in 2 GB Prozessspeicher alle 200 MB je 1 Byte speicherst, dann hast du 10 Byte belegt.
OK, eigentlich 41 KB, da Windows den Speicher in 4 KB-Blöcken vewaltet.
Obwohl also nur 41 KB belegt sind, hast du dennoch keine Chance dort einen freigen zusammenhängenden Block mit 300 MB zu finden.
Belegt und...
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
12. Mär 2018
k.A. wie viel das ist,
aber, wenn man sich schon bei Programmstart mit allem Möglichen den Speicher zumüllt, dann kann es schonmal bissl eng werden.
Man kann alternativ die Forms auch erst dann "dynamisch" erzeugen, wenn man sie wirklich braucht.
Aber so oder so, ab spätestens 250-300 MB gibt es immer mal Probleme, in 32 Bit-Anwendungen. (persönliche Erfahrungswerte)
Die einzig sichere...
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
12. Mär 2018
3-GB und 4-GB ist quasi das Gleiche.
3-GB deshalb, weil ein 32 Bit-Windows den letzten 1 GB für Treiber und Cache nutzt und daher nicht den User-Mode-Programmen zur Verfügung stehen.
In 64 Bit-Windows sind für 32 Bit Programme daher bis zu den vollen 4 GB nutzbar.
(die ersten 64 KB sind aber nie nutzbar und sind immer nur Treibern vorbehalten, als Puffer für die Übergabe in den...
Forum: Sonstige Fragen zu Delphi
C++
by himitsu,
12. Mär 2018
Bei halbwegs aktuellen 64 Bit-Windowsen ist das standardmäßig schon seit Jahren aktiviert.
Nur das muß noch in dein Programm einkompiliert werden, damit Windows weiß, dass dein Programm mehr als 2 GB vertragen kann und es somit auch anfordert.
Es gab "früher" viele Programmierer, die hatten Integer(Pointer) <= 0 als "ungültig" angesehn und dann teilweise in diesem Bereich sogar...