Optimizing your ArcGIS Runtime Apps for...

Preview:

Citation preview

Optimizing your ArcGIS Runtime Apps for Performance

Dan O’NeillGagandeep 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

Runtime Core

JNI

.NET JavaQt Objective C

Android

Hardware Abstraction Layer

DirectX 11 DirectX 9 OpenGLOpenGL ES OpenGL ARB

APIs

Runtime Core

Rendering Engine

.NET Interop

What you doHere

Affects whatHappens here

Map vs Map-less Apps

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

• 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

System Memory GPUMemory

DemoStatic Rendering Mode

Dynamic Rendering Mode For Graphics

• 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

System Memory GPU Memory

DemoDynamic 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

Data consideration

DemoRaster vs Vector

DemoOnline vs Offline

Tips and tricks

Recommended