CN112596852A - Graph display method, device and system, electronic equipment and storage medium - Google Patents

Graph display method, device and system, electronic equipment and storage medium Download PDF

Info

Publication number
CN112596852A
CN112596852A CN202011446470.2A CN202011446470A CN112596852A CN 112596852 A CN112596852 A CN 112596852A CN 202011446470 A CN202011446470 A CN 202011446470A CN 112596852 A CN112596852 A CN 112596852A
Authority
CN
China
Prior art keywords
target
graphics
dimensional
graph
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011446470.2A
Other languages
Chinese (zh)
Inventor
单康杰
葛春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Kunjingyun Co Ltd
Original Assignee
Shanghai Kunjingyun Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Kunjingyun Co Ltd filed Critical Shanghai Kunjingyun Co Ltd
Priority to CN202011446470.2A priority Critical patent/CN112596852A/en
Publication of CN112596852A publication Critical patent/CN112596852A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The application provides a graph display method, a device, a system, an electronic device and a storage medium, wherein the method comprises the following steps: receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request; forwarding the graphic rendering instruction to a display card of the server by utilizing a redirection technology so that the display card renders the target three-dimensional graphic according to the graphic rendering instruction; and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph. According to the scheme of the embodiment of the application, the phenomenon of network delay caused by sending a large number of graphic rendering instructions and target three-dimensional graphics to the client is avoided to a certain extent, the rendering efficiency of the target three-dimensional graphics is improved, and the display efficiency of the target three-dimensional graphics is further improved.

Description

