wie viele Windows "Handles" ?
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
wie viele Windows "Handles" ?
hi,
wenn ich unter Xbase++ ein Object erstelle, :destroy() ich das wenn
ich es nicht mehr brauche. Wenn ich aber ein "Handle" anlege wie "lösche"
ich das den wieder ?
Wie viele "Handle" kann den so ein XP OS() ? kann man da "berechnen" ?
gruss by OHR
Jimmy
wenn ich unter Xbase++ ein Object erstelle, :destroy() ich das wenn
ich es nicht mehr brauche. Wenn ich aber ein "Handle" anlege wie "lösche"
ich das den wieder ?
Wie viele "Handle" kann den so ein XP OS() ? kann man da "berechnen" ?
gruss by OHR
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
nette *.JPG und ein *.PPS gefunden ...
naja ich hätte ja noch das Video von der Session ... muss ich mir das
jetzt alles "reinziehn" ? ( bei fastforward geht Ton nur bis 2x )
fragen wir mal andersrum : Wenn ich einen P3 mit W2K Sp3 und 512MB
habe hat der so "weniger" Handle die ich benutzen kann als auf meinem
P4 2GB ?
Wenn ich nun die neue Druckroutine mit List & Label starte lege ich
scheinbar für jedes Bitmap / Datensatz mit o:GetHandle() ein Handle an.
Das sind bei einer Artikelliste schnell mal paar tausend was ich im Task-
Manager sehen kann. Mein RAM Anzeige zeigt nun :
sein da ich auf den Workstation "alles abgeschaltet" habe was man nicht
braucht und nach dem Start der Application ca. 160MB frei sind.
... nur bei den Handles weiss ich nicht wie sich das verhält, den wenn ich
z.b. L&L verlassen haben gehen die Handles zwar gleich erheblich runter
aber wenn man dann mal wartet geht es noch paar hundert Handles weiter
runter...
Erst beim verlassen der Xbase++ Application gehen die Handles wieder
auf den Ursprungswert (langsam) zurück.
nun kommt ein "DAU" und clickt auf drucken ... und clicked ... clicked ...
irgendwas (Xbase++?) oder irgendwie (Windows?) wird es dann doch
einen Absturz geben ?
gruss by OHR
Jimmy
na toll, ich habe mir eben den Inhalt von GUI-01 angesehen und paarJan hat geschrieben: Hatte da nicht Till in Berlin einiges zu gesagt? Das war doch auch noch Versionsabhängig, wenn ich mich rechte rinnere. Steht das vielleicht in seinen Devcon-Unterlagen mit drin?
nette *.JPG und ein *.PPS gefunden ...
naja ich hätte ja noch das Video von der Session ... muss ich mir das
jetzt alles "reinziehn" ? ( bei fastforward geht Ton nur bis 2x )
fragen wir mal andersrum : Wenn ich einen P3 mit W2K Sp3 und 512MB
habe hat der so "weniger" Handle die ich benutzen kann als auf meinem
P4 2GB ?
Wenn ich nun die neue Druckroutine mit List & Label starte lege ich
scheinbar für jedes Bitmap / Datensatz mit o:GetHandle() ein Handle an.
Das sind bei einer Artikelliste schnell mal paar tausend was ich im Task-
Manager sehen kann. Mein RAM Anzeige zeigt nun :
Er geht von 384 -> 473 also ca. 90MB das sollte bei 512MB noch "drin"leer 339MB
App Start 384MB
L&L Designer 443MB
Preview 444MB
Druck 473MB
Back PV 447MB
Back App 392MB
sein da ich auf den Workstation "alles abgeschaltet" habe was man nicht
braucht und nach dem Start der Application ca. 160MB frei sind.
... nur bei den Handles weiss ich nicht wie sich das verhält, den wenn ich
z.b. L&L verlassen haben gehen die Handles zwar gleich erheblich runter
aber wenn man dann mal wartet geht es noch paar hundert Handles weiter
runter...
Erst beim verlassen der Xbase++ Application gehen die Handles wieder
auf den Ursprungswert (langsam) zurück.
nun kommt ein "DAU" und clickt auf drucken ... und clicked ... clicked ...
irgendwas (Xbase++?) oder irgendwie (Windows?) wird es dann doch
einen Absturz geben ?
gruss by OHR
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
hi,
ich bin mir zwar nicht 100% sicher, aber ich denke ihr bringt da was durcheinander.
Was in Berlin gesagt wurde, war die maximale Anzahl von GUI Elementen. Die war unter Win2000 höher als unter XP oder Vista (weiß nicht mehr genau) und wurde auf 9000 reduziert unter TerminalServer.
Unter DOS war die Anzahl der File-Handles beschränt (SET FILES ...), das ist jetzt nicht mehr der Fall. Ein Handle auf ein Fenster oder auf deine Grafik ist - so meine ich jedenfalls - nur ein Pointer (Zeiger) auf eine Speicheradresse im RAM. Somit unbegrenzt. Was der Zuwachs an Speicher angeht, das dürften die BMP Daten sein die du reinlädtst. Das kostet natürlich RAM und wird irgendwann den Rechner lahm legen. Ob der wieder automatisch freigegeben wird weiß ich jetzt nicht.
Aber ich kann mir nicht vorstellen dass es eine maximale POINTER Anzahl gibt.
ich bin mir zwar nicht 100% sicher, aber ich denke ihr bringt da was durcheinander.
Was in Berlin gesagt wurde, war die maximale Anzahl von GUI Elementen. Die war unter Win2000 höher als unter XP oder Vista (weiß nicht mehr genau) und wurde auf 9000 reduziert unter TerminalServer.
Unter DOS war die Anzahl der File-Handles beschränt (SET FILES ...), das ist jetzt nicht mehr der Fall. Ein Handle auf ein Fenster oder auf deine Grafik ist - so meine ich jedenfalls - nur ein Pointer (Zeiger) auf eine Speicheradresse im RAM. Somit unbegrenzt. Was der Zuwachs an Speicher angeht, das dürften die BMP Daten sein die du reinlädtst. Das kostet natürlich RAM und wird irgendwann den Rechner lahm legen. Ob der wieder automatisch freigegeben wird weiß ich jetzt nicht.
Aber ich kann mir nicht vorstellen dass es eine maximale POINTER Anzahl gibt.
Gruß
Hubert
Hubert
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
Windows Handle 7970 -> 8271 -> 8343
Windows RAM 323MB -> 360MB -> 1130MB -> crash
Nun hab ich ja 2GB RAM und 2x Swapfile a 4GB ... warum nutzt er den
die nicht ?
gruss by OHR
Jimmy
Tja den Punkt scheine ich nun erreicht zu haben :brandelh hat geschrieben: Was der Zuwachs an Speicher angeht, das dürften die BMP Daten sein die
du reinlädtst. Das kostet natürlich RAM und wird irgendwann den Rechner
lahm legen.
Windows Handle 7970 -> 8271 -> 8343
Windows RAM 323MB -> 360MB -> 1130MB -> crash
Nun hab ich ja 2GB RAM und 2x Swapfile a 4GB ... warum nutzt er den
die nicht ?
gruss by OHR
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
"out of memory" Teil2
hi,
nun hab ich es auch mit FRAX probiert :
Handel 8742 bis 8793 (braucht keine für Bitmaps)
FRAX sagt Page 8189 ( 4500 Records x 2 Bilder
und 8 Bilder pro Seite -> sind ca. 1100 Seiten ) ?
tja da bleibt mir wohl nichts anderes übrig als beide
Report Generatoren wieder zu entfernen und meine
"alte" Xbase++ "pure" Lösung zu nehmen den die
schafft es scheinbar als einziges die 9000 Bitmaps
zu "drucken".
gruss by OHR
Jimmy
nun hab ich es auch mit FRAX probiert :
RAM 326MB, Demo start 340 geht hoch bis 879"The following error(s) have accured:
Out of memory while expanding memory stream"
Handel 8742 bis 8793 (braucht keine für Bitmaps)
FRAX sagt Page 8189 ( 4500 Records x 2 Bilder
und 8 Bilder pro Seite -> sind ca. 1100 Seiten ) ?
tja da bleibt mir wohl nichts anderes übrig als beide
Report Generatoren wieder zu entfernen und meine
"alte" Xbase++ "pure" Lösung zu nehmen den die
schafft es scheinbar als einziges die 9000 Bitmaps
zu "drucken".
gruss by OHR
Jimmy