.. _Performance:

Performance
====================================================================

Playback performance depends on three bottlenecks (in order of
significance): network quality, client load, and server load.  In this
section we talk about each of these and how to determine which
bottleneck requires attention.

Network Quality
--------------------------------------------------------------------

Network quality can be measured as a combination of latency,
throughput, and stability.  When determining network quality, you may
want to run the ICE RemoteWare™ software on its own to guarantee that other
applications or clients are not consuming large amounts of network
resources at the same time.

Latency between the client and server can be measured using ``ping``
times.  Acceptable latency depends on the applications being used.
CAD users, for example, may find ping times up to 150 ms to be quite
usable and 300 ms to be usable for sporadic use.  Testing and
demoing of applications like Google Earth are typically over 802.11g
connections with ping times of 30-80 ms.

When running fullscreen animations at 1440x900, the ICE RemoteWare software has a
typical throughput consumption of 4 Mbps.  Throughput consumption
drops dramatically when pixels on the screen do not change.  We
conservatively recommend 5.5 Mbps.  This is typically not a bottleneck
for the ICE RemoteWare software since it's common for clients and servers to have more
than 4 Mbps of bandwidth, but it is still worth remembering.

Client Load
--------------------------------------------------------------------

Decoding is largely dependent on the web browser implementation and
the CPU performance of the client.  We recommend using Chrome as it
performs best with ICE RemoteWare in testing.

CPU performance depends on the hardware and the load on the system.
We test on modern CPUs such as the multi-core Intel i5s and i7s from
2011 and later.  When evaluating playback performance, verify that
other applications are not also consuming large amounts of CPU time.

Decreasing screen resolution on the server-side is another option for
reducing load on the client.  While we recommend 1600x900, users may
find that 1280x720 offers a better overall experience.

If you are running the non-WebGL version of the ICE RemoteWare software, performance
is expected to be considerably slower (depending on the CPU).
Lowering the remote server's screen resolution and using Chrome is
strongly recommended in this case.

Server Load
--------------------------------------------------------------------

In our tests, a server forwarding a 1080p video with audio enabled
typically uses between 50% to 85% of a single Intel Xeon E5 2.1GHz
core from 2012.  We recommend running with at least two cores for a
single-display system.

Further Help
--------------------------------------------------------------------

If you have additional questions about performance, please
contact Penguin Solutions at support@penguinsolutions.com.
