140 likes | 163 Views
Optimizing your ArcGIS Runtime Apps for Performance. Dan O’Neill Gagandeep Singh Jen Trieu. Agenda. What is the ArcGIS Runtime? Determine your app/map pattern Dynamic vs static rendering of graphics Data consideration Tips and tricks. ArcGIS Runtime Rendering Engine. .NET. Java.
E N D
Optimizing your ArcGIS Runtime Apps for Performance Dan O’Neill Gagandeep Singh Jen Trieu
Agenda • What is the ArcGIS Runtime? • Determine your app/map pattern • Dynamic vs static rendering of graphics • Data consideration • Tips and tricks
ArcGIS Runtime Rendering Engine .NET Java Android Qt Objective C What you do Here APIs JNI .NET Interop Runtime Core Runtime Core Hardware Abstraction Layer Affects what Happens here Rendering Engine DirectX 11 DirectX 9 OpenGL ES OpenGL OpenGL ARB
Rendering mode • Static • Tiled Layer, Dynamic Map Service Layer, Feature Layer, Graphics Layer/Overlay (option) • Textures are rendered on GPU • Dynamic • Graphics Layer/Overlay (option), Labels, GPS Layer • Symbols are converted to textures • Geometries are converted to triangles and texturized at render time
Static Rendering Mode For Graphics GPU Memory System Memory • Rendering primarily done through CPU • Designed for cartographic quality • Whole graphic is rendered as a path • Scales up well • Can be system memory intensive • Can drain your battery • Updates to graphic require a redraws of the image • View changes require full or partial updated to image
Demo Static Rendering Mode
Dynamic Rendering Mode For Graphics System Memory GPU Memory • Entire graphic representation lives on the GPU • Some graphic changes can be applied directly to the GPU state • For example moving or animating • Number and complexity of graphics can impact GPU resources • Symbology could look a little different • Performance is the priority
Demo Dynamic Rendering Mode
Static vs Dynamic Rendering Mode Summary • Static Mode • Designed for cartographic quality • Only regenerate textures when we need to • Increasing or decreasing the number of graphics within a layer does not affect number of textures on the GPU • Dynamic Mode • Entire graphic representation lives on the GPU • No CPU update required when panning, zooming, or rotating the map • Some graphic changes can be applied directly to the GPU state • Graphics can remain screen aligned while map is rotating
Demo Raster vs Vector
Demo Online vs Offline