ProEssentials v10 チャート ニュース

point 1
symbol 2
symbol
shape
shape
point
shape
symbol

ProEssentials v10 News

AI Tool-Augmented Dynamic Context — pe_query.py queries structured JSON data to generate validated ProEssentials chart code

AI Tool-Augmented Dynamic Context — structured data drives validated chart code

FEATURED RELEASE — 02/20/2026

Version 10.0.0.20 — AI-Powered Evolution

This version represents a huge leap in the product's evolution. The goal of 10.0.0.20 was to leverage AI-Assistance as deeply as possible, and early in pursuing that goal we realized we needed to start from the ground up—meaning the interfaces themselves. The latest Winforms and WPF interfaces have been refined across functions, enums, and IntelliSense help content to improve clarity and accuracy. We also wanted to clarify data handling: our goal is for AI to understand that working with simple arrays is best for both AI and ProEssentials.

The AI goal also required us to clean up the help system so its content was fully up to date and accurate. Once the help and interfaces were clean, we updated the example code to use the newer interface methods, enums, and logic—making sure comments and related event code were all clean and as helpful as possible.

The next step was building the AI-Assistance resources: the pe_query.py script, structured JSON data files, and curated knowledge text files. We then iteratively trained and refined these resources—building knowledge, enhancing example code, enhancing the help—to help AI understand more patterns. We went through many iterations where AI needed help, so the help system, example code, Python scripts, and JSON creation all went through considerable evolution.

The next step was updating our website to document the AI-Assistance goals, resources, and usage. Given the richness of data we generated throughout this journey, we then decided to add an API Explorer .NET Reference section to the website. This gives the human developer a taste of the same power AI is getting when solving ProEssentials questions and programming tasks. Be sure to visit the new API Explorer page and learn its use and benefits.

Our AI-Assistance training will certainly continue to evolve. Please email us any AI feedback, comments, or resources you would like to share. If AI gets something wrong, please tell us in a brief but detailed email—it makes a real difference. Visit our AI Code Assistant page for full setup instructions and documentation.

Our Recommendation: Claude Opus 4.6 Extended.  We can't recommend it enough. Opus 4.6 Extended is amazingly intelligent and helpful with a great tone—the other models don't come close. What's remarkable is that when you give Claude better ideas or direction than it proposed, it recognizes this and delivers even stronger results across long conversations. See the tiny rabbit holes when you get a glimpse of them and ask Claude to go down the rabbit hole with you. The results are amazing—it's the best kind of engineering: you pull one thread and the whole system reveals itself.

ProEssentials v10 News
ProEssentials v10 Maintenance Info

06/21/26

Gigasoft has uploaded version 10.0.0.28 on 06/21/26.

1) Added ComputeShader support for 4D Surfaces (example 415). The new 415 demo examples now enable ComputeShader. Also supported is zero-copy WData, along with X, Y, and Z data pointer sharing.
2) Related to example 415, we added support for ComputeShader and polygon data. However, to support parallelism, we had to change from the legacy PolygonData struct (3 or 4 variable vertices) to a TriangleData struct with only 3 vertices per polygon. Examples 406 and 415 now implement TriangleData using the new properties PEP_structTRIANGLEDATA and PEP_structGRAPHANNOTTRIANGLEDATA. Zero-copy is also supported via PEP_structTRIANGLEDATAPTR and PEP_structGRAPHANNOTTRIANGLEDATAPTR. This allows huge custom triangle scenes to be rendered efficiently, including high-performance dynamic real-time rendering. For customers using PolygonData and GraphAnnotPolygonData with large numbers of polygons, refactoring your code to use only triangles will allow ComputeShader = True and quicker rendering.
3) Pesgo added a new ComputeShader plotting method, RectHeatmap. Applicable only with ComputeShader = True, it produces a rectilinear heatmap as a counterpart to our contour-based heatmap. We will be updating our GitHub VDL wireline example project so users can switch live between RectHeatmap and ContourColor to visualize the differences between the two heatmaps. Related to the new plotting method is the AllowRectHeatmap property, which enables RectHeatmap plotting method visibility within the Customization Dialog and Popup Menu. Set PePlot.Allow.RectHeatmap = true for example 122 to visualize the rect heatmap via the popup menu.
4) Version 10.0.0.24 was a large refactor and did introduce some pain. We accidentally disabled Pe3do ComputeShader and Hot-Spots; this has been resolved.
5) Fixed a potential d3d11 resource leak related to table annotations and pe3do controls.
6) Fixed a potential d3d11 resource leak in Pesgo Direct3D bitmap symbols, introduced by 10.0.0.24, which improved custom bitmaps within the legend with new color tinting support.
7) Fixed a potential issue for Pesgo with PlottingMethod Delaunay Triangulation and CursorPromptTracking = True.

