Profile Picture

ShapeRenderingMode - what do the settings mean?

Posted By Kevin Harrison 12 Years Ago
Author
Message
Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009
Hi Kevin,

The ShapeRenderingMode enumeration is pretty much the same as System.Drawing.Drawing2D.SmoothingMode, except that our enum doesn't have the "Invalid" mode. The value meanings are the same, so effectively there are only two modes - Anti-aliasing is either Enabled or Disabled.

In 3D charts only the lines are anti-aliased, while in 2D charts anti-aliasing is applied to lines and filled shapes. In general it doesn't slow down rendering significantly. Line anti-aliasing has two drawbacks:

1. The first issue can be seen when there are two or more overlapping lines (for example the borders of adjacent bars). In such cases the lines look thicker.

2. If you rely only on line anti-aliasing in 3D charts, the edges of objects that don't have line borders will be jagged.

Jittering is a type of full-scene anti-aliasing of 3D scenes. It can solve the fore-mentioned problems, but can decrease rendering performance considerably. If you use 4 jittering steps this means that the scene will be rendered 4 times and the results will be combined to get the final image. The maximum allowed jittering step are 16. The Auto-Jittering mode turns off jittering when the chart is frequently updated (for example when rotated with the mouse) and turns it on again when the chart is still.

Best Regards,
Nevron Support Team



Kevin Harrison
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)

Group: Forum Members
Last Active: 3 Years Ago
Posts: 176, Visits: 1,865

All the ShapeRenderingMode enumeration values - what do they do - the documentation doesn't say.

For line and bar charts I am currently using: 

            nevronChartControl.Settings.ShapeRenderingMode = ShapeRenderingMode.Default;
            nevronChartControl.Settings.JitterMode = JitterMode.Auto;
which is OK, but gives noticeably jagged lines.

I tried setting JitterMode to none and ShapeRendering mode to AntiAlias, which was an improvement for 2D line and bar (and 2D and 3D grid surface) charts. However, for 3D line and bar charts, there was a "thickening" of the borders around symbols and bars which looked worse. If you expanded the bars, for example, you could see that the previous single vertical line was now smeared.

I guess I am looking for combined information about the best use of ShapeRenderingMode, JitterMode (and GDI+ vs OpenGL) for different situations.

I obviously want the best image quality, but to be aware of potential performance issues; e.g. in rotation of 3d surface charts.

Thanks

Kevin



Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009
Hi Kevin,

Can you please specify the enumerations / settings that you have in mind?

Also is it possible for you to share some details regarding your particular application or scenario so that we can come up with some tips.


Best Regards,
Nevron Support Team



Kevin Harrison
Posted 12 Years Ago
View Quick Profile
Supreme Being

Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)

Group: Forum Members
Last Active: 3 Years Ago
Posts: 176, Visits: 1,865

Hi

Help just lists the enumeration values, but doesn't tell you what they mean.

In general, it would be useful to know the trade-off between improved image quality and rendering performance. There are some performace tips in the help and also information about the render surface, but it is difficult to get an overall view on what settings to use. Can I have some suggestions please?

Thanks

Kevin 





Similar Topics


Reading This Topic