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.