Keep live and historical data in view
Follow incoming readings, inspect an earlier range and return to Follow Live. Compare channels with stacked plots and multiple Y axes.
Control your instruments, follow growing measurement histories and investigate signals in one workspace. Instraxis Plot is our native visualization and analysis engine, developed for Instraxis Control.
Built into Control’s measurement workflow. The default for new normal and log figures.
A chart is most useful when it helps you make sense of the measurement. These tools work inside Instraxis Control, alongside your sequence and recorded data.
Follow incoming readings, inspect an earlier range and return to Follow Live. Compare channels with stacked plots and multiple Y axes.
Fit curves, inspect fitted parameters and standard errors, find peaks and measure FWHM. Run analysis on a fixed selection or a live trailing window.
Analysis leaves acquired samples intact. Export numerical results with source context, and save figure projects to revisit data and results.
Explore noise statistics, filtering, FFT and time-frequency spectrograms. Irregular timestamps have dedicated methods; spectral tools report their sampling requirements.
Rendering and analysis have separate limits. Exact raw analysis uses a 200,000-point default budget; the backend supports up to 2 million selected points. Oversized selections are rejected rather than silently reduced.
Feature availability follows the evaluated Control build. Existing explicit SciChart and ScottPlot figure selections remain compatible. Explore the complete Control workflow
For a 100-million-point dataset, preparation plus the first completed chart cycle fell by 50.2%, and full replacement p95 fell by 49.3%. The same workstation and host ran both versions, with only the native backend DLL changed.
| Measured operation | Previous PlotFresh control · 8f1c7b8 | Updated PlotFresh update · 1a967f8 | Observed change |
|---|---|---|---|
| Attach APIMedian | 294.68 | 75.19 | 74.5% lower |
| Preparation + first completed cycleMedian | 486.87 | 242.26 | 50.2% lower |
| Complete X/Y replacementPooled p95 | 491.04 | 249.14 | 49.3% lower |
| Streaming +1M samples/sPooled p95 cycle | 21.27 | 20.85 | Similar responsiveness |
| Concurrent analysis request to UIPooled p95 | 63.60 | 66.05 | 3.9% higher |
Preparation includes attachment, index construction and the first completed paint/pump/compositor cycle. The 242.26 ms result excludes fixture generation, control creation and Control file loading. Full replacement includes validating the new X data and rebuilding the entire index.
The updated backend recorded 20.85 ms p95 chart cycles while replaying 1M samples/s into a 100M-point history. Memory was essentially unchanged. Concurrent analysis request-to-UI timing was slightly higher; this test does not show improved analysis delivery.
The common concurrent-analysis benchmark uses a C# algorithm, separate from the updated native scientific routines. These are descriptive observations from three processes, not a statistical significance test or a whole-application speedup. Read the scope and validation.
Updated Instraxis Plot recorded shorter replacement cycles than the saved vendor references, while streaming remained around 21 ms. The fresh old/new tests above isolate the improvement; vendor comparisons below span different measurement sessions.
Only Instraxis Plot was rerun. ProEssentials, SciChart and LightningChart values come from our earlier accepted local campaign. They are historical references, not a new same-session vendor comparison. All figures measure chart backends, not complete Control throughput. Source and numerical summary.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 20.85 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
Within 30 seconds, Instraxis Plot accepted 29.96M of the 30M scheduled new samples (99.87%); 40,000 remained at the boundary. The updated run reached 130M with no missing input after catch-up; historical vendor runs also reached that count.
| Backend | Input accepted within 30 s | Final drain |
|---|---|---|
| Instraxis PlotFresh update | 99.87% | 7.55 ms |
| ProEssentials 11Historical reference | 96.63% | 679.87 ms |
| SciChart 9Historical reference | 99.87% | 125.43 ms |
| LightningChart 10Historical reference | 98.73% | 264.13 ms |
Drain is final catch-up after the producer ends; a cycle crossing the 30-second boundary can finish before the drain timer starts. It is not total boundary-to-completion time.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 20.84 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
Instraxis Plot accepted 99.87% of scheduled new input within 30 seconds. Updated Instraxis Plot and the historical vendor runs retained 13M points with no missing input after catch-up.
| Backend | Input accepted within 30 s | Final drain |
|---|---|---|
| Instraxis PlotFresh update | 99.87% | 6.00 ms |
| ProEssentials 11Historical reference | 99.47% | 81.81 ms |
| SciChart 9Historical reference | 99.87% | 24.67 ms |
| LightningChart 10Historical reference | 99.87% | 41.29 ms |
Drain is final catch-up after the producer ends; a cycle crossing the 30-second boundary can finish before the drain timer starts. It is not total boundary-to-completion time.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 20.75 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
Instraxis Plot accepted 99.87% of scheduled new input within 30 seconds. Updated Instraxis Plot and the historical vendor runs retained 103M points with no missing input after catch-up.
| Backend | Input accepted within 30 s | Final drain |
|---|---|---|
| Instraxis PlotFresh update | 99.87% | 6.70 ms |
| ProEssentials 11Historical reference | 96.90% | 533.44 ms |
| SciChart 9Historical reference | 99.87% | 108.56 ms |
| LightningChart 10Historical reference | 99.13% | 213.29 ms |
Drain is final catch-up after the producer ends; a cycle crossing the 30-second boundary can finish before the drain timer starts. It is not total boundary-to-completion time.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 41.65 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
Twenty complete X/Y replacements per process, three updated Instraxis Plot processes. No fresh previous-backend control at 10M. Updated p95 is below the historical vendor values; this is not a fresh same-session vendor comparison.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 249.14 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
Fresh matched previous/updated Instraxis Plot: 491.04 to 249.14 ms p95, a 49.3% reduction. ProEssentials measured 441.70 ms in the earlier campaign. These are different sessions; the vendor was not rerun.
p95 combined update cycle · milliseconds · lower is better
Updated Instraxis Plot measured 20.80 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.
A common C# algorithm analyzes a 10M-point region. This measures chart behavior under contention, not the changed native scientific routines or Control analysis capacity. Fresh request-to-UI p95 rose from 63.60 to 66.05 ms.
Bars begin at zero and share a linear scale within each workload; the scale changes with the selection. Figures pool events across three runs. How we measured.
| Workload | Instraxis PlotFresh update | ProEssentials 11Historical reference | SciChart 9Historical reference | LightningChart 10Historical reference |
|---|---|---|---|---|
| Stream · 100M points + 1M samples/s | 20.85 | 701.82 | 36.07 | 283.81 |
| Stream · 10M points + 100k samples/s | 20.84 | 115.74 | 35.71 | 52.85 |
| Stream · 100M points + 100k samples/s | 20.75 | 600.59 | 34.78 | 250.32 |
| Replace all X/Y · 10M points | 41.65 | 60.59 | 94.34 | 231.53 |
| Replace all X/Y · 100M points | 249.14 | 441.70 | 595.70 | 2,877.90 |
| Stream + analysis · 100M points + 100k/s | 20.80 | 616.68 | 35.17 | 233.45 |
Bold marks the lowest recorded reference value, not a fresh vendor ranking. Both campaigns ran on 11 September 2026, in separate sessions. “100M” is initial retained history for streaming and the complete dataset size for replacement. The concurrent test uses a shared harness algorithm, separate from Control’s analysis tools.
The updated campaign contains 30 current-backend processes and 12 previous-backend controls. Vendor measurements retain their original versions, sessions and acceptance decisions.
1a967f8. Fresh old-backend control: 8f1c7b8. Historical vendors: ProEssentials 11.0.0.2, SciChart 9.0.0.29196 and LightningChart 10.0.1.4001.Append/replacement API, range request, library/window processing, UI pumping and DwmFlush. Not physical display latency, FPS or isolated GPU time.
The p95 value is the nearest-rank 95th percentile of measured cycles, pooled over three accepted fresh processes. Faster runs can contribute more cycles; this is not an equal-event-count experiment.
The updated campaign accepted 42/42 fresh processes across 14 three-run cohorts. Within each host type, only the native DLL differs between the previous and updated Instraxis Plot versions. Runs occurred on 11 September 2026, 17:24–17:39 UTC. Vendor values retain the earlier campaign’s accepted cohorts.
Replay is precomputed input. It excludes waveform generation, external-device transfer and hardware acquisition. Update requests are capped at 30/s; a cycle may batch several published blocks.
One explicit double-precision X/Y series. Replay runs last 30 seconds, publish every 10 ms and retain all history. The view shows the newest 1M points, switching to a historical 10M-point region for 250 ms every 2 seconds. Full replacement cycles three precomputed X/Y datasets across 20 replacements per process, including the first. Selected image captures and settling pauses occur between timed cycles; this is not an uninterrupted maximum-rate replacement loop.
Instraxis Plot borrows pinned arrays and updates its index incrementally during replay. Full replacement rebinds arrays, validates X and rebuilds the complete index. SciChart reserves library-owned streaming storage and appends deltas; replacement uses its documented array-backed constructor. ProEssentials rebinds a growing pinned prefix with staging and geometry rebuilds included. LightningChart converts deltas to SeriesPoint arrays; full replacement includes fresh conversion and allocation. These paths differ internally.
SciChart uses Visual Xccelerator DirectX 11 with Auto resampling and ImpossibleMode at reserved capacities of at least 50M. ProEssentials requests Direct3D compute rendering with Filter2D3D, compute shader and X/Y staging enabled. LightningChart requests HardwareOnlyD11 with its logged point optimization setting. No private GPU fence is added.
The concurrent harness runs the same application-worker algorithm on an immutable 10M-point region, requested once per second. It does not compare the vendors’ own analysis functions, nor does it establish Control’s analysis capacity.
Eight selected current-source correctness suites passed before timing. All 186 saved checkpoints were accepted: 35 directly inspected originals, with the rest matched by exact image hash and fixture/view. An internal independent recomputation checked 4,776 values with zero mismatches. Every timed frame was not checked pixel by pixel. Narrow raster slits in dense waveforms remain a known limitation of the tested snapshot; the measurements do not establish lossless rasterization.
One series and 30-second replays do not validate multichannel scaling, long-duration acquisition or every signal type. Control’s data table, source preparation, logging and file loading add their own costs. Check the complete application on your intended workstation.
The updated source is 1a967f875168cd45976aa6efba303d0e78fee337, including the loading/replacement optimization in eaf6482. The fresh control uses 8f1c7b8fde1369f4d76d623d970729a756f126ce. Deployed native-DLL hashes identify the actual implementation; the unchanged host contains older metadata strings.
Fresh old/new controls cover 100M static preparation/navigation, 100M +1M/s streaming, 100M replacement and 100M concurrent analysis. The other three extended scenarios have fresh updated Instraxis Plot runs without fresh previous-backend controls. Their historical differences do not isolate an optimization effect.
The original four-backend campaign remains available as an archived numerical summary. ProEssentials led replacement in that older campaign. The current 249.14 ms result comes from this completed rerun, not the earlier preliminary backend follow-up.
The changes are integrated in Control development output; the published installation was not updated by the recorded integration work. Confirm the supplied build during evaluation. Backend capacity does not guarantee complete Control loading or acquisition performance.
A point count alone cannot make two benchmarks equivalent. Data representation, retained history, hardware, API, version and timing boundaries all matter.
Gigasoft distinguishes rendering an existing 100M-point dataset from replacing it with fresh data. Our test uses one explicit double X/Y series and includes update processing. Its growing-history path also differs from fixed-history circular-buffer streaming.
Gigasoft performance contextSciChart’s widely linked WPF comparison dates to 2021, covers many chart types and caps tests at 60 FPS. That is a separate campaign from our installed WPF 9.0.0.29196 comparison.
SciChart benchmark methodologyOur installed 10.0.1 PointLineSeries path predates SampleDataBlockSeries. The vendor’s 2021 comparison uses 10.1.1, block-series streaming and SciChart 6.3, with a 10-second scrolling history. It is a different test.
LightningChart benchmark methodologyThe table compares only the installed versions listed above, not every vendor’s latest release. Third-party names are trademarks of their owners. No vendor endorsement or independent certification is implied.
Vendor pages checked 11 September 2026. They explain methodology and version context; their numbers are not used in our charts.
Tell us your instruments, channel count, data rate, measurement duration and target PC. We can focus the Instraxis Control evaluation on the experiment your lab needs to run.