Table of Contents

Class RenderOptionsCommon

Namespace
LightningChartLib.WinForms.Charting.Views
Assembly
LightningChart.WinForms.Charting.NET4.dll

View rendering options.

[TypeConverter(typeof(ExpandableObjectConverter))]
public class RenderOptionsCommon : ChartNode, IChartNode, IDisposable
Inheritance
RenderOptionsCommon
Implements
Inherited Members

Constructors

RenderOptionsCommon()

Simple constructor for Form designer's list editor.

public RenderOptionsCommon()

RenderOptionsCommon(IChartNode)

Constructor.

public RenderOptionsCommon(IChartNode chart)

Parameters

chart IChartNode
param chart M:LightningChartLib.WinForms.Charting.Views.RenderOptionsCommon.#ctor(LightningChartLib.WinForms.Charting.IChartNode)

Properties

AntiAliasLevel

Anti-aliasing factor. 0 and 1 = No anti-aliasing. The larger the value, the smoother the image will be, but at steep cost of performance on some display adapters. Only objects having Normal will be anti-aliased.

Note that with DX11 thicker (triangle) lines cannot be rendered without anti-aliasing unless this property's value is set to be lower than 1.

public uint AntiAliasLevel { get; set; }

Property Value

uint

Remarks

Note that the value will be limited to a highest value the active engine supports and updated on engine initialization.

D2DEnabled

Determines if the D2D system is used or not. Text rendering does not work on DX11 without D2D. This is intended only as Debug measure at this time, and the property will be removed later.

public bool D2DEnabled { get; }

Property Value

bool

DeviceType

Rendering device type to use, or selection logic for the engine to be used.

Note that reading this value does not provide information of the current device, just the requested one. More information on remarks.

public RendererDeviceType DeviceType { get; set; }

Property Value

RendererDeviceType

Remarks

See the RenderDeviceType enum value for more information on possible selections and their meaning.

The property does not provide information of the currently active device type, just the requested one. Use RenderDeviceInfo.RendererDeviceType value from GetRenderingDeviceInfo() method, or follow RenderingEngineChanged event, to get the currently active device.

FontsQuality

Fonts rendering quality.

public FontsRenderingQuality FontsQuality { get; set; }

Property Value

FontsRenderingQuality

ForceDeviceCreateOnResize

Force device create on control resize. Some virtual machine environment require this to be set to true.

public bool ForceDeviceCreateOnResize { get; set; }

Property Value

bool

FrameRateLimit

Maximum frames to present in second.

public double FrameRateLimit { get; set; }

Property Value

double

Remarks

This system can be used to limit the FPS of the chart to certain amount of frames per second. The limitation is not exact. Limiting will reserve CPU and GPU usage for other purposes. If no limitation is used, chart will try to update itself synchronously on every change that requires update, like on property changes, data insertion etc.

Note that BeginUpdate and EndUpdate methods should be used when updating properties to prevent unnecessary updates.

This variable controls only the time between frames. The system must be enabled separately through UpdateType property of the ChartOptions.

Value must be larger than 0. The maximum time between frames is one second, so in effect the FPS can not be limited below one FPS.

GPUPreference

Gets or sets GPU preference setting. This is a dependency property.

public GPUPreference GPUPreference { get; set; }

Property Value

GPUPreference

Remarks

Defines which GPU / Graphics adapter of the computer is used. See GPUPreference enumeration for more information.

Note that this property has effect only on DX11, as on DX9 the system handles selection of the used GPU. At DX9 the selection is based on system settings and on screen the application launches on.

HeadlessMode

Defines if the LightningChart expects to have a graphical interface or not. This allows the LC to be used in the background, without connections to interface.

This has effect on multiple different things. For instance device type selection will cause the engine to change instantly on selection, not when LC is connected to visual tree.

public bool HeadlessMode { get; set; }

Property Value

bool

Remarks

Note that this represents the user selection for the headlessness. Running in service will cause the headlessness to be forced on.

Also note that only DX11 supports headless mode. DX9 will not work in headless mode.

InvokeRenderingInUIThread

Use thread safe updates to force the control draw itself though Invoke. Enabling this may cause slower updates, and should not be used in applications running without auxiliary threads updating the chart data or properties. Alternatively, you can use Invoke method of your parent form or control. You should always update the chart data from by Invoking in application side.

public bool InvokeRenderingInUIThread { get; set; }

Property Value

bool

LineAAType2D

Anti-aliasing type of single pixel width anti-aliased lines. Applicable only on DX11 and when AntiAliasLevel is above 1. Lines thicker than 1 pixel are rendered using triangles, and use triangle drawing AA system. ALAA option produces generally best looking line and is faster than QLAA. There is some problems with ALAA with Warp though.

Note that on DX11, the usage of alpha-line anti-aliasing can be also controlled through SharpDX.Direct3D11.RasterizerStateDescription.IsMultisampleEnabled

public LineAntiAliasingType LineAAType2D { get; set; }

Property Value

LineAntiAliasingType

LineAAType3D

Anti-aliasing type of single pixel width anti-aliased lines. Applicable only on DX11 and when AntiAliasLevel is above 1. Lines thicker than 1 pixel are rendered using triangles, and use triangle drawing AA system. ALAA option produces generally best looking line and is faster than QLAA. There is some problems with ALAA with Warp though.

Note that on DX11, the usage of quadrilateral-line anti-aliasing can be also controlled through SharpDX.Direct3D11.RasterizerStateDescription.IsMultisampleEnabled

public LineAntiAliasingType LineAAType3D { get; set; }

Property Value

LineAntiAliasingType

LineOffset

Debug Line offset of the DX11 line drawing. LightningChart internally uses coordinate system where the coordinate points to the center of the pixel. Meaning that screen coordinate (0,0) is at the center of the top-left pixel. In DX9 this is the same. In DX11 the point (0,0) is at the top-left corner of the top-left pixel, and the center of the pixel is at point (0.5, 0.5). The points are moved by this offset in DX11 engine, so that the chart can use the same coordinate system with all engines. The default value of (0.5, 0.5) is the "correct" one, but it can be modified by this property.

public PointDouble LineOffset { get; set; }

Property Value

PointDouble

RemoteDesktopVendorId

RemoteDeskTop graphics card ID.

public int RemoteDesktopVendorId { get; set; }

Property Value

int

Remarks

If remote desktop does not seem to work, set this value to GPU ID.

UpdateOnResize

Update chart always when resizing control.

public bool UpdateOnResize { get; set; }

Property Value

bool

UpdateOnResizeTimeInterval

Update chart after this interval (ms) after resizing ends, if UpdateAlwaysOnResize is false.

public int UpdateOnResizeTimeInterval { get; set; }

Property Value

int

UpdateType

Defines how / when chart is updated and new frames are rendered.

public ChartUpdateTypes UpdateType { get; set; }

Property Value

ChartUpdateTypes

UseShaderForLinePattern

Use shader to render patterned lines.

public bool UseShaderForLinePattern { get; set; }

Property Value

bool

ViewXY

Rendering options for ViewXY.

public RenderOptionsViewXY ViewXY { get; set; }

Property Value

RenderOptionsViewXY

WaitForVSync

Wait for next refresh, V-Sync. If the computer is fast enough, disabling this can give higher refresh rate than the screen refresh rate is. By disabling this, rendering does not wait next screen refresh turn.

public bool WaitForVSync { get; set; }

Property Value

bool

Methods

Dispose(bool)

Clean up any resources being used.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true if managed resources should be disposed, otherwise false.

ToString()

Convert class description to string.

public override string ToString()

Returns

string

Class description as a string.