Graph display method, device and system, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a system, an electronic device, and a storage medium for displaying a graphic.
Background
The virtualization technology is mainly used for virtualizing physical resources of a physical machine into a virtual machine, so that the virtual machine realizes functions of the physical machine. With the development of virtualization technology, people have stronger and stronger requirements on the three-dimensional graphic display capability of a virtual machine.
However, the hardware of the virtual machine is virtually simulated, and an operating system running in the virtual machine is not supported by three-dimensional hardware, so that the virtual desktop of the virtual machine does not support three-dimensional software under the default condition.
Currently, there are two main ways to realize three-dimensional graphic display of a virtual machine: one is that physical three-dimensional hardware is directly allocated to a virtual machine for use, and rendering is performed through the virtual machine, and special three-dimensional hardware is needed in the method; the other method is to send the graphics rendering instructions and the three-dimensional graphics to a client through a network for rendering, and the method has high requirements on network performance.
Disclosure of Invention
In view of the above, an object of the present application is to provide a method, an apparatus, a system, an electronic device and a storage medium for displaying graphics, so as to improve the efficiency of displaying graphics.
In a first aspect, an embodiment of the present application provides a method for displaying a graph, including:
receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
forwarding the graphics rendering instruction to a display card of a server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction;
and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
With reference to the first aspect, an embodiment of the present application provides a first possible implementation manner of the first aspect, where sending the target three-dimensional graph rendered by the graphics card to the client, so that the client displays the target three-dimensional graph, includes:
and sending the target three-dimensional graph rendered by the display card to the client by using a VNC communication protocol so as to enable the client to display the target three-dimensional graph.
With reference to the first possible implementation manner of the first aspect, an embodiment of the present application provides a second possible implementation manner of the first aspect, where the forwarding, by using a redirection technology, the graphics rendering instruction to a graphics card of a server, so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction, including:
and redirecting the graphic rendering instruction to a display card of a server by using a 3D control accelerator so that the display card renders the target three-dimensional graphic according to the graphic rendering instruction.
With reference to the first possible implementation manner of the first aspect, an embodiment of the present application provides a third possible implementation manner of the first aspect, where before receiving a graphics view request sent by a client connected to a target virtual machine, the method further includes:
receiving a virtual machine starting request sent by a client; the virtual machine starting request carries identity information of a target virtual machine;
and starting the target virtual machine by using a 3D acceleration controller according to the identity information of the target virtual machine.
With reference to the second possible implementation manner of the first aspect, an embodiment of the present application provides a fourth possible implementation manner of the first aspect, where the forwarding, by using a redirection technology, the graphics rendering instruction to a graphics card of a server, so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction, including:
storing the target three-dimensional graph in a pixel buffer area established in advance;
and redirecting the graphics rendering instruction to a display card of a server by using a 3D control accelerator, so that the display card renders the target three-dimensional graphics stored in the pixel buffer area according to the graphics rendering instruction.
In a second aspect, an embodiment of the present application further provides a graphic display device, including:
the first receiving module is used for receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
the forwarding module is used for forwarding the graphics rendering instruction to a display card of a server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction;
and the sending module is used for sending the target three-dimensional graph rendered by the display card to the client so as to enable the client to display the target three-dimensional graph.
With reference to the second aspect, an embodiment of the present application provides a first possible implementation manner of the second aspect, where the sending module is specifically configured to send, by using a VNC communication protocol, the target three-dimensional graphics rendered by the graphics card to the client, so that the client displays the target three-dimensional graphics.
In a third aspect, an embodiment of the present application further provides a graphics display system, including a server and a client, where the server is installed with a target virtual machine and a redirection module; the target virtual machine is connected with the client;
the target virtual machine is used for receiving a graph viewing request sent by the client; the graph viewing request carries a target three-dimensional graph; determining a graphic rendering instruction according to the graphic viewing request;
the redirection module is used for forwarding the graphics rendering instruction to a display card of the server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction; and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
In a fourth aspect, an embodiment of the present application further provides an electronic device, including: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating via the bus when the electronic device is running, the machine-readable instructions when executed by the processor performing the steps of the first aspect described above, or any possible implementation of the first aspect.
In a fifth aspect, this application further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to perform the steps in the first aspect or any one of the possible implementation manners of the first aspect.
The graphic display method provided by the embodiment of the application comprises the steps of firstly receiving a graphic viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request; then, the graphics rendering instruction is forwarded to a display card of the server by utilizing a redirection technology, so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction; and finally, sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph. According to the scheme of the embodiment of the application, the graphics rendering instruction determined by the target virtual machine is redirected to the display card of the server by utilizing the redirection technology, so that the target three-dimensional graphics are directly rendered on the display card, the phenomenon of network delay caused by sending a large number of graphics rendering instructions and the target three-dimensional graphics to the client side is avoided to a certain extent, the rendering efficiency of the target three-dimensional graphics is improved, and the display efficiency of the target three-dimensional graphics is further improved.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
FIG. 1 is a flow chart illustrating a first method for graphical display provided by an embodiment of the present application;
FIG. 2 is a flow chart illustrating a second method for graphical display provided by an embodiment of the present application;
FIG. 3 is a schematic diagram illustrating a graphical display device according to an embodiment of the present disclosure;
fig. 4 shows a schematic structural diagram of an electronic device provided in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
In the existing graphics display mode, aiming at directly allocating physical three-dimensional hardware to a virtual machine for use, a rendering mode through the virtual machine needs support of special hardware, and is not suitable for all three-dimensional graphics display scenes. Aiming at the mode of sending the graphic rendering instruction and the three-dimensional graphics to the client through the network for rendering, when the data volume of the graphic rendering instruction and the three-dimensional graphics is large, the transmission rate of the network is influenced, and the display efficiency of the graphics is influenced. Based on this, embodiments of the present application provide a method, an apparatus, a system, an electronic device, and a storage medium for displaying a graphic, which are described below by way of embodiments.
To facilitate understanding of the present embodiment, a detailed description will be given of a graphic display method disclosed in the embodiments of the present application. The first graphic display method shown in fig. 1 includes the following steps:
s101: receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
s102: forwarding the graphic rendering instruction to a display card of the server by utilizing a redirection technology so that the display card renders the target three-dimensional graphic according to the graphic rendering instruction;
s103: and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
By the graphic display method, the graphic rendering instruction determined by the target virtual machine can be redirected to the display card of the server, so that the target three-dimensional graphic is directly rendered on the display card, a phenomenon of network delay caused by sending a large number of graphic rendering instructions and the target three-dimensional graphic to the client side is avoided to a certain extent, the rendering efficiency of the three-dimensional graphic is improved, and the display efficiency of the target three-dimensional graphic is further improved.
In step S101, the virtual machine refers to a virtual desktop operating system, and may specifically be a cloud desktop operating system. When the client is connected with the virtual machine, the virtual machine can provide a virtual operating environment for the client, and the system operated by the user can be a remote desktop operating system.
When a user opens a virtual machine login interface of a client, the login interface can display a virtual machine account list, and a plurality of virtual machines can be arranged under the virtual machine account list. The target virtual machine may refer to the virtual machine to which the user has selected to connect.
In the embodiment of the present application, the client may be connected to the target virtual machine using any feasible communication protocol, and the system running by the target virtual machine may be any feasible system (for example, Linux operating system, Windows7 operating system, Windows10 operating system, etc.). Here, the client may connect the target Virtual machine using a VNC (Virtual Network Computing) communication protocol, for example.
After a user performs a viewing operation for a target three-dimensional graph in an application program operated by a client, the client can send a graph viewing request carrying the target three-dimensional graph to a server, and a target virtual machine in the server can determine a graph rendering instruction corresponding to the target three-dimensional graph according to the graph viewing request.
Specifically, OpenGL (Open Graphics Library) may be run in the target virtual machine, and the user may perform a viewing operation on a target three-dimensional graph in OpenGL, where the graph rendering instruction is an OpenGL instruction.
In general, a virtual machine may have corresponding hardware, but the hardware of the virtual machine is general-purpose hardware which is virtually simulated, and only the most basic simulation is performed on a graphics card, that is, the hardware is simulated, rather than physical hardware. Therefore, under the virtual operating environment of the virtual machine, the rendering of the target three-dimensional graphics cannot be realized. In order to realize the rendering of the target three-dimensional graph, the virtual machine sends the graph rendering instruction and the corresponding target three-dimensional graph to the client according to the graph viewing request, so that the physical display card of the client renders the target three-dimensional graph, and when the data volume forwarded to the client is large, the network transmission efficiency may be influenced.
In the present application, in order to prevent the target virtual machine from sending the graphics rendering instruction to the client, step S101 is performed, and step S102 is performed.
In step S102, the system of the server is a Linux operating system, and the graphics card of the server is a physical graphics card, where the graphics rendering instruction may be redirected and forwarded to the graphics card of the server by using a redirection technology.
In one possible implementation, the 3D acceleration controller may be used to redirect the graphics rendering instructions to a graphics card of the server, so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instructions.
For example, for a Linux hosting server, the 3D acceleration controller redirects graphics rendering instructions to the graphics card of the server using a redirection technique Linux OpenGL Hook.
In a possible implementation, when step S102 is executed, the following steps may be executed:
s1021: storing the target three-dimensional graph in a pixel buffer area established in advance;
s1022: and redirecting the graphic rendering instruction to a display card of the server by using the 3D control accelerator so that the display card renders the target three-dimensional graphics stored in the pixel buffer area according to the graphic rendering instruction.
In an implementation of S1021-S1022, the 3D control accelerator may pre-establish an invisible pixel buffer area when running the application program, and the target three-dimensional graphic is stored in the pre-established pixel buffer area.
After the 3D control accelerator redirects the graphic rendering instruction to the display card of the server, the pixel buffer area can quickly transmit the target three-dimensional graphic to the display card, so that the display card renders the target three-dimensional graphic stored in the pixel buffer area according to the graphic rendering instruction, and the rendering efficiency of the target three-dimensional graphic is improved.
In a possible implementation manner, before receiving a graphics viewing request carrying a target three-dimensional graphics sent by a client connected to a target virtual machine, the method further includes:
s201: receiving a virtual machine starting request sent by a client; the virtual machine starting request carries identity information of a target virtual machine;
s202: and starting the target virtual machine by using the 3D acceleration controller according to the identity information of the target virtual machine.
In step S201, here, the identity information of the target virtual machine may be account information. After the user selects the target virtual machine, the user can execute click operation on the target virtual machine, the client can send a virtual machine starting request to the remote desktop controller in the server, the remote desktop controller can start remote control, and the 3D acceleration controller is informed to enter a target virtual machine starting process.
In step S202, in the started VNC session (i.e., vnssesion 1), the 3D acceleration controller starts the target virtual machine using the component VirtualGL.
When step S103 is executed, the display card of the server renders all the target three-dimensional graphics, and then sends the rendered target three-dimensional graphics to the client.
Generally, the target three-dimensional graphics received by the client are all in mjpeg (motion Joint Photographic Experts group) format, and the target three-dimensional graphics can be directly displayed on the client after being decoded by software or hardware.
In one possible implementation, the VNC communication protocol may be utilized to send the target three-dimensional graphics rendered by the graphics card to the client.
In a possible implementation manner, the graphics card may forward the rendered target three-dimensional graphics to the 3D acceleration controller, and the 3D acceleration controller sends the target three-dimensional graphics to the client.
The following takes a server using a VNC communication protocol and a Linux system as an example, and specifically introduces a graph display method provided in the embodiment of the present application, such as a flowchart of a second graph display method shown in fig. 2.
Step 1: the client sends a request for starting a target virtual machine to a remote desktop controller in the server;
the virtual machine refers to a virtual desktop operating system running on a server, and specifically may be a cloud desktop operating system. When the client is connected with the virtual machine, the virtual machine running on the server can provide a virtual operating environment for the client, so that a user operates a remote desktop operating system.
When a user opens a virtual machine login interface of a client, the login interface can display a virtual machine account list, and a plurality of virtual machines can be arranged under the virtual machine account list. The target virtual machine may refer to the virtual machine to which the user has selected to connect.
After the user selects the target Virtual machine, the client sends a request for starting the target Virtual machine to a remote desktop controller in the server through a VNC (Virtual Network Computing) communication protocol.
Step 2: the remote desktop controller starts remote control on the server and informs a 3D acceleration controller in the server to start a target virtual machine;
here, the remote control is vnserver, the graphical interface server inside the server shows that the interface x server display defaults to D0 (environment with 3D graphics card drive), and the session of the VNC started here (vnsession 1) assumes that the x server display is D1. Here D0 and D1 are numbers of the graphical interface server presentation interface x server display. In different sessions, the Linux system has an independent x server, and the display code represents different x servers.
And step 3: starting a target virtual machine by the 3D acceleration controller;
in the session (vnsession 1), the 3D acceleration controller starts the virtual machine using the component VirtualGL.
And 4, step 4: a client sends a graph checking request carrying a target three-dimensional graph to a server;
the target virtual machine may run OpenGL (Open Graphics Library), and after a user performs a viewing operation for a target three-dimensional graph in the OpenGL, the client sends a graph viewing request carrying the target three-dimensional graph to the server.
And 5: a target virtual machine in the server determines a graphic rendering instruction corresponding to a target three-dimensional graphic according to the graphic viewing request;
the graphics rendering instruction is an OpenGL instruction.
And the target virtual machine sends the OpenGL instruction and the corresponding target three-dimensional graph to the client according to the graph viewing request so that the physical display card of the client renders the target three-dimensional graph. To prevent the target virtual machine from sending graphics rendering instructions to the client, step 6 is therefore performed.
Step 6: intercepting a graphics rendering instruction in a target virtual machine by a 3D acceleration controller;
and 7: the 3D acceleration controller forwards the intercepted graphics rendering instruction to a display card of the server;
the 3D acceleration controller may redirect the OpenGL instruction to the graphics card of the server using a redirection technology Linux OpenGL Hook, and forward the OpenGL instruction to the graphics card of the server.
And 8: the display card renders the target three-dimensional graph according to the graph rendering instruction;
when running an application, the 3D control accelerator may pre-establish an invisible pixel buffer where the target three-dimensional graphic is stored.
After the 3D control accelerator redirects the graphic rendering instruction to the display card of the server, the pixel buffer area can quickly transmit the target three-dimensional graphic to the display card, so that the display card renders the target three-dimensional graphic stored in the pixel buffer area according to the graphic rendering instruction, and the rendering efficiency of the target three-dimensional graphic is improved.
And step 9: the display card outputs the rendered target three-dimensional graph to a remote desktop controller;
step 10: the remote desktop controller sends the rendered target three-dimensional graph to the client;
step 11: and the client displays the target three-dimensional graph and continues to execute the step 4.
The target three-dimensional graphics received by the client are all in a MJPEG (motion Joint Photographic Experts group) format, and the target three-dimensional graphics can be directly displayed on the client after being decoded by software or hardware.
Based on the same technical concept, embodiments of the present application further provide a graphic display device, a system, an electronic device, a computer-readable storage medium, and the like, and refer to the following embodiments in detail.
Fig. 3 is a block diagram illustrating a graphic display apparatus according to some embodiments of the present application, which implements functions corresponding to the above-described steps of performing a graphic display method on a terminal device. The apparatus may be understood as a component of a server including a processor, which is capable of implementing the above-described graphic display method, as shown in fig. 3, the graphic display apparatus may include:
a first receiving module 301, configured to receive a graph viewing request sent by a client connected to a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
a forwarding module 302, configured to forward the graphics rendering instruction to a graphics card of a server by using a redirection technology, so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction;
a sending module 303, configured to send the target three-dimensional graph rendered by the display card to the client, so that the client displays the target three-dimensional graph.
In a possible implementation manner, the sending module 303 is specifically configured to send the target three-dimensional graphics rendered by the graphics card to the client by using a VNC communication protocol, so that the client displays the target three-dimensional graphics.
In a possible implementation manner, the forwarding module is specifically configured to redirect the graphics rendering instruction to a graphics card of a server by using a 3D control accelerator, so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction.
In one possible embodiment, the graphic display device further includes:
the second receiving module is used for receiving a virtual machine starting request sent by the client; the virtual machine starting request carries identity information of a target virtual machine;
and the starting module is used for starting the target virtual machine by using the 3D acceleration controller according to the identity information of the target virtual machine.
In a possible implementation, the forwarding module 302 includes:
the storage module is used for storing the target three-dimensional graph in a pixel buffer area which is established in advance;
and the redirection module is used for redirecting the graphics rendering instruction to a display card of a server by using a 3D control accelerator so that the display card renders the target three-dimensional graphics stored in the pixel buffer area according to the graphics rendering instruction.
Some embodiments of the present application further provide a graphical display system, comprising a server and a client, the server being equipped with a target virtual machine and a redirection module; the target virtual machine is connected with the client;
the target virtual machine is used for receiving a graph viewing request sent by the client; the graph viewing request carries a target three-dimensional graph; determining a graphic rendering instruction according to the graphic viewing request;
the redirection module is used for forwarding the graphics rendering instruction to a display card of the server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction; and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
As shown in fig. 4, which is a schematic structural diagram of an electronic device provided in an embodiment of the present application, the electronic device includes: a processor 401, a memory 402, and a bus 403, the memory 402 storing instructions for execution, when the electronic device is operating, the processor 401 and the memory 402 communicating via the bus 403,
in an embodiment of the present application, the processor 401, by calling a program or instructions stored in the memory 402, is configured to:
receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
forwarding the graphics rendering instruction to a display card of a server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction;
and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
In a possible implementation manner, the processor 401, when performing the step of sending the target three-dimensional graphics rendered by the graphics card to the client, so that the client displays the target three-dimensional graphics, is specifically configured to: and sending the target three-dimensional graph rendered by the display card to the client by using a VNC communication protocol so as to enable the client to display the target three-dimensional graph.
In a possible implementation manner, the processor 401, when performing the step of forwarding the graphics rendering instruction to the graphics card of the server by using a redirection technology, so that the graphics card is specifically configured to, when rendering the target three-dimensional graphics according to the graphics rendering instruction: and redirecting the graphic rendering instruction to a display card of a server by using a 3D control accelerator so that the display card renders the target three-dimensional graphic according to the graphic rendering instruction.
In one possible embodiment, the processor 401, before performing the step of receiving a graphics view request sent by a client connected to the target virtual machine, is further configured to: receiving a virtual machine starting request sent by a client; the virtual machine starting request carries identity information of a target virtual machine;
and starting the target virtual machine by using a 3D acceleration controller according to the identity information of the target virtual machine.
In a possible implementation manner, the processor 401, when performing the step of forwarding the graphics rendering instruction to the graphics card of the server by using a redirection technology, so that the graphics card is specifically configured to, when rendering the target three-dimensional graphics according to the graphics rendering instruction: storing the target three-dimensional graph in a pixel buffer area established in advance;
and redirecting the graphics rendering instruction to a display card of a server by using a 3D control accelerator, so that the display card renders the target three-dimensional graphics stored in the pixel buffer area according to the graphics rendering instruction.
The computer program product for performing the graphic display method provided in the embodiment of the present application includes a computer-readable storage medium storing a nonvolatile program code executable by a processor, where instructions included in the program code may be used to execute the method described in the foregoing method embodiment, and specific implementation may refer to the method embodiment, and is not described herein again.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Finally, it should be noted that: the above-mentioned embodiments are only specific embodiments of the present application, and are used for illustrating the technical solutions of the present application, but not limiting the same, and the scope of the present application is not limited thereto, and although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope disclosed in the present application; such modifications, changes or substitutions do not depart from the spirit and scope of the exemplary embodiments of the present application, and are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A graphical display method, comprising:
receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
forwarding the graphics rendering instruction to a display card of a server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction;
and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
2. The graphic display method according to claim 1, wherein sending the target three-dimensional graphic rendered by the graphics card to the client to enable the client to display the target three-dimensional graphic comprises:
and sending the target three-dimensional graph rendered by the display card to the client by using a VNC communication protocol so as to enable the client to display the target three-dimensional graph.
3. The graphics display method of claim 1, wherein the forwarding the graphics rendering instruction to a graphics card of a server by using a redirection technology so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction comprises:
and redirecting the graphic rendering instruction to a display card of a server by using a 3D control accelerator so that the display card renders the target three-dimensional graphic according to the graphic rendering instruction.
4. The graphic display method according to claim 1, wherein before receiving the graphic viewing request sent by the client connected to the target virtual machine, the method further comprises:
receiving a virtual machine starting request sent by a client; the virtual machine starting request carries identity information of a target virtual machine;
and starting the target virtual machine by using a 3D acceleration controller according to the identity information of the target virtual machine.
5. The graphics display method of claim 3, wherein the forwarding the graphics rendering instruction to a graphics card of a server by using a redirection technology so that the graphics card renders the target three-dimensional graphics according to the graphics rendering instruction comprises:
storing the target three-dimensional graph in a pixel buffer area established in advance;
and redirecting the graphics rendering instruction to a display card of a server by using a 3D control accelerator, so that the display card renders the target three-dimensional graphics stored in the pixel buffer area according to the graphics rendering instruction.
6. A graphic display device, comprising:
the first receiving module is used for receiving a graph viewing request sent by a client connected with a target virtual machine; the graph viewing request carries a target three-dimensional graph; the target virtual machine is used for determining a graph rendering instruction according to the graph viewing request;
the forwarding module is used for forwarding the graphics rendering instruction to a display card of a server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction;
and the sending module is used for sending the target three-dimensional graph rendered by the display card to the client so as to enable the client to display the target three-dimensional graph.
7. The apparatus according to claim 6, wherein the sending module is specifically configured to send the target three-dimensional graphics rendered by the graphics card to the client by using a VNC communication protocol, so that the client displays the target three-dimensional graphics.
8. A graphic display system comprises a server and a client, and is characterized in that the server is provided with a target virtual machine and a redirection module; the target virtual machine is connected with the client;
the target virtual machine is used for receiving a graph viewing request sent by the client; the graph viewing request carries a target three-dimensional graph; determining a graphic rendering instruction according to the graphic viewing request;
the redirection module is used for forwarding the graphics rendering instruction to a display card of the server by utilizing a redirection technology so that the display card renders the target three-dimensional graphics according to the graphics rendering instruction; and sending the target three-dimensional graph rendered by the display card to the client so that the client displays the target three-dimensional graph.
9. An electronic device, comprising: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating over the bus when the electronic device is operating, the machine-readable instructions when executed by the processor performing the steps of the graphical display method according to any one of claims 1 to 5.
10. A storage medium, characterized in that the storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the graphical display method according to any one of claims 1 to 5.
CN202011446470.2A 2020-12-08 2020-12-08 Graph display method, device and system, electronic equipment and storage medium Pending CN112596852A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011446470.2A CN112596852A (en) 2020-12-08 2020-12-08 Graph display method, device and system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011446470.2A CN112596852A (en) 2020-12-08 2020-12-08 Graph display method, device and system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112596852A true CN112596852A (en) 2021-04-02