05/04/26

Gigasoft has uploaded version 10.0.0.24 on 05/04/26.

1) Added Direct3D ComputeShader support for Pe3do Scatter 3d Point, 3d Line, 3d Bar, and 3d Area 'waterfall'. So, PolyMode = SurfacePolygons, ThreeDBar, and Scatter now support ComputeShader = True GPU side construction providing the fastest possible rendering for almost all 3d chart types. This will provide improved real-time use cases and overall world-class snappiness to your products.
2) Added Direct3D ComputeShader support for Pesgo Scatter 2d Point for both basic symbols and bitmap symbols, 2d Area, and 2d Bar. This allows fastest possible 2d scatters as well as now mixing lines, areas, bars and points within big data multi-axis charts via GPU side construction. This also provides improved real-time use cases and overall world-class snappiness to your products, especially those using more than 250K data points.
3) Added Direct3D support for Pesgo and Pego charts to use Dash and Dot line types of varying line thicknesses. Dash and Dot lines are only possible with ComputeShader = True as the computational demand for dash and dot is significant. This version also increases the quality of Direct3D solid and dash lines. Example 115 has been modified to demo the performance and quality of Dash and Dot lines. Right click the running demo 115 to maximize the chart and inspect the line rendering quality.
4) The Resource Bitmap feature has been improved by adding Tint logic to the existing Mask logic. PePlot.Bitmaps.Colorize has been deprecated in favor of ColorizeMode. Your existing use of Colorize will still compile but you will receive a compiler warning to switch to ColorizeMode. Example 140 has been updated to demo these features showing a tinted bitmap that preserves highlighting.
5) Related to Resource Bitmaps and Direct3D, we added support for the legend to properly colorize the Direct2D constructed legend to match the Direct3D data rendering, along with improving support for the tinted and masked bitmaps to be included in table annotations and legend annotations. Example 015 has been updated to demo these features.
6) Added a property Pe3do1.PeAnnotation.Graph.GraphAnnotPolyDataPlotMethod = GraphAnnotPolyDataPlotMethod.PolygonColor to avoid having to use a DLL call to set this property. Example 415 demos this feature.
7) We've updated the help system as well as made many general improvements in documentation quality.
8) We've updated and improved our AI-Knowledge files and AI-Resources.
9) This release includes significant refactoring and many overall improvements.

03/15/26

Gigasoft has uploaded version 10.0.0.22 on 03/15/26.

1) This version cleaned up our OCX interfaces to sync with WPF and Winforms interfaces. We then replicated our Wpf, Winforms, CPP 116 examples witin a new Access example database found in our ProEssentials10/Access product folder. The new Access example becomes the new complete point of truth for OCX/VBA development; showing high preformance charting for engineering, scientific, and financial data within Access or any OCX container. We updated our page MS Access Ocx Charting with latest Office 365 content. As part of cleaning up the OCX interfaces, we also updated context sensitive help 'F1' capability within the VBA code editor to auto open our PEONLREF.CHM
2) We updated our pe_query AI tool, unified-docs/allExamples jsons, and knowledge files to better understand our new VBA code examples, VBA flavor Methods, and overall VBA development workflow. AI should be now be able to write your code to transfer Access database data into a ProEssentials chart.
3) We updated our website's Examples page to incude a new VBA code tab.
4) While working on the new Examples web page, we noticed that the embedded links to the help system needed improving for all languages, csharp, cpp and vba. Now the Examples page includes much more complete links to help.
5) The Winforms and WPF intefaces were tweaked to improve cases such as property AxisBackColor wrongly showing for Pe3do and Pepso via intellisense. And a few other scoping issues. AI is able to avoid this gotcha but humans could be confused. This change could also cause a compile error if you have one of the wrongly included properties in your Pe3do implementation, we had one in our example code, if so simply delete the line.

02/20/26

Gigasoft has uploaded version 10.0.0.20 on 02/20/26.

1) Our Embarcadero Builder interfaces were re-written to address Builder 13's new Modern Win64x platform. We ported the current newer examples into a new example project that better mimics the MFC and C# projects with multiple panes. Note that we now recommend adding VCLs to Builder before Delphi if you have both personalities.
2) Added a last-minute property PEP_nGRAPHANNOTPOLYDATAPLOTMETHOD. Example 415uses this feature along with GraphAnnotPolyData to produce a second 3D surface below the 4D surface. We need to do a bit more work to get our interface-to-help-to-AI-assistance-to-product pipeline fully automated, but it's getting close.
3) Fixed an issue with the TextExport feature which was not properly forming the table format option.
4) Fixed an issue with UseDataAtLocation / PEP_faYDATAPTR.

01/03/26

Gigasoft has uploaded version 10.0.0.18 on 01/03/26.

1) Added a new property PEP_nCHARTBORDERWIDTH (0 no border, else 1-15 defines width in pixels) and PEP_dwCHARTBORDERCOLOR providing features to include a border enclosing chart. .Net uses PeConfigure.ChartBorderWidth and ChartBorderColor. To add some padding around chart, use PeConfigure.ImageAdjustLeft Top Right Bottom = 50.
2) Increased contour colors from a maximum of 100 colors to new maximum of 256 colors. The GigaPrime3D example project has been updated to use 256 colors.
3) Fixed an issue with binary saving chart/serialization/maximization which had an issue with handling the new key mechanism.
4) Fixed another issue with JaggedData = True and no data passed to chart or data being empty.

04/09/25

Gigasoft has uploaded version 10.0.0.14 on 04/09/25.

1) Fixed an issue with JaggedData = True, while all data arrays empty, and requesting an image render via PEresetimage.
2) Added x64 specific local nugets for Net48 and Net80. Located in the ProEssentials10/nuget folder.
3) Improved all AnyCpu flavor .net assemblies to avoid requiring VS being launched with admin privileges for first control use inside the designer.

02/21/25

Gigasoft has uploaded version 10.0.0.12 on 02/21/25.

1) Fixed an issue with JaggedData = True and Copy function within PeData.
2) Fixed an issue with JaggedData = True and double precision local storage via properties XDataIIPtr and YDataIIPtr.
3) Added InitializeJagged within PeData.X, PeData.Y, PePlot.PointColors properties. Sets all data to an initial value.
4) Added CopyFromJaggedTo within PeData.X, PeData.Y, PePlot.PointColors properties. Sets a subsection of subset, or adds data to the end of a subset, increasing size. Provides an alternate to calling PEvsetEx.
5) Added AppendFromJagged within PeData.X, PeData.Y, PePlot.PointColors properties. Shifts data and appends to end. Provides an alternate to calling PEvsetEx.

02/07/25

Gigasoft has uploaded version 10.0.0.10 on 02/07/25.

1) Fixed a bug introduced in version 9.8.0.60 that affected exporting enhanced metafiles (EMF) to file, clipboard, and stream. The issue could sometimes cause text to be unexpectedly enclosed in a colored box.

01/23/25

Gigasoft has uploaded version 10.0.0.8 on 01/23/25.

New V10 Charting Features for .NET, WPF, MFC, VCL, ActiveX

I. Improvements Overview:

Version 10's most significant improvements relate to its' Low Level Memory handling and the addition of ComputeShader Direct3D rendering.

Version 10 is now the world's fastest available rendering solution for 3D Surfaces, 2D Contours, and 2D Line Charts. And we're working on being the fastest in other use-cases. If new to ProEssentials and evaluating, plug any other chart into our new minimal-ish WPF GigaPrime3D and Winform GigaPrime2D examples and compare the speed, rendering quality, and quantity of code necessary to replicate. As always your feedback is greatly appreciated. If you have a specific use-case needing faster performance, let us know. If you need a current feature fixed/tweaked, let us know. If you need a new feature, let us know.

Below sections JaggedData, ComputeShaders, and CircularBuffers are just 3 new properties, yet the scope and quantity of code changes related to these properties was huge and will continue to evolve.

Jagged Data:

Historically, ProEssentials had a limitation that Subsets needed to be the same quantity for all Points. Thus memory was always one contiguous block of memory for all Subsets and Points. For 98% of charts this is fine and ideal. And GraphAnnotations and/or null data was used in cases to work around this limitation. With the addition of the v10s JaggedData property, ProEssentials can optionally work with Subsets as individual blocks of memory per Subset. One does not need to set the Points property. When the chart is told to initialize via PEreinitialize, Points will be set to the maximum of any one Subset. JaggedData is a new feature and data handling is a very large scope topic, so JaggedData does have limitations in the types of charts, PlottingMethods, and RenderEngines. For now, JaggedData is limited to RenderEngine = Direct2D and the Scientific Graph and PolarSmith controls. As ProEssentials evolves, JaggedData will support more use-cases. The demo examples 142, 143, and 144 show implementations of JaggedData via spoon feeding, passed by a CopyFrom method, and not passed but identified by pointer to local memory. As ProEssentials evolves we plan on using the low level JaggedData property array capability to expand other properties; such as adding a two dimensional interface to GraphAnnotations where the first dimension would represent a grouping index. Grouping similar annotation types would also facilitate implementing computeshaders for rendering annotations on the gpu.

ComputeShader:

Continuing the evolution of the RenderEngine = Direct3D rendering technology. v10 compounds the complexity of Direct3D rendering by adding the option to fully construct the scene on the GPU versus constructing on the CPU. The performance gains provided by GPU ComputeShader construction is dramatic. The potential of 3000+ cores working in parallel to construct a scene versus a single CPU is quite literally no comparison. ProEssentials' expands its use-case to plot 3D surfaces, 2D contours, and 2D Line charts with huge data sets. Given ProEssentials' low level native C/C++ core, we're fairly confident that ProEssentials will plot 3D Surfaces, 2D Contours and 2D Line charts faster than anything available.

Version 10 adds 2 new demo projects in the GigaPrime3D and GigaPrime2D folders where ProEssentials is installed. Existing demos 400, 401, 402, 408, 409, and 410 have been updated to enable the ComputeShader property. One should see a signficant performance boost when switching between these examples as compared to v9. Though the quantity of data in these examples is not enough to demo the full power of GPU construction. Example 413 demonstrates the full power of GPU construction with real-time updating 720,000 vertices of data per update. One can comment out the ComputerShader code lines within this demo to experience legacy v9 performance.

The new v10 demo GigaPrime3D will demonstrate the full power of GPU construction as it renders 4000x4000 3D surfaces combined with 4000x4000 2D contour and line chart for a real-world use-case of handling 3D data. This demo also shows an example of a 3D zooming interface via zooming a 2D Contour to control the zoom state of a 3D Contour.

The new v10 demo GigaPrime2D will demonstrate GPU construction real-time rendering 100 million data points fully passed and updated each 15ms while simultaneously supporting zooming, panning, scaling, and more. GigaPrime2D along with demo example 145 introduce a new property Filter2D3D that enables a ComputeShader and parallelism to pre-filter 2D line data prior to sending to the final ComputeShader that uses parallelism to construct the scene. Filter2D3D will loss-less filter sequential data to reduce the demand on the final ComputeShader. The combination of this two tier ComputeShader logic renders 2D line data dramatically fast to maximize your potential for real-time charting.

CircularBuffers:

v10's new CircularBuffer features relate to both 1) v10's new low level memory management improvements and 2) ComputeShader features. CircularBuffers are used with ProEssentials' AppendYData and similar features used in partial-data updating real-time use-cases. CircularBuffers is a feature within the property array memory storage logic. Instead of having to physically shift data within memory (CircularBuffers = false), CircularBuffers=true enables a pointer to keep track of the newest data position within memory. Traditional non-jagged data as well as jagged data is supported. CircularBuffers are most beneficial for RenderEngine = Direct3D combined with ComputeShaders = true. CircularBuffers improve data shifting performance, but harm incrementally accessing data. ComputeShader logic works with blocks of memory and avoids incrementally handling data, thus the combination of CircularBuffers and ComputeShaders is where the true value of CircularBuffers shines.

Related to ComputeShader and CircularBuffers are properties: StagingBufferX, StagingBufferY, StagingBufferZ, ReuseDataX, ReuseDataY, ReuseDataZ, The staging buffer features enable an efficient pipeline for updating data from the cpu-side to gpu-side. ReuseDataX=true, would tell ProEssentials that XData has not changed and no buffer changes need processing. All these features work in concert, combined with DuplicateDataX and or DuplicateDataZ to provide an efficient path towards appending data to a chart. Legacy example 410 and new examples 145, 148 and 413 implement all of the above features providing your best information for studying this use-case.

New LabVIEW instrumentation Examples:

Our v10 setup now optionally installs a NI LabVIEW Q3 2024 example project compatible with the LabVIEW Community Edition, that replicates our example 400 via our .Net Winforms interface and via our ActiveX interface for those who prefer a pure native implementation.

New Demo Examples:

Our legacy demo projects found in the folders C#.NET, C#.NET80, WPF-C#.NET, WPF-C#.NET80, VB.NET, VC, and Delphi have been updated with additional examples and additions to existing examples.

Highlights within new Demo examples:

