AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GDI Handles einer Anwendung

Ein Thema von Alex_ITA01 · begonnen am 25. Aug 2015 · letzter Beitrag vom 2. Sep 2015
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: GDI Handles einer Anwendung

  Alt 31. Aug 2015, 22:54
Es gibt auch nicht sichtbare GDI Objekte. Unter "All GDI objects" fallen eventuell auch die nicht sichtbaren, wie Bitmaps, Fonts und DCs usw.

https://msdn.microsoft.com/de-de/lib...=vs.85%29.aspx
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#2

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 06:24
Leider sind die nicht sichtbaren in der GDI Handle Table registriert und somit auch in der Spalte "GDI Total" enthalten. Der größere Wert steht aber in "Alle GDIs" und das ist auch der Wert, den der TaskManager anzeigt.

Wie macht ihr das denn mit euren Anwendungen?
Wenn ich ein neues Projekt erstelle mit einer Form, mit einem Label und einem Button (keine Eigenschaften der Komponenten geändert) und ich schon 44 GDI Handles belege, dann komme ich bei 10000 GDI Handles auf maximal 227,xxx Forms, die maximal diese beiden Komponenten haben dürfen. Das eine Form nur diese beiden Komponenten beinhaltet, glaube ich allerdings nicht. Deswegen fällt die Anzahl der möglichen Forms auch mit dem Anstieg der Komponentenanzahl.
Was verbrauchen eure "größeren" Anwendungen denn?

Ob es sich lohnt, dass mal in der Quality Central zu beschreiben?

Viele Grüße
Angehängte Grafiken
Dateityp: jpg 2015.09.01-07_20_01-001.jpg (7,8 KB, 9x aufgerufen)
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.075 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 08:47
Ob es sich lohnt, dass mal in der Quality Central zu beschreiben?
Nein, wozu?
An die Grenze von 10000 stößt man eigentlich nur wenn man etwas "falsch" macht.
Vielleicht ist dein Ansatz einfach verkehrt?

Formuliere mal dein konkretes Problem!

Denn was bringt es, ins QC zu schreiben, dass Windows eine Grenze von 10000 GDI-Handles hat und die das bei Emba bitteschön fixen sollen?

Selbst deine IDE verbraucht relativ wenig und dabei ist das eine große und umfangreiche Software (bspw. XE8 - GDI Total: 1982; All GDI: 2830).
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
446 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 09:03
Ich hab hier mal eine App mit knapp 100 Forms - die eine Art Bildbearbeitung erlaubt - und die Spitzenwerte im GDIView sind 460/650 (bei intensivem Arbeiten) also weit ab von jeglichen Problemen.
Auch das Öffnen und Bearbeiten von ettlichen (10) Grafikdateien mit gemeinsam gut 300 Layern verbraucht gerade mal 350/420 Handles (alle Ebenen sichtbar + Kopien in neuen Bildern).

Grundsätzlich stellt sich also die Frage ob ein so hoher Wert nicht einfach ein Designproblem ist?

Was Delphiprogramme anbelangt mache ich mir da jedenfalls keine Sorgen.
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 09:56
Grundsätzlich stellt sich also die Frage ob ein so hoher Wert nicht einfach ein Designproblem ist?
So sehe ich das auch und wette mal einen alten Hut gegen einen neuen PC, dass sehr extensiv (wenn überhaupt) von der Möglichkeit Gebrauch gemacht wird, Formulare dynamisch zur Laufzeit zu erzeugen, und wenn sie nicht mehr gebraucht werden wieder freizugeben. Testweise habe ich mit dem og. Tool mal meine größte App geprüft, eine MDI-Anwendung mit insgesamt über 150 Fenstern/Formularen. Wenn ich alle 12 MDI's aufmache und dazu noch einen modalen Dialog mit Bildanzeige (mehr geht nicht) dann komme ich auf ~700 Handles (All GDI).
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#6

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 10:15
Danke für eure Antworten.
Jetzt kommen wir doch der Sache näher.

Doch, ich habe die meisten Fenster dynamisch gestaltet.

Ich komme ja in der Spalte "GDI Total" auf nur knapp 1000. Aber bei "Alle GDIs" stehen mal eben 5000.
Die Frage ist also immernoch, wo kommt diese Differenz her, da ich ja anscheind keinen Einfluss darauf nehmen kann. Also was für Handles könnten das sein, die sich als GDI Handle ausgeben aber nicht in der GDI Handle Table stehen. Ich bin ja gerne bereit etwas an meinem Design der Anwendung zu ändern aber dafür müsste ich ja erstmal wissen, wo ich anpacken kann.

Viele Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 11:38
Hallo,

wenn ich mir auf meinem Arbeits-PC das Verhältnis von "GDI Total" zu "All GDI" ansehe, dann fällt mir positiv der TeamViewer mit 442 zu 483 auf, und negativ der Total-Commander mit 207 zu 429. Da schlagen vermutlich die vielen Bitmaps zu. Wenn ich z.B. die Laufwerkbuttons weg nehme, sind es nur mehr 165 zu 390.

So ähnlich könnte es sich vielleicht bei dir auch verhalten. Abhilfe....vielleicht ImageList verwenden, Fenster vererben...usw. Läuft halt ohne Detailkenntnisse leider nur auf Glaskugel hinaus. Du müsstest also schon etwas mehr Infos/Details benennen.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#8

AW: GDI Handles einer Anwendung

  Alt 1. Sep 2015, 11:59
aber in dem Verhältnis 207 zu 429 sind doch in den 207 die Bitmaps mit drinne.
Also egal wie hoch die Anzahl ist, ich würde ja gerne mal wissen, was die anderen Handles für welche sind, da ja Bitmaps zu dem ersten Wert gehören. Die sind für mich auffindbar und anpassbar...

Viele Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz