Four key topics for optimising OrgVue performance

Optimising OrgVue performance can be considered in relation to four topics as detailed below, namely: Infrastructure; Tenant; Dataset; Property.

Note many of these topics have their own associated detailed article; use the knowedgebase's inbuilt Search functionality on key terms for more detail if required


Case Example

A client using a tenant containing 5 datasets each with approximately 9000 nodes and 68 properties, plus 10 pinned reports, was observed to take up to one minute to load a dataset: this is far from OrgVue’s upper data storage limit and warranted further investigation.

A vast number of variables can affect OrgVue’s performance from the power of your PC right down to the format of individual properties.

The challenge was to speed up the performance of the tenant so that our client can demo the OrgVue dataset during workshops with managers from across the business. The ability to model changes live and quickly measure the impact was critical and therefore relying on static PowerPoint slides was not an option.

After checking the points below and implementing a number of changes the dataset loading time was reduced to just 20 seconds.


  1. Infrastructure Optimisation




Working with big datasets is slow on a PC with low RAM

Use a PC with an absolute minimum of 4GB RAM (ideally at least 8GB)

OrgVue will perform better with more memory available

OrgVue is slow or crashes when many other applications are running on your PC

Minimise the number of other applications open on your PC.

This will maximise the amount of free memory

OrgVue is slow or crashes when running on a browser with many plugins

Disable all plugins which you don’t need. This article explains how to disable plugins on any browser:

Certain plugins e.g. Skype can slow browsers down

A warning ‘Low memory’ appears in the top left of your screen when using Internet Explorer.

Save your work then hold the Ctrl key down and click the Reload button top right of the OrgVue screen. This may remove the warning. (This clears the Flash Player cache.)

If it doesn't, after saving your work, close the browser and start a new OrgVue session. Before opening any dataset or report, hold the Ctrl key down and click the Reload button.

Ideally use Firefox as your browser instead.

IE imposes an upper memory limit of 1.5GB. If this is exceeded IE will suspend or crash Flash Player. Firefox runs Flash Player as a separate process so it performs better in low memory environments

OrgVue is running slowly whilst using an old version of Adobe Flash Player

Right click anywhere in OrgVue workspace. The bottom option in the list will say ‘About Adobe Flash Player XX.X.X.XX’. The numbers at the end are the version number. We recommend you access this link to check for latest versions - Adobe provide a list of available versions and point you at an update if one is available

OrgVue runs Adobe Flash Player and its performance is optimised in line with the latest release.

Data will not copy to the clipboard when importing/exporting.

Run OrgVue from a Firefox browser instead of Chrome

Chrome places a size limit of 1MB on what can be copied

Any or all of the above

Clear the browser's Flash cache by holding the Ctrl key down and left clicking on the 'Reload data' button top right of the OrgVue screen

Clearing the Flash cache frees up space.


  1. Tenant Optimisation




The tenant is slow to load after entering your login information.

Reduce the number of datasets (including links and reports) by deleting old and unnecessary datasets.

Tenant performance is a function of the number of datasets

A tenant containing many pinned reports is slow to load.

Use paging instead of filtering to pin the same report for multiple subsets of the data.

This allow you to pin just one report with multiple pages (instead of many reports each with a different filter). The fewer reports, the quicker the tenant will be to load.

A tenant containing many look up datasets is slow to load

Combine lookup datasets so that no two lookups share the same Unique ID.

Lookup datasets cause the tenant to perform more slowly, therefore minimise the number where possible. The size and shape of a lookup table also affects this: the ideal lookup dataset should have few properties and many nodes.

Custom colours are required in many datasets in the tenant.

Add new custom colour palettes to the tenant rather than individual datasets

The custom colours will be available for all datasets, branches and reports by only adding one script


  1. Dataset Optimisation




Datasets are slow to load and re-load

Reduce the number of properties in the dataset i.e. delete unnecessary columns


The speed of a dataset loading is a function of the number of columns

Filter is slow to update

Filter on the least granular property possible. Avoid filtering on e.g. name or employee ID. Instead use properties with fewer categories.

The speed of applying filters is a function of the number of cells

A dataset with many expressions is slow to load

Use ‘settemporary’ to return many values from a single script. How to:

Only one expression is calculated for each node but results are returned to multiple properties.

Dataset refresh is slow when colouring by ‘passthrough’

Add new custom colour palettes to the tenant rather than individual datasets. Order the colour codes in the order you want them to be used.

The custom colours will be available for all datasets, branches and reports by only adding one script.

An evaluated property includes calculations on other evaluated properties

Consolidate the calculation into just one property

OrgVue will only have to re-calculate one column and won’t get stuck if the order of the properties changes.


  1. Property Optimisation




Lookup properties take a long time to load

Do not ‘restrict to lookup’ unless necessary

OrgVue will slow down as is checks each cell's value against the lookup values

Not all nodes are calculating according to the expression in the property value box

Use ‘Fixed value’ mode. To find all evaluated properties use ‘isevaluated:true’ in the property pane

All nodes return this value, regardless of anything else entered in the cells.

Expressions are re-evaluated on every reload of the data

Use ‘On demand’ mode.

Expressions will only re-evaluate when instructed to.

Many expressions have been pasted in individual cells.

Store expressions in the property value box

Expressions stored in individual cells must be compiled for each node. In the property value box it only needs to be compiled once

An expression is being used for a property which once calculated should be static

Use ‘!!*’ to splash values

By splashing the value it will be hardcoded.

Arithmetic expressions are slow to calculate

Use node.math()

For further details, please refer to the Gizmo Cookbook

This uses fewer ‘.’s than alternatives and so is quicker to evaluate

Concatenation expressions are slow to load

Use node.format()

For further details, please refer to the Gizmo Cookbook

More efficient than ‘join’ as it uses fewer ‘.’s

An expression references the same property multiple times

Assign a property as a variable if you need to reference it more than once in an expression. In order to create/define variables you have to use the word var ​ at the beginning of an expression, and then add the definition of the variable.

By assigning the variable at the start of the expression the rest of the expression is more efficient.

A property is slow to re-calculate, there are different options for which expression to use but you don’t know which one will be quickest.

Test the speed of multiple expressions using:

()=>{function2}, …)

Debug.time returns a series of box and whisker plots allowing you to see the speed and variability in evaluation time.


Addendum: Troubleshooting

Although this will not of itself resolve underlying problems with load times, if you believe potentially underlying expressions are the source, there is a safe mode such that expressions are not evaluated, so if expressions are the problem you will see a marked performance difference on load

If there is a visible change in performance, the next step in the first instance would be to review those that contain nodes() or node.d

It is possible to identify evaluated properties by using


as a search option in the left hand property pane. Like this : -

Otherwise, information in the above article's detail is the best guide to resolutions.






This article was authored by Miranda Copps from the OrgVue consulting team.

Have more questions? Submit a request