2016-04-08 79 views
3

我試圖在折線圖(實時FIFO)上將AntiAliasing設置爲true,但它似乎不工作。還有什麼我需要做的?SciChart FastLineRenderableSeries反鋸齒不工作

這裏是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

回答

2

根據SciChart你需要使用高級的一個質量或DirectX或Vector Renderer插件,以獲得消除鋸齒的行。他們會指導您訪問此article以獲取有關插件的更多信息。

  • 的HighSpeedRenderSurface一個整數座標,速度快,軟件渲染(CPU基於)。產生鋸齒狀的線條,但速度非常快。

  • HighQualityRenderSurface(可用於Pro和Source版本)浮點座標軟件渲染器(基於CPU)。
    生成最佳質量圖像,但使用的CPU資源多於
    HighSpeed。

  • Direct3D10RenderSurface(源版本中可用)浮點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> 
+0

點上!儘管文章已過時。 HighQualityRenderSurface現已在所有版本中提供,並且可以通過DirectXHelper.TryApplyDirectX附屬屬性將DirectX啓用並回退到軟件。最後,在SCv4中,DirectX可用於Enterprise(以前的源代碼)和SDK版本。謝謝! [scichart團隊] –

+0

'會員「RenderSurface」無法識別或無法訪問。「 - 這是因爲我有試用版嗎? – colmde

+0

不應該。試用與完全沒有區別,只是時間限制 –