Skip to content

[Feature] Auto data reduction for performance #123

@fecaltransplant

Description

@fecaltransplant

This is something I'll be implementing, but maybe ImPlot3D in general could use it. The idea behind this feature is to automatically improve the overall ImGui framerate if a graph is loaded with far too many triangles.

In my case, graphs expressed in a fixed x-range and varied z-range stacked in the y-direction comprise my surface plot. In this example, I have 1294 of these xz graphs. I'll put in simple logic that if the framerate dips below a certain value, I'll apply a decimation factor. For example, if I have a decimation factor of 2, I'll only display 647 of these xz graphs. Reducing points could be based on a percentage to be less drastic.

Because the x-axis values are fixed, I could also decimate values in the x-direction as well.

Based on these thoughts, I'm not certain how it would be implemented, but maybe a framerate minimum, a decimation axis (or axes), and a flag would be enough for this.

I'm only looking at one graph at a time, so I don't know if the situation would get nasty for multiple graphs.

bandicam.2025-05-27.18-20-28-654.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumMedium prioritystatus:ideaFeature under considerationtype:featNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions