SciChart FastLineRenderableSeries抗锯齿不起作用

时间:2016-04-08 13:36:25

标签: c# wpf antialiasing scichart

我已尝试在折线图(实时FIFO)上将AntiAliasing设置为true,但它似乎不起作用。还有什么我需要做的吗?

这是XAML ......

<s:SciChartSurface x:Name="sciChart" Grid.Column="1" GridLinesPanelStyle="{StaticResource GridLinesPanelStyle}" RenderTransformOrigin="0.498,0.48" RenderableSeries="{Binding ChartSeries}">

背后的代码......

    private void AddCurveToChart(XyDataSeries<double, double> curveSeries)
    {

        FastLineRenderableSeries renderableCurve = new FastLineRenderableSeries
        {
            DataSeries = curveSeries,
            Stroke = (Color)ColorConverter.ConvertFromString(Strokes[ChartSeries.Count < Strokes.Length ? ChartSeries.Count : Strokes.Length - 1]),
            StrokeThickness = 2,
            AntiAliasing = true,

        };

        ChartSeries.Add(renderableCurve);

        RaisePropertiesChanged("ChartSeries");
    }

然而,正如你从屏幕截图中看到的那样,我仍然得到了“锯齿状”......

enter image description here

1 个答案:

答案 0 :(得分:2)

根据SciChart,您需要使用High Quality或DirectX或Vector Renderer插件之一才能获得抗锯齿线。他们会引导您访问此article以获取有关插件的更多信息。

  
      
  • HighSpeedRenderSurface一个整数坐标,快速的软件渲染器(基于CPU)。产生锯齿状的线条,但速度非常快。

  •   
  • HighQualityRenderSurface(在Pro和Source Edition中可用)浮点坐标软件渲染器(基于CPU)。
      生成最佳质量的图像,但使用的CPU资源多于
      高速。

  •   
  • Direct3D10RenderSurface(源代码版本)浮点,DirectX10硬件渲染器(基于GPU)。利用
      像素着色器可以尽可能多地将计算量卸载到GPU上。

  •   
默认情况下使用

HighSpeedRenderSurface,这会产生锯齿状的线条。

启用HighQualityRenderSurface(仅适用于专业版):

<s:SciChartSurface>
   <s:SciChartSurface.RenderSurface>
      <s:HighQualityRenderSurface/>
   </s:SciChartSurface.RenderSurface>
</s:SciChartSurface>

Direct3D10RenderSurface可以这种方式使用(仅适用于&#34;源代码版&#34;):

<s:SciChartSurface.RenderSurface>
    <s3D:Direct3D10RenderSurface InitializationFailed="OnDirectXInitializationFailed"
                                 RenderingFailed="OnDirectXRenderingFailed"/>
</s:SciChartSurface.RenderSurface>