GDI Handles
Graphics Device Interface (GDI) ist die Grafik-Programmierschnittstelle des Betriebssystems MS Windows.
GDI Objekte unterstützen jeweils nur ein Handle pro Objekt. Es existiert theoretisch ein Limit von 65,536 GDI Handles pro Session. Da der verfügbare Speicherplatz sich auch auf die GDI Handles auswirkt, ist die maximale Anzahl von GDI Handles, die pro Session geöffnet werden können, um einiges geringer.
Wie viele GDI Handles und GDI Objekte ein bestimmter Prozess verbraucht, ist im Task Manager in der Registerkarte "Prozesse" ersichtlich. Wie viele GDI Handles am System gesamt verbraucht werden, ist in der Registerkarte "Leistung" ersichtlich.
Um das Limit der GDI Handles pro Session anzupassen, folgen Sie der Anleitung unter https://docs.microsoft.com/en-us/windows/win32/sysinfo/gdi-objects.
Im Allgemeinen wird jedem WinCC OA Grafikobjekt eine bestimmte Anzahl von GDI Objekten zugeordnet, die dann für ihre Lebensdauer konstant bleibt. Bei einigen komplexen Grafikobjekten werden neue GDI Objekte jedes Mal hinzugefügt, wenn diese aufgeschalten werden. Es gibt leider keine Möglichkeit festzustellen, wie viele GDI Objekte genau pro WinCC OA Grafikobjekt benötigt werden.
WinCC OA Grafikobjekt | Zusätzlicher Verbrauch von GDI Objekten |
---|---|
Linie | 0 |
Rechteck | 0 |
Ellipse | 0 |
Kreisbogen | 0 |
Polygon | 0 |
Pipe (Rohr) | 0 |
Einfacher Text | 0 |
Rahmen | 0 |
Schaltfläche | 0 |
Kaskade | Verbraucht keine GDI Objekte für die Anzeige. Beim Klick auf den Kaskademenü-Schaltfläche werden 8 GDI Objekte verbraucht. Beim Öffnen eines Submenüs der Kaskade werden zusätzliche 8 GDI Objekte verbraucht. Wenn die GDI Objekte einmal von einer Kaskade verbraucht wurden, werden keine neuen hinzugefügt. |
Textfeld | 0 |
TextEdit | Verbraucht 1 GDI Objekt für die Anzeige. |
Radiobox | 0 |
Checkbox | 0 |
Tabelle | Verbraucht 1 GDI Objekt für die Anzeige. |
Auswahlliste | Verbraucht 1 GDI Objekt für die Anzeige. |
Spin-Button | 0 |
Combobox | Verbraucht keine GDI Objekte für die Anzeige. Nachdem eine Combobox geöffnet wurde, werden 10 GDI Objekte hinzugefügt. |
Registerkarte |
Wenn nur ein Registerkartenblatt vorhanden ist und kein Panel für diese Registerkarte definiert wurde, werden keine GDI Objekte verbraucht. Sobald ein Panel für zumindest eine Registerkarte, die angezeigt wird, definiert wurde, werden 3 GDI Objekte verbraucht. Für jede zusätzliche Registerkarte mit definiertem Panel wird ein weiteres GDI Objekt hinzugefügt, nachdem eine Registerkarte das erste Mal geöffnet wird. |
Embedded module | Insofern ein Embedded Module kein Root-Panel besitzt, wird 1 GDI Objekt verbraucht. Wenn es ein Root-Panel besitzt, werden 2 GDI Objekte hinzugefügt. |
Trend | Verbraucht 29 GDI Objekte (aufgrund des Lineal-Fensters, Legende, Tooltips, etc.) für die Anzeige. |
Balken-Trend | Verbraucht 1 GDI Objekt für die Anzeige. |
Uhr | 0 |
Slider | 0 |
Thumb wheel | 0 |
Progress Bar | 0 |
LCD-Nummer | 0 |
DPTreeView | Verbraucht 1 GDI Objekt für die Anzeige. |
DpTypeView | Verbraucht 1 GDI Objekt für die Anzeige. |
Tree widget | Verbraucht 1 GDI Objekt für die Anzeige. |
Zoom Navigator | Der Zoom-Navigator verbraucht lediglich nur 1 GDI Objekt. Das Zoomen eines Moduls führt jedoch dazu, dass die Anzahl der verbrauchten GDI Objekte kontinuierlich ansteigt (z.B. über 130 GDI Objekte beim Zoomen des WinCC OA Systemmanagements). |
Skript-Editor | Verbraucht 1 GDI Objekt für die Anzeige. |
Kalender | Verbraucht 1 GDI Objekt für die Anzeige. |