Example 413: New 3D Surface Real-Time with large data implementing new ComputeShader, StagingBuffers, and CircularBuffers.

Example 414: Delaunay3D Triangulation of a point cloud to create a 3D Height Map / Surface

Example 415: 3D Surface with addition of WData to produce a 4D Surface. Also shows new property ContourLegendTitle.

Example 416: Demo of new complex GraphAnnotationType of Sphere, Cone, Cylinder, Box, Ellipse, that are based of unit vectors to describe orientation and size. Rect, InnerRect, Cube/Cuboid are other new options and implemented similarly.

Example 417: New Contour Colored Wireframe surface. WireFrameContourColored, WireFrameIsoSubsetPoint


Example 140: Custom Bitmaps as Symbols, adding flexibility in symbols with bonus of bitmaps as symbols plotting faster in Direct2D.

Example 141: New secondary ContourLegend for help with displaying a legend for a 4th dimension shown via graph annotations or PointColors.

Example 142: JaggedData, simple example 4 subsets with varying amounts of data.

Example 143: JaggedData and data being passed via C# arrays. An alternate to using PEvset.

Example 144: JaggedData where data is not passed, but only shared by reference via XDataPtr YDataPtr.

Example 145: 2D Real-Time with ComputeShader, CircularBuffer storing data inside chart.

Example 146: 2D Real-Time with ComputeShader, CircularBuffer using project memory via XDataPtr YDataPtr.

Example 147: Delaunay Triangulation for a point cloud to create a 2D contour. New PlottingMethod of type ContourDelaunay.

Example 148: 2D Contour Real-Time with ComputeShader and CircularBuffer. 1 million vertices redrawn per 15ms.

Example 149: New approach to GraphAnnotationType angled text with justification, types 241-244. Angle does not follow data but is absolute. As compared to example 015 that also shows new angled text with justification where text follows slope of data.


Example 036: New 2D PointLabelsII feature. With related new properties PointLabelsIIBoxed, PointLabelsIISeparators, GridLineSeparators producing a table of labels below the x axis.

Tweaks to legacy examples implementing new features:

Example 000: New property AllowLargerLegendWidth. Useful for charts of smaller size. Size the demo window below 250 pixels to compare the legend construction.

Example 013: Simple addition of SubsetAxes showing how to alter the location of Subset indices to MultiAxesSubsets.

Example 015: Shows new angled text with Justification that follows data. New TextBoundingBox(245) GraphAnnotationType type also applies to HorzLineAnnotationType.

Example 023: Adding GraphBmpOpacity bitmap opacity option. Also DeskBmpOpacity, TableBmpOpacity, ZoomWindowBmpOpacity

Example 030: Updated with current financial data, improved annotations based study including TextBoundingBox(245) graph annotations.


Example 115: Enables ComputeShader and uses StagingBufferX and StagingBufferY

Example 122: Simply enables ComputerShader and example renders noticeably faster.

Example 139: Simply enables ComputerShader and example renders noticeably faster.


Example 400: Enables ComputeShader. New feature DxZoomMax DxZoomMin to limit mousewheel zooming. New feature DxViewportPanFactor to allow for more responsive shift drag. MouseWheelZoomFactor allows for higher maximum responsiveness. These 4 properties allow for a more polished user experience with our Pe3do controls.

Example 401: Enables ComputeShader.

Example 402: Enables ComputeShader, shows new feature GridBrighten to brighten the grid instead of shading it to be more subtle.

Example 405: Adds Box type GraphAnnotations ontop of bars.

Example 408: Enables ComputeShader.

Example 409: Enables ComputeShader.

Example 410: Enables ComputeShader, CircularBuffers, StagingBuffers, DuplicateDataX, DuplicateDataZ, and ReuseDataZ

All the walkthroughs were tweaked to reference v10.

Demo Export Feature

The new TestBed demo export feature eases experimenting with individual demos. All demo projects support a demo export menu or button to launch a Demo Export Dialog. This dialog will create a separate testbed project within a folder inside the ProEssentials10/TestBeds folder.

In Summary

We've been grinding hard on revamping this help system for over a month, but it'll still take a few more weeks to fully sync with all the properties and methods and wrap up a final read-through of 1500+ topics. Pro tip: Our example projects are your ultimate guide to mastering our interfaces. If you've dived into our demos, you're basically a ProEssentials guru. Huge thanks for your patience as we roll out v10, and for your support of our one-of-a-kind, high-performance charting, built native and managed and without the worry of sketchy open-source dependencies. We thank you for reading this far. You're the boss.