It describes a kind of "Virtual Display" setup that is frequently mentioned in some programming environments.
Therefore, perhaps, it deserves to be described separately? To be discussed. For now a placeholder with the relevant parts moved from Display Sharing type 2 to here:
- Full display transfer, often by encoding it as a video stream from one system to another. On the receiving side the content is treated as complete screen content. For disambiguating this with "Surface Sharing", see below.
Virtual Display vs. Surface sharing:
This distinction is not 100% precise, and there are likely systems out there that could be considered somewhat hybrid in nature. Here is how we consider Surface & Display sharing different:
- Surface Sharing - Bitmap transfer of a partial HMI (for example the output of one application, or otherwise a part of the final screen content). It is assumed that the receiving side will decide how the surface is used and placed into the main HMI. In other words, there is a "compositor" combining the received surface with other content before it is rendered to the screen.
- Virtual Display - Bitmap transfer representing the entire screen area (for a display or function). On the receiving side the content is treated as complete screen content, is not transformed significantly, and is not included as a combination of other graphics. On the sending side, application content is composited towards a display. All APIs are generally transparent, in other words applications need not change their behavior significantly because the display is "virtual". However, note that the virtual display may represent a layer in a final composition made up of layering complete screen areas "on top of" each other. For example the virtual display may contain the screen area for navigation turns or current audio playback track/album between the dials of a larger cluster physical display. The sender could composite the various parts of the navigation screen together at the correct resolution and send it. The receiver could receive the sent surface into a layer which is then composited into the cluster display.
It is clear that there may be some other variations when it becomes difficult to fully differentiate between for example Surface Sharing and Virtual Display. In such cases we would recommend calling it Surface Sharing. In the end the result matters more than the definition, of course.