Family

ID=75192393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011446470.2A Pending CN112596852A (en) 2020-12-08 2020-12-08 Graph display method, device and system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112596852A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023179395A1 (en) * 2022-03-21 2023-09-28 北京火山引擎科技有限公司 Data transmission system and method, service system, device, and storage medium
CN117078499A (en) * 2023-10-13 2023-11-17 统信软件技术有限公司 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110050712A1 (en) * 2009-08-26 2011-03-03 Red Hat, Inc. Extension To A Hypervisor That Utilizes Graphics Hardware On A Host
CN102254292A (en) * 2010-05-20 2011-11-23 盛乐信息技术(上海)有限公司 Remote 3D instruction rendering system and method
CN106020929A (en) * 2016-05-13 2016-10-12 深圳市青葡萄科技有限公司 System and method for supporting 3D application in virtual environment
CN111354063A (en) * 2020-03-10 2020-06-30 深信服科技股份有限公司 Three-dimensional element rendering method, desktop cloud server and desktop cloud system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110050712A1 (en) * 2009-08-26 2011-03-03 Red Hat, Inc. Extension To A Hypervisor That Utilizes Graphics Hardware On A Host
CN102254292A (en) * 2010-05-20 2011-11-23 盛乐信息技术(上海)有限公司 Remote 3D instruction rendering system and method
CN106020929A (en) * 2016-05-13 2016-10-12 深圳市青葡萄科技有限公司 System and method for supporting 3D application in virtual environment
CN111354063A (en) * 2020-03-10 2020-06-30 深信服科技股份有限公司 Three-dimensional element rendering method, desktop cloud server and desktop cloud system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023179395A1 (en) * 2022-03-21 2023-09-28 北京火山引擎科技有限公司 Data transmission system and method, service system, device, and storage medium
CN117078499A (en) * 2023-10-13 2023-11-17 统信软件技术有限公司 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium
CN117078499B (en) * 2023-10-13 2024-01-23 统信软件技术有限公司 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium

