主权项 |
1. A method for remotely rendering three-dimensional draw commands generated by an application executed by a virtual machine executing a non-paravirtualized operating system, the method comprising:
allocating, by a hypervisor executing on a first physical computer executing a first virtual machine and a second virtual machine, to a paravirtualized operating system executing on the first virtual machine, direct access to a graphics processing unit of the first physical computer; intercepting, by an agent executing on the second virtual machine, three-dimensional draw commands generated by an application executing on the second virtual machine; receiving, by the agent executing on the second virtual machine, a notification denying the agent access to the graphics processing, the notification including an identification of the first virtual machine that is allocated direct access to the graphics processing unit; redirecting, by the agent executing on the second virtual machine, the intercepted three-dimensional draw commands to a rendering agent executing on the first virtual machine; rendering, by the graphics processing unit responsive to receiving the three-dimensional draw commands from the rendering agent, an image based on the three-dimensional draw commands; forwarding, by the rendering agent executing on the first virtual machine responsive to receiving the rendered image from the graphics processing unit, the rendered image to the agent executing on the second virtual machine that intercepted the three-dimensional draw commands generated by the application; and transmitting, from the second virtual machine responsive to receiving the rendered image from the rendering agent executing on the first virtual machine, the rendered image to a second physical computer over a communication channel established between the first physical computer and the second physical computer. |