3

我尝试AntiAliasing在折线图(实时 FIFO)上设置为 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");
    }

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

在此处输入图像描述

4

1 回答 1

2

根据SciChart,您需要使用 High Quality、DirectX 或 Vector Renderer 插件之一来获得抗锯齿线。他们将您引导至本文以获取有关插件的更多信息。

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

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

  • Direct3D10RenderSurface(在 Source Edition 中可用)浮点 DirectX10 硬件渲染器(基于 GPU)。利用
    像素着色器将尽可能多的计算卸载到 GPU。

HighSpeedRenderSurface默认情况下使用,它会产生锯齿状的线条。

要启用HighQualityRenderSurface(仅在专业版中可用):

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

Direct3D10RenderSurface可以这样使用(仅在“源代码版”中可用):

<s:SciChartSurface.RenderSurface>
    <s3D:Direct3D10RenderSurface InitializationFailed="OnDirectXInitializationFailed"
                                 RenderingFailed="OnDirectXRenderingFailed"/>
</s:SciChartSurface.RenderSurface>
于 2016-04-08T13:58:50.217 回答