Similar Documents

Publication Publication Date Title
US10354430B2 (en) Image update method, system, and apparatus
CN111488196B (en) Rendering method and device, storage medium and processor
US10229469B2 (en) System and method for distributed virtualization of GPUs in desktop cloud
US20170323418A1 (en) Virtualized gpu in a virtual machine environment
CN111450528B (en) Cloud game rendering service system, method and device
US8872835B2 (en) Prevention of DoS attack by a rogue graphics application
CN109995877B (en) Information pushing method and device
US20170004808A1 (en) Method and system for capturing a frame buffer of a virtual machine in a gpu pass-through environment
JP7167222B2 (en) APPLET DATA ACQUISITION METHOD, APPARATUS, DEVICE, AND STORAGE MEDIUM
US20140171204A1 (en) Asynchronous cloud rendered video delivery
US8654134B2 (en) Command remoting
WO2014085785A2 (en) Method and system for cloud based virtualized graphics processing for remote displays
US9218212B2 (en) Pairing physical devices to virtual devices to create an immersive environment
CN112596852A (en) Graph display method, device and system, electronic equipment and storage medium
CN108762934B (en) Remote graphic transmission system and method and cloud server
WO2022041507A1 (en) 3d rendering method and system
US20230410245A1 (en) Cloud desktop display method and system
US20230036515A1 (en) Control method for game accounts, apparatus, medium, and electronic device
CN107729049A (en) Instruct conversion method, equipment and computer-readable recording medium
EP3301574A1 (en) Method for managing graphic cards in a computing system
CN113778593B (en) Cloud desktop control method and device, electronic equipment, storage medium and program product
CN114003225A (en) Window display method and device, computer equipment and storage medium
US20150145876A1 (en) Graphics Data Processing Method, Apparatus, and System
US20220233954A1 (en) System and methods for generating a platform-agnostic game shortcut to launch a game for cloud gaming
CN110012003B (en) Cloud application screen capturing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination