14
Optimizing your ArcGIS Runtime Apps for Performance Dan O’Neill Gagandeep Singh Jen Trieu

Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

  • Upload
    vandieu

  • View
    280

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

Optimizing your ArcGIS Runtime Apps for Performance

Dan O’NeillGagandeep Singh

Jen Trieu

Page 2: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

Agenda

• What is the ArcGIS Runtime?• Determine your app/map pattern• Dynamic vs static rendering of graphics • Data consideration• Tips and tricks

Page 3: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

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

Page 4: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

Map vs Map-less Apps

Page 5: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

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

Page 6: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

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

Page 7: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

DemoStatic Rendering Mode

Page 8: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

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

Page 9: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

DemoDynamic Rendering Mode

Page 10: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

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

Page 11: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

Data consideration

Page 12: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

DemoRaster vs Vector

Page 13: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

DemoOnline vs Offline

Page 14: Optimizing your ArcGIS Runtime Apps for …proceedings.esri.com/library/userconf/proc16/tech-workshops/tw...Optimizing your ArcGIS Runtime Apps for Performance. ... Graphics Layer/Overlay

Tips and tricks