Background Part I
Cloud Graphical Rendering:
Background to Ascender’s Solution
We will contrast the prevailing hardware solution for cloud graphics Fig. 1↓ with Ascender’s software solution Fig 2↓. The pressure to exploit cloud-based technologies is pervasive and ongoing. In parallel with the rise of cloud computing, modern graphic technologies (e.g. Android, IOS, OpenGL) have made it more difficult to implement remote graphics in the cloud. The reasons for these difficulties are manifold, some based on technology, some by design and some on economics. Ascender’s enabling graphical technology addresses all these difficulties and provides an economical solution to modern cloud graphics.
1 Inherent Difficulties of Modern Cloud Graphics
Remote graphics has a long history, starting with legacy graphics systems such as the X11 Window system and Microsoft Window’s GDI. However, trends in modern graphical systems - Android and IOS - challenge remote implementations of these systems.
Figure 1 Server-side Pixel Rendering
1.1 High Frame Rate
Legacy graphics systems work at slow frame rates, on the order of 12 fps. This rate is sufficient to create a perception of apparent continuous movement. Even with slow frame rates, device refresh rate must be on the order of 60 cycles/sec to combat flicker.
Modern graphics systems peg the frame rate to the vsync refresh rate which is about 60 frames per second. Graphic animations are then perceived as if they are physical objects. Scrolling a list has the visual effect similar to the scrolling of a physical piece of paper.
Figure 2 Ascender’s solution
1.2 Consistent Frame Rate
Legacy graphics systems make no attempt to deliver frames at a consistently fixed rate. The perceived visual effect is frequently “jerky”.
Modern graphics systems endeavor to supply a new frame for each display refresh. The Android “Project Butter” was launched to provide a “buttery smooth” user experience. Providing a consistent frame rate (60 fps) linked to the vsync timing is a foremost objective.
1.3 Graphical Effects
Legacy graphics systems have basic GUI elements: buttons, scrolling lists, canvases. Transition between application contexts (panes) are abrupt.
Modern graphics systems are based on physical models. Transition between application contexts are frequently continuous via a touch and sweep paradigm. The graphical rendering technology (i.e. OpenGL) used even in simple GUI’s has more in common with the world of 3D gaming than with the graphical rendering of legacy systems.
Inherent latencies within the cloud are associated with round-trip delays in the underlying network; they can be broken into two components:
- Speed of signal propagation delays: normally constant, the latency is dictated by the length of the physical data path and laws of nature.
- Switching delays: might vary over time because of current network congestion.
These latencies are difficult to remedy. In the first case only, physically lessening the distance to the cloud server will lower the latency, and in the second, only a network infrastructure upgrade will help.
1.5 Display Resolution
Display resolution inexorably increases as shown in Fig. 3↓and Table 1↓. The increasing number of pixels on displays has necessitated a transition from software graphical rendering (Skia on Android) to hardware rendering (OpenGL).
Figure 3 Display Resolution
Table 1 Display Resolution
1.6 Broadband Network Bandwidth
Broadband network availability is variable and the service provided is not uniform. Even with H264 compression, high quality 720p video requires roughly 600 Kbytes/sec or 2.2 GB per hour which frequently strains network resources. Larger resolutions require larger network bandwidths. Even if a network delivers broadband access to a customer, the combined and simultaneous streaming by many users can overwhelm the operator’s network capacity.
Today almost half (49.4%) the peak network capacity of the Internet is consumed by just two sites Netflix and YouTube. Both are streaming compressed video which is appropriate for filmed material. Streaming computer generated content (cloud gaming, remote apps) as filmed material has the potential to use large amounts of network bandwidth with consequential costs. It make sense to optimize the streaming by using more efficient techniques than can be used for filmed video. This is one of the major goals of Ascender’s technology.