

Dieses Handbuch behandelt alles, was Sie benötigen, um professionelle Diagramme mit ProEssentials zu erstellen — von der Auswahl des richtigen Diagrammobjekts über die effiziente Datenverarbeitung bis hin zu GPU-beschleunigtem Echtzeit-Streaming. ProEssentials ist eine native .NET- und C++-Diagrammkomponente mit Direct2D-, Direct3D- und GdiPlus-Rendering, die für die geringste CPU/GPU-Belastung und das schnellste verfügbare Diagramm-Rendering entwickelt wurde. Ob Sie ein WinForm-Diagramm, ein WPF-Diagramm oder eine MFC C++-Visualisierung erstellen — dies ist Ihre technische Referenz.
Jede ProEssentials-Implementierung beginnt mit der Auswahl eines der fünf Diagrammobjekte. Diese Wahl bestimmt die gesamte Implementierung — Datenmodell, Achsenverhalten, Darstellungsmethoden und verfügbare Funktionen. Wählen Sie basierend auf Ihren Daten und Ihrem Visualisierungsziel.
Das Standard-.NET-Diagrammsteuerelement für kategorische und sequentielle X-Achsen-Daten. Unterstützt Balken, Linie, Fläche, gestapelte Balken, gestapelte Fläche, OHLC, High-Low-Close, Ribbon und insgesamt 27 Darstellungsmethoden. X-Achsen-Beschriftungen werden über ein PointLabels-String-Array gesetzt — kein numerisches X-Datenarray erforderlich.
Die wissenschaftliche Diagrammkomponente für kontinuierliche numerische X-Achsen-Daten. Unterstützt Scatter, Linie, Spline, Bubble, Fläche, Kontur/Heatmap und insgesamt 26 Darstellungsmethoden. Erfordert explizite X-Datenarrays mit PeData.X[subset, point]-Werten. Unterstützt Jagged Data (Subsets mit unterschiedlichen Punktzahlen), Konturrendering und die umfangreichsten Echtzeit-Streaming-Optionen.
Rendert 3D-Oberflächen, Wireframe, 3D-Konturen, 3D-Balkendiagramme und 3D-Scatter-Plots mit X-, Y- und Z-Datenarrays und Direct3D-Rendering. Y ist die vertikale (Höhen-)Achse. Unterstützt Echtzeit-3D-Oberflächenanimation über AppendData (scrollende Oberfläche) oder AppendSubset (Wasserfall).
Die Polarkoordinaten-Diagrammkomponente für Winkeldaten. Unterstützt polare Linien, polaren Scatter, Radar-/Spinnennetzdiagramme, Rosendiagramme und Smith-Diagramme für HF-Technik. Daten werden als Winkel und Betrag ausgedrückt.
Rendert Kreisdiagramme, Ringdiagramme und Mehrringdiagramme mit explodierten Segmenten, Prozentbeschriftungen und Legendenintegration. Einzelnes Datenarray für Segmentwerte.
ProEssentials bietet sechs Datenlademuster, die je nach Datensatzgröße und Leistungsanforderungen ausgewählt werden. Daten sind als Subsets (Serien/Linien) × Punkte (Datenwerte) organisiert. Setzen Sie zuerst PeData.Subsets und PeData.Points, dann füllen Sie die Datenarrays. Best Practice: Halten Sie die Datenaufbereitung von ProEssentials-API-Code getrennt — erstellen Sie Ihre Arrays aus Ihren Datenquellen, dann übergeben Sie die fertigen Arrays an ProEssentials.
Weisen Sie Werte einzeln mit PeData.Y[subset, point] = value zu. Für Pesgo auch PeData.X setzen. Für Pe3do auch PeData.Z. Einfach und klar — am besten für Demos und kleine statische Datensätze.
Erstellen Sie ein Float-Array in Ihrem Code, dann rufen Sie PeData.Y.FastCopyFrom(array) auf. Vermeidet den Overhead pro Element bei Interop. Überladungen existieren für 1D-, 2D- und Jagged-Arrays.
Zeigt das Diagramm direkt auf Ihr verwaltetes Array — keinerlei Datenkopie. Rufen Sie PeData.Y.UseDataAtLocation(array, bufferSize) auf. Am besten für sehr große Datensätze, gemeinsame Daten über mehrere Diagramme oder Echtzeit-Szenarien.
Rufen Sie PeData.Y.AppendData(newValues, amountPerSubset) auf, um neue Daten zu pushen. Verschiebt automatisch bestehende Daten. Kombinieren Sie mit CircularBuffers für Ring-Buffer-Leistung bei 100K+ Datenpunkten.
Laden Sie direkt aus ADO.NET DataReader oder DataView mit PeData.Y.BindData(). Praktisch für datenbankgesteuerte Diagrammanwendungen.
Aktivieren Sie PeData.JaggedData = true, wenn Subsets unterschiedliche Punktzahlen haben. Erfordert RenderEngine = Direct2D. Drei Untermethoden: direkte Indizierung, CopyFromJagged oder UseJaggedDataAtLocation.
DuplicateData-Optimierung: Wenn alle Subsets identische X-Daten teilen (häufig bei Pesgo), setzen Sie PeData.DuplicateDataX = DuplicateData.PointIncrement. Geben Sie X-Daten nur für Subset 0 an — das Diagramm verwendet sie für alle Subsets wieder und eliminiert redundante Speicherung.
ProEssentials unterstützt fünf Echtzeit-Aktualisierungsstrategien, von einfachen Streifendiagrammen bis hin zu GPU-beschleunigtem Hochfrequenz-Streaming mit Millionen von Datenpunkten.
Grundlegende Einrichtung (alle Echtzeit-Diagramme): PeConfigure.PrepareImages = true, PeConfigure.CacheBmp = true (cacht statische Elemente für flimmerfreies Neuzeichnen), PeSpecial.AutoImageReset = false (überspringt automatische Dirty-Checks). Manuelle Achsenskalierung wird dringend empfohlen, um das Scannen des gesamten Datensatzes nach Min/Max bei jedem Tick zu vermeiden.
Verschiebt bestehende Daten, fügt neue am Rand hinzu. Das häufigste Echtzeitmuster. Funktioniert mit Pego, Pesgo und Pe3do. Kombinieren Sie mit CircularBuffers für 100K+ Punkt Ring-Buffer-Leistung.
Ersetzen Sie alle Daten bei jedem Tick. Am besten für Oszilloskop-artige Wellenformanzeigen, bei denen sich der gesamte Puffer gleichzeitig ändert. Beispiel: 4 Subsets × 100K Punkte = 400K Werte pro Tick ersetzt.
Schreiben Sie direkt per Index, Zähler am Pufferende zurücksetzen. Kein Verschieben, kein Anhängen — einfach an Ort und Stelle überschreiben. Gut für zirkuläre Anzeigen.
Nur Pe3do. Fügt bei jedem Tick ein neues vollständiges Subset hinzu und erzeugt 3D-Wasserfallvisualisierungen. Jeder Tick fügt eine neue Reihe zum Wasserfall hinzu.
Die Anwendung verwaltet ihren eigenen Speicher; das Diagramm liest direkt daraus. Kein Kopieroverhead. Kombinieren Sie mit CircularBuffers und AppendData — ProEssentials hängt Daten mit zirkulären Zeigern an Ihren lokalen Speicher an. Beispiel: 4 Subsets × 2M Punkte mit Zero-Copy.
ProEssentials liefert das schnellste verfügbare Diagramm-Rendering durch natives Direct2D- und Direct3D-Rendering mit GPU-Beschleunigung. Diese Funktionen können für maximalen Durchsatz kombiniert werden.
PeData.ComputeShader = true. Lagert die Diagrammkonstruktion auf die GPU aus — potenziell 2000+ Kerne vs. einen einzelnen CPU-Thread. Gilt für Pesgo und Pe3do mit Direct3D-Render-Engine. Erzeugt dramatische Beschleunigung für große Datensätze, bei denen die Diagrammgeometrie auf der GPU statt auf der CPU erstellt wird.
PeData.Filter2D3D = true (nur Pesgo). Zweistufige ComputeShader-Pipeline: zuerst werden sequentielle 2D-Liniendaten verlustfrei vorgefiltert, dann konstruiert der finale Shader die Szene. Dramatische Geschwindigkeitsverbesserung für 250K+ Punkt-Liniendiagramme. Verwenden Sie mit ComputeShader = true.
PeData.CircularBuffers = true. Verwendet einen Ring-Buffer-Zeiger anstelle des Speicherverschiebens bei jedem AppendData-Aufruf. Essentiell für Echtzeit-Streaming mit 100K+ Datenpunkten. Funktioniert mit Pego, Pesgo, Pepso und Pe3do.
PeData.StagingBufferX/Y/Z = true. Hält GPU-seitige Kopien der Datenarrays für eine effiziente CPU-zu-GPU-Übertragungspipeline. Aktivieren Sie pro Achse, die während des Echtzeit-Renderings aktualisiert wird.
Drei Render-Engines: Direct2D, Direct3D und GdiPlus. Direct3D aktiviert ComputeShader und volle GPU-Beschleunigung. Direct2D unterstützt Jagged Data und erweitertes 2D-Rendering. GdiPlus ist der Legacy-Fallback mit breitester Kompatibilität.
ProEssentials verwendet eine hierarchische Eigenschaftsschnittstelle. Alle Diagrammkonfiguration erfolgt über verschachtelte Eigenschaftsobjekte, auf die vom Diagrammsteuerelement aus zugegriffen wird. Diese Architektur gilt gleichermaßen für .NET-Diagramm-, WPF-Diagramm- und C++-DLL-Entwicklung.
Eigenschaftsgruppen: PeData (Datenarrays, Zähler, Modi), PePlot (Darstellungsmethode, visuelle Optionen), PeGrid (Achsenskalen, Gitterlinien, Zoom), PeColor (Farben für alle Elemente), PeString (Beschriftungen, Titel), PeFont (Schriftgrößen), PeAnnotation (Referenzlinien, Graph-Annotationen, Achsen-Annotationen), PeUserInterface (Interaktion, Cursor, Hotspots, Scrollbalken), PeConfigure (Rendering, Caching), PeFunction (Aktionen — Reinitialisierung, Drucken, Zoomen, Export), PeTable (Datentabelle unter dem Diagramm), PeLegend (Legendenkonfiguration).
Enum-gesteuerte Konfiguration: Die meisten Verhaltenseinstellungen verwenden Enums — niemals Integer-Werte hartcodieren. Wichtige Enums: GraphPlottingMethod, SGraphPlottingMethod, ManualScaleControl, ViewingStyle, QuickStyle, RenderEngine, AllowZooming, MultiAxisStyle, CursorMode und CursorPromptStyle. Wichtig: PePlot.Method verwendet für jedes Diagrammobjekt ein anderes Enum.
Rendering-Pipeline: PeConfigure.CacheBmp = true sollte immer gesetzt werden — es cacht das gerenderte Bild im Speicher für flimmerfreies Neuzeichnen. PeFunction.ReinitializeResetImage() führt einen vollständigen Neuaufbau nach Datenänderungen durch. PeFunction.ResetImage(0,0) erstellt das Bild nur nach visuellen Änderungen neu. ProEssentials enthält KI-artige Logik, die automatisch ungünstig aussehende Diagramme durch intelligente Achsenskalierung, Beschriftungsplatzierung, Legendenlayout und Gitterlinienabstände verhindert.
Zwei API-Schichten: Die .NET-Eigenschaftsschnittstelle und die C++-DLL-Schnittstelle sind austauschbar — beide greifen auf die gleiche native Engine zu. .NET ist Standard für C#/VB/WPF. Die DLL-Schnittstelle wird für MFC C++, Delphi und Spezialfälle verwendet. PeSpecial.HObject liefert den nativen DLL-Handle für Interop-Szenarien.
ProEssentials bietet ein umfassendes Annotationssystem zum Hinzufügen von Referenzlinien, Textmarkierungen, Callout-Beschriftungen, Formen und Datentabellen zu jedem Diagramm.
Linien-Annotationen: Horizontale und vertikale Referenzlinien bei Datenkoordinaten. Setzen Sie PeAnnotation.Line.YAxis[i] für horizontale Linien, PeAnnotation.Line.XAxis[i] für vertikale Linien. Unterstützt 16+ Linienstile, Farben pro Annotation, Textbeschriftungen und Zoom-Fenster-Sichtbarkeitskontrolle.
Graph-Annotationen: Platzieren Sie Symbole, Text, Linien, Formen und Bitmaps an beliebigen Datenkoordinaten. Unterstützt gedrehten Text, verbundene Linien, Text-Dodging (automatische Überlappungsvermeidung), zusammengesetzte Muster, Bitmaps und individuelle Formatierung pro Annotation. Unabhängig von Diagrammdaten — verwenden Sie sie für Callout-Beschriftungen, Overlay-Marker und dekorative Elemente.
Tabellen-Annotationen: Bis zu 20 unabhängige positionierte Tabellenelemente, die innerhalb von Achsenbereichen, an Diagrammrändern oder an Datenpunkten ausgerichtet erscheinen können. Unterstützen Mehrspalt- und Mehrzeilenlayouts mit individueller Zellenformatierung. Verwendet für benutzerdefinierte Legenden, Datenzusammenfassungen und Info-Panels.
Quick-Annotationen: Temporäre Graph-Annotationen, die über einen optimierten Pfad gerendert werden, der vollständige Bildneuaufbauten vermeidet. Ideal für Messoverlays, Ziehrechtecke, Fadenkreuze und transiente UI, die sich bei jeder Mausbewegung aktualisiert.
ProEssentials löst .NET-Ereignisse für Benutzerinteraktionen aus, einschließlich Daten-Hotspot-Klicks, Cursor-Tracking, Zoom-Änderungen und benutzerdefinierter Ereignisbehandlung. Wichtige Muster umfassen Pixel-zu-Datenkoordinaten-Konvertierung (ConvPixelToGraph), Hotspot-Erkennung für klickbare Diagrammbereiche und Cursor-Tracking mit konfigurierbaren Tooltip-Stilen. Unterstützt Mausrad-Zoom, interaktives Daten-Scrolling und Popup-Menü-Anpassung.
Mehrfachachsen-Diagramme: Zeigen Sie mehrere Y-Achsen in einem einzelnen Diagramm an. Jede Achse erhält eigene Skalierung, Gitternummern, Beschriftung und Farbe. Subsets werden Achsen über MultiAxisStyle- und WorkingAxis-Eigenschaften zugewiesen. Unterstützt sowohl getrennte Graphenbereich- als auch überlappende Achsenlayouts.
Zoom und Scrollen: Pesgo unterstützt drei unabhängige Achsenkontrollebenen — automatisch skaliert, manuell skaliert und zoom-gesteuert. Zoom überlagert manuelle Skalierung, ohne manuelle Werte zu ändern. Pego verwendet PointsToGraph für Scrollbalken-basierte Navigation. Interaktiver Zoom wird über AllowZooming-Enum und Mausrad-Konfiguration gesteuert.
Datum/Uhrzeit-Achsen: ProEssentials unterstützt Datum/Uhrzeit-X-Achsen durch serielle Datumswerte. Aktivieren Sie DateTimeMode auf PeData, dann übergeben Sie Daten als OLE-Automation-Doubles. Unterstützt sowohl gleichmäßige Zeitschritte (DeltaX) als auch variable Zeitschritte (DeltasX-Array).
Visuelles Styling: Farben werden über die PeColor-Eigenschaftsgruppe gesteuert mit SubsetColors pro Serie, Graphenbereich-Farben, Achsenfarben und Gitterlinien-Transparenz. Schnelle visuelle Themen über ViewingStyle- und QuickStyle-Enums. Schriftgrößen verwenden ein proportionales Kontrollsystem. Datenvisualisierungsfunktionen umfassen 3D-Schatteneffekte, konfigurierbare Punktgrößen, Linienstile und Balkenbreiten-/Abstandskontrolle.
Drucken und Export: Programmatisches Drucken über PeFunction.PrintGraph() und PeFunction.PrintGraphEx() mit Ausrichtungs- und Randkontrolle. Bildexport in BMP-, JPG-, PNG-, EMF- und SVG-Formate. Zwischenablage-Kopierfunktion. Alle Exporte berücksichtigen die aktuelle Render-Engine für konsistente Ausgabe.
ProEssentials enthält ein Python-basiertes KI-Assistenzsystem, das jedem KI-Assistenten bei Bedarf Zugriff auf die vollständige API gibt — mit Ground-Truth-Validierung, die halluzinierte Eigenschaftspfade verhindert. Das System umfasst pe_query.py (15+ Abfragebefehle), 32 Wissensdateien, 116 Codebeispiele und strukturierte JSON-Daten mit 1.104 Eigenschaften, 1.260 Methoden und 167 Enums.
KI-Code-Assistent-EinrichtungDiese KI-Wissensdateien sind in Ihrer ProEssentials-Installation enthalten und auch hier zum Download verfügbar. Laden Sie sie in Claude AI-Projekte oder Ihr bevorzugtes KI-Tool für KI-gestützte ProEssentials-Entwicklung.
ProEssentials unterstützt C# .NET 8.0 (WinForms und WPF), VB.NET, MFC C++, Embarcadero Delphi, C++ Builder VCL und Excel/Access OCX-Entwicklung. Die Bereitstellung erfordert eine einzelne native DLL (PEGRP64H.DLL) neben Ihrer Anwendung. Die .NET-Wrapper-Assemblys sind als lokale NuGet-Pakete oder direkte Assembly-Referenzen verfügbar. ProEssentials x64-Assemblys werden für beste Leistung empfohlen.
Ihr Erfolg ist unser höchstes Ziel, indem wir Ihrem Unternehmen und Ihren Endbenutzern den einfachsten und professionellsten Nutzen bieten.
ProEssentials wurde von professionellen Elektroingenieuren erschaffen, die ihre eigenen Charting-Komponenten benötigten. Treten Sie unserer großen Liste von Top-Engineering-Unternehmen bei, die ProEssentials einsetzen.
Vielen Dank, dass Sie ein ProEssentials-Kunde sind, und vielen Dank, dass Sie die ProEssentials-Charting-Engine recherchieren.