Skip to content

Commit

Permalink
Merge pull request #32 from keirthana/update-diagrams
Browse files Browse the repository at this point in the history
Update diagrams
  • Loading branch information
keirthana authored Feb 1, 2024
2 parents 1c040ed + b533b1e commit 7772e16
Show file tree
Hide file tree
Showing 8 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion explanation/application-streaming.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Each component of the stack plays a specific role:

The following illustration shows how the Streaming Stack components interact with each other when creating a new streaming session:

![Streaming stack sequence|2400x1350](https://assets.ubuntu.com/v1/e38476fe-application_streaming-stack.png)
![Streaming stack sequence|2400x1350](https://assets.ubuntu.com/v1/a14d6ead-application_streaming_stack.png)

## Streaming an Application

Expand Down
4 changes: 2 additions & 2 deletions explanation/rendering-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ For communication between the hardware composer module on the Android side and A

### For NVIDIA

![Anbox Cloud NVIDIA pipeline|690x440](https://assets.ubuntu.com/v1/c277dade-NVIDIA_pipeline_updated.png)
![Anbox Cloud NVIDIA pipeline|690x440](https://assets.ubuntu.com/v1/73881ec7-NVIDIA_pipeline_updated.png)

For NVIDIA, as we cannot use the NVIDIA driver inside the Android container because of compatibility issues, we use the Enterprise Ready NVIDIA driver that is available on every Ubuntu installation. Instead, we have an Anbox Cloud GPU driver which is a standard OpenGL ES or EGL driver that receives the API calls and converts them to remote procedure calls to the NVIDIA driver. The actual rendering and actions on the NVIDIA driver happens on the Anbox runtime side inside the Ubuntu instance and not in the Android space.

In terms of performance, this could be perceived to have some transmission overhead when compared to the rendering on Intel and AMD GPUs. However, Anbox Cloud is optimised to keep this overhead minimal and the additional overhead due to the transmission of OpenGL ES calls from the Android space to Anbox runtime is not significant enough to affect most use cases.

### For Intel and AMD

![Anbox Cloud Intel and AMD pipeline|690x440](https://assets.ubuntu.com/v1/9d189689-Intel_AMD_pipeline_updated.png)
![Anbox Cloud Intel and AMD pipeline|690x440](https://assets.ubuntu.com/v1/70d97e49-Intel_AMD_pipeline_updated.png)

For AMD and Intel GPUs, Anbox Cloud uses Vulkan as API in the Android space and we use ANGLE on top of Vulkan to circumvent OpenGL ES and EGL. Since the Mesa driver (vendor GPU driver) is available directly in the Android space, we do not have the overhead of the remote procedure call implementation as in the pipeline for NVIDIA.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
File renamed without changes
Binary file added images/application_streaming_stack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7772e16

Please sign in to comment.