ShapeRenderingMode - what do the settings mean?


Author
Message
Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
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 1
Kevin Harrison 1
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
Posts: 176, Visits: 1.9K

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
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
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 1
Kevin Harrison 1
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
Posts: 176, Visits: 1.9K

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 


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search