Hi all,
We are currently evaluating different charting libraries for 3D rendering. One of them being Telerik, in trial mode.
Everything till now looked perfect but we ran into a weird issue while using RadCartesianChart3D. This happens when we are running the application on Machine1 which is Windows 7 and access this machine using remote desktop from Machine 2. When we run the application on Machine 1 we can see all the surface series being rendered correctly. But if I try to access the solution from machine 2(different PC) using remote desktop session, Visual studio crashes. No Exceptions are caught.
I have attached the Event Viewer of the machine 1 where the applications is running.
Development environment on machine 1: VS 2017 , .Net framework 4.7.1.
Telerik Version: See file attached.
We found that,the other parts of the application which renders a RadHeatMap works perfectly fine even in a remote desktop mode.
Upon further Investigation, it seems that Data Binding could be problematic. I have attached the code below:
The series with no-binding, all data points defined in the Xaml , statically defined, works fine. But the one with the binding to a "test1" object fails during remote desktop session.
<
telerik:RadCartesianChart3D
x:Name
=
"radView"
>
<!--Axis definitions-->
<
telerik:RadCartesianChart3D.XAxis
>
<
telerik:LinearAxis3D
LabelStyle
=
"{StaticResource LabelStyle}"
/>
</
telerik:RadCartesianChart3D.XAxis
>
<
telerik:RadCartesianChart3D.YAxis
>
<
telerik:LinearAxis3D
LabelStyle
=
"{StaticResource LabelStyle}"
/>
</
telerik:RadCartesianChart3D.YAxis
>
<
telerik:RadCartesianChart3D.ZAxis
>
<
telerik:LinearAxis3D
LabelStyle
=
"{StaticResource LabelStyle}"
/>
</
telerik:RadCartesianChart3D.ZAxis
>
<
telerik:RadCartesianChart3D.Series
>
<
telerik:SurfaceSeries3D
>
<
telerik:SurfaceSeries3D.DataPoints
>
<
telerik:SurfaceDataPoint3D
XValue
=
"10.1"
YValue
=
"14.11"
ZValue
=
"9.5"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"20.2"
YValue
=
"21.4"
ZValue
=
"7.5"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"30.3"
YValue
=
"441.4"
ZValue
=
"6"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"40.4"
YValue
=
"22.4"
ZValue
=
"6"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"50.5"
YValue
=
"111.332"
ZValue
=
"6.55"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"60.6"
YValue
=
"221.4"
ZValue
=
"6.555"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"70.7"
YValue
=
"221.2"
ZValue
=
"5.55"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"80.7"
YValue
=
"31.22222"
ZValue
=
"5.5"
/>
<
telerik:SurfaceDataPoint3D
XValue
=
"90.7"
YValue
=
"221"
ZValue
=
"5"
/>
</
telerik:SurfaceSeries3D.DataPoints
>
</
telerik:SurfaceSeries3D
>
<
telerik:SurfaceSeries3D
x:Name
=
"test"
XValueBinding
=
"X"
YValueBinding
=
"Y"
ZValueBinding
=
"Z"
ItemsSource
=
"{Binding test1}"
>
<
telerik:SurfaceSeries3D.Colorizer
>
<
telerik:SurfaceSeries3DDataPointColorizer
ColorBinding
=
"ColorValue"
/>
</
telerik:SurfaceSeries3D.Colorizer
>
</
telerik:SurfaceSeries3D
>
</
telerik:RadCartesianChart3D.Series
>
</
telerik:RadCartesianChart3D
>
Test1 object look like this:
public class test
{
public double X { get; set; }
public double Y { get; set; }
public double Z { get; set; }
public Color ColorValue { get; set; }
public PlotInfo(double x, double y, double z)
{
X = x;
Y = y;
Z = z;
ColorValue = Color.FromArgb(128, 255, 255, 0);
}
}
Further, as soon as I change the types for X, Y and Z to int from doubles, everything is fine and 3D charts are rendered properly.
So In short, the problem is with the RadCartesianChart3D in a remote desktop mode, binding to an object with double values. Any suggestions please?
We are currently in evaluation mode and we would like to wrap it up as soon as possible. If you need more details please let me know.