What’s New in SciChart iOS /Android /Xamarin v 2.5?
There is a large number of improvements and bug fixes made in SciChart iOS/ Android / Xamarin v2.5. It is recommended for all users of SciChart v2.2 to update to the latest version! Please see more information below.
New Features:
- Metal Support for iOS Charts
SciChart iOS and Xamarin.iOS is now the first hardware-accelerated iOS Chart Control to support the Metal graphics API by Apple, which will replace OpenGL ES in future versions of iOS. By default, our charts render using OpenGL ES, but you can switch to Metal with the following line of code:
// in Swift: surface.renderSurface = SCIMetalRenderSurface(frame: surface.bounds) // in Objective-C: self.surface.renderSurface = [[SCIMetalRenderSurface alloc] initWithFrame:self.surface.bounds]; //in Xamarin: Surface.RenderSurface = new SCIMetalRenderSurface(Surface.Bounds);
Please note this code should be called after initialization of SCIChartSurface object, before creating any axis, series, or styles.
Also, it is advisable to detect if the current iOS version and the current device has the full support of all the Metal features used in SCIChart using the code below:
// in Swift if SCIChartSurface.isMetalSupported { surface.renderSurface = SCIMetalRenderSurface(frame: surface.bounds) } // in Objective-C if (SCIChartSurface.isMetalSupported) { self.surface.renderSurface = [[SCIMetalRenderSurface alloc] initWithFrame:self.surface.bounds]; } //in Xamarin if (SCIChartSurfaceView.IsMetalSupported) { Surface.RenderSurface = new SCIMetalRenderSurface(Surface.Bounds); }
This will ensure compatibility on older phones. (Link to Documentation).
We would recommend testing on multiple devices before deploying any apps to the App Store with the new Metal render surface. The OpenGL surface is fundamentally the same and considered the best choice for production apps at this time. Finally, we would really appreciate your feedback on the new Metal renderer.
- New iOS and Android Documentation
The documentation for iOS Charts and Android Charts now has a new stylish theme, so it is easier and more pleasant to read. We have also taken care of making it easier to find just what you need via Google using Title tags and structured data. It is responsive and works great on all devices including tablets and mobile. There have been many small corrections and improvements made to the documentation and there is more to come!
Bug Fixes for iOS:
- Updated: bindings of SCIMetalRenderSurface to have a proper constructor
- Fixed: append and FIFO test cases for SciChart
- Fixed: memory leak on OpenGLRenderSurface deallocation Made SCIChartSurfaceViewBase.renderSurfafe property strong to avoid warning
- Added: allowing to draw outside of the main scene/end scene sequence + create the regular polygon texture once they are required + comment on the pre-creation;
- Fixed yellow triangles in point markers example: new drawing command for raw triangles
- Fixed: errata in swift example for scatter series
- Fixed: global angle for AquireRegularPolygonSprite
- Fixed: brush initialization
- Fixed: styling/theming examples
- Fixed: Multi-stack chart: use a projection matrix that doesn’t clip in screen space; gradient texture areaways horizontal ( width x 1 ); gradient texture need clamp sampler; approximate the output to match OpenGL by modulating the alpha of the gradient colors.
- Fixed: columns don’t appear in swift examples due to long* conversion to SCIGenericType
- Fixed SWIFT: heatmap chart example
- Fixed for Metal: crash with logarithmic axis where there were no major ticks
- Fixed: heatmap red spots issue
- Fix for Metal: broken line colors ( fade should be on alpha )
- Fixed for Metal: gaps between lines, new metal shaders, also AA lines should only be fading with Alpha on its edges, this way we can evade the 1.5 hackexp fixes for lines in metal
- Fixed for Metal: spline line examples
- Fixed for Metal: setting wrong screen size to global shader content
- Fixed: the multi-surface example, by making sure the correct width and height are passed down
- Fixed for Metal: ellipses example crash
- Fixed: black screen while app in the background
- Added display link to metalRenderSurface to bring back animations
- Removed obsolete methods on renderSurface Metal
- Multi sampling 4x enabled and 2x multi sampling
- Fixed for Metal: drawing of grid-linesbands with properly savingrestoring matrix state
- Fixed: SetDrawingArea command
- Fixed for Metal: errata in SetClipRct and updated Translate code
- Fixed for Metal: scaling for lines
- Fixed: memory leak in HeatMap chart examples
- Fix for Metal: lines thickness to match with OpenGL
- Fixed: black bar at the bottom (iPhone X)
- Fixed for Metal: Colormap
- SCIOS-792: fixed SCICustomAnnotation can’t be selected; Also improved moving it and scaling using available anchor points
- SCIOS-791: fixed PieDonut series segmentSpacing is ignored
- Fixed for Metal: HeatMap Example
- Fixed for Metal: Using Point Marker example
- Updated forMetal: Xamarin.iOS bindings to work with Metal integration
- Added: new example that shows how to leave rollover on-screen
- Fixed: incorrect type of RenderSurface interface
- Fixed: Custom Legend Placement
- Fixed: updating renderableSeriesAreaBorder / renderableSeriesAreaFill styles on SCIChartSurface
- Fixed: incorrect Call of formatXCursorValue
- SCIOS-609: fixed making one stacked in the group invisible makes the whole group invisible
- SCIOS-712: fixed cursor modifier shouldn’t show labels on hidden axes
- SCIOS-711: fixed ZoomPanModifier shouldn’t trigger inertia if velocity is very low (very gentle swipe)
- Fixed and enabled displaying of ARC -related warnings
- Fixed: crash on “show source code” feature in example demo
- Fixed: Tooltip on RolloverModifier appear outside the Chart area
- Improved: SCIRolloverModifier layout to fit chart bounds whenever it’s possible
- Updated: pen style in Xamarin.iOS
- Added: missing ctor which isn’t inherited from protocol in Xamarin.iOS
- Updated: heatmap examples in Xamarin.iOS
Bug Fixes for Android:
- SC_DROID-654: extended need to draw check in AxisTitleRendererComponent to cover the case when axis title is an empty string;
- SC_DROID-653: fixed incorrect values displayed by axis tooltips in CursorModifier when using custom layout axis layout such as vertically stacked YAxes;
- SC_DROID-652: added handling of the vertical chart for Horizontal/VerticalLineAnnotation;
- Fixed: incorrect work of AnnotationCreationModifier when the chart is vertical
- SC_DROID-649: replaced invalidateElement() on invalidateLayout() when modifying series collection because series affect layout of pie/donut chart
- SC_DROID-650: modified rendering of pie and donut charts – added code which splits arc into two parts to ensure that it will be rendered;
- Fixed missing jar name in path to support-annotations; updated to Android 27; updated instructions;
- Fixed incorrect parameter in scroll() implementation for axis
- SC_DROID-612: fixed incorrect hit test results if xAxis has flipped coordinates – added isCoordinatesSortedAscending() flag for render pass data which is used for findIndex() call with xCoordinates;
- Fixed: wrong ColumnPaletteProvider, when colors changed during scrolling of chart;
- SC_DROID-607: updated AxisTitleRendererComponent to correctly handle RTL title;
- SC_DROID-599: changed LazyGLTexture which should prevent possible NullPointerException in case of any race conditions
- SC_DROID-598: added notification about changes of axis layout when settings axis title orientation and placement;
- SC_DROID-501: refactored AxisTickLabelsRendererComponent to correctly render multiline tick labels;
- Fixed: issue with aapt2-proto library when building a project on new PC where there is no cached version of the library – reordered repositories which are used for downloading dependencies;
- Fixed Tooltip on RolloverModifier appear outside the Chart area
- SC_DROID-596: improved layout of rollover tooltip to prevent clipping of tooltip at the bottom if there is enough space to place it a bit higher;
- SC_DROID-596: refactored VerticalSliceBehaviorBase to allow to override layout of rollover tooltips by creating custom SliceLayout.
Where to get iOS / Android / Xamarin v2.5?
You can get the SciChart iOS/Android/ Xamarin SDK v2.5 from the Downloads page. Source code customers can also get the latest from our Github repository as well as from Cocoapods for iOS, and Maven for Android. We also keep on delivering continuously for bug fixes, features and minor updates to the following package sources.
In addition, our example code is published to Github and is available to clone or download.
Download SciChart iOS/Android / Xamarin v 2.5
Best regards,
SciChart Team
Related Posts