CN118860698A - Cloud desktop rendering method, device and equipment and readable storage medium - Google Patents
Cloud desktop rendering method, device and equipment and readable storage medium Download PDFInfo
- Publication number
- CN118860698A CN118860698A CN202411328810.XA CN202411328810A CN118860698A CN 118860698 A CN118860698 A CN 118860698A CN 202411328810 A CN202411328810 A CN 202411328810A CN 118860698 A CN118860698 A CN 118860698A
- Authority
- CN
- China
- Prior art keywords
- rendering
- target
- main process
- program
- cloud desktop
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 377
- 238000000034 method Methods 0.000 title claims abstract description 167
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 2
- 238000013468 resource allocation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
The application provides a cloud desktop rendering method, a device, equipment and a readable storage medium, relating to the technical field of rendering, comprising the following steps: receiving a rendering request sent by a target cloud desktop connected with a server when a target 3D program is operated; sending a rendering request to a target rendering main process corresponding to a target cloud desktop, and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the control target rendering main process generates a rendering instruction based on the rendering configuration file, and the control target rendering main process executes the rendering instruction based on the divided display card resources; obtaining a rendering result obtained by the target rendering main process executing the rendering instruction; and sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display. The dynamic, reasonable, efficient and flexible display card resource allocation and utilization among different cloud desktops are realized.
Description
Technical Field
The application relates to the technical field of rendering, in particular to a cloud desktop rendering method, a cloud desktop rendering device, cloud desktop rendering equipment and a readable storage medium.
Background
At present, when a display card is used for rendering in a cloud desktop environment, a straight-through rendering mode, namely a one-to-one use mode is widely adopted, which means that one physical display card can only correspond to one cloud desktop; because one cloud desktop cannot fully occupy the calculation force of one physical display card under most conditions, the direct rendering method can cause the waste of the calculation force of the display card, the utilization rate of the whole display card resource is low, and the allocation of the display card resource cannot be dynamically adjusted so as to meet the different resource requirements of different cloud desktops; meanwhile, in a few cases, the computing power of one physical display card cannot meet the requirement of one cloud desktop, and the performance of the cloud desktop is limited.
Disclosure of Invention
The embodiment of the application aims to provide a rendering method, device and equipment of a cloud desktop and a readable storage medium, which are used for solving the problems of serious display card resource waste, limited cloud desktop rendering performance and low display card resource utilization rate in the prior art, and can reasonably and efficiently allocate display card resources to complete the rendering work of the cloud desktop.
In a first aspect, a method for rendering a cloud desktop is provided, where the method may include:
Receiving a rendering request sent by a target cloud desktop connected with a server when a target 3D program is operated; the server sets a rendering main process for the target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by rendering the target 3D program;
taking the rendering main process corresponding to the target cloud desktop as a target rendering main process;
Sending the rendering request to the target rendering main process, and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of each display card arranged on the server;
Controlling the target rendering main process to generate a rendering instruction based on the rendering configuration file, and controlling the target rendering main process to execute the rendering instruction based on the divided display card resources;
obtaining a rendering result obtained by the target rendering main process executing the rendering instruction;
And sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
In an alternative implementation, the rendering request further includes: identification of the target 3D program;
sending the rendering request to the target rendering host process, including:
And sending the identification of the target 3D program and the rendering configuration file to the target rendering main process.
In an optional implementation, a target rendering main process is a 3D program running on a target cloud desktop corresponding to the target rendering main process, and a corresponding rendering sub-process is set;
After controlling the target rendering host process to generate rendering instructions based on the rendering configuration file, the method further comprises:
And determining the rendering subprocess corresponding to the target 3D program as a target rendering subprocess according to the identification of the target 3D program.
In an optional implementation, controlling the target rendering main process to execute the rendering instruction based on the partitioned graphics card resources includes:
controlling the target rendering main process to send the generated rendering instruction and the divided display card resource to the target rendering sub-process;
And controlling the target rendering subprocess to execute the rendering instruction based on the display card resource.
In an alternative implementation, the target cloud desktop is pre-deployed with a rendering agent component;
Before receiving a rendering request sent by a target cloud desktop connected with a server when running a target 3D program, the method further comprises:
when the target cloud desktop runs the target 3D program, the rendering agent component intercepts an initial rendering request sent by the target 3D program; the initial rendering request comprises a rendering configuration file and target resources required by the rendering of the target 3D program;
the rendering agent component generates a rendering request based on the identification of the target 3D program, the rendering configuration file and the target resource, and sends the rendering request to a target cloud desktop;
And the target cloud desktop sends the received rendering request to a server connected with the target cloud desktop by utilizing a serial port and a shared memory.
In an optional implementation, sending the rendering result to a target cloud desktop corresponding to the target rendering main process includes:
And sending the rendering result and the identification of the target 3D program in the rendering request corresponding to the rendering result to the target cloud desktop corresponding to the target rendering main process through a serial port and a shared memory.
In an optional implementation, after sending the rendering result to the target cloud desktop corresponding to the target rendering main process, the method further includes:
And the rendering agent component sends the rendering result to the corresponding target 3D program according to the identification of the target 3D program so as to enable the target 3D program to display the rendering result.
In a second aspect, a rendering device of a cloud desktop is provided, where the rendering device may include:
The receiving unit is used for receiving a rendering request sent by a target cloud desktop connected with the server when the target 3D program is operated; the server sets a rendering main process for the target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by rendering the target 3D program;
The determining unit is used for taking the rendering main process corresponding to the target cloud desktop as a target rendering main process;
The distribution unit is used for sending the rendering request to the target rendering main process and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of each display card arranged on the server;
The control unit is used for controlling the target rendering main process to generate a rendering instruction based on the rendering configuration file and controlling the target rendering main process to execute the rendering instruction based on the divided display card resources;
The obtaining unit is used for obtaining a rendering result obtained by the target rendering main process executing the rendering instruction;
and the forwarding unit is used for sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
In a third aspect, an electronic device is provided, the electronic device comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory are in communication with each other via the communication bus;
a memory for storing a computer program;
A processor for implementing the method steps of any one of the above first aspects when executing a program stored on a memory.
In a fourth aspect, a computer-readable storage medium is provided, in which a computer program is stored which, when being executed by a processor, carries out the method steps of any of the first aspects.
According to the application, each display card of the server is uniformly managed in a mode of constructing the display card resource pool, and the display card resources in the display card resource pool are dynamically divided according to the display card resources required by the cloud desktops, so that dynamic, reasonable, efficient and flexible allocation and utilization of the display card resources among different cloud desktops are realized; the method and the device not only avoid the waste of display card resources, but also solve the problem that the performance of the cloud desktop is limited when one physical display card cannot meet the display card resources required by the cloud desktop.
According to the cloud desktop rendering method, the rendering agent component is combined with the serial port and the shared memory, the rendering request of the 3D program of the cloud desktop is sent to the server end to be executed, the rendering result is returned to the 3D program to be displayed, the rendering task is completed by the display card of the server, and the performance of the cloud desktop is further optimized by combining with efficient data transmission of the serial port and the shared memory, so that the resource utilization efficiency of the cloud desktop is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and should not be considered as limiting the scope, and other related drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart of a cloud desktop rendering method provided by an embodiment of the present application;
fig. 2 is a schematic structural diagram of a rendering device of a cloud desktop according to an embodiment of the present application;
Fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The cloud desktop rendering method provided by the embodiment of the application can be applied to a server and also can be applied to a terminal with stronger computing capability. The server may be a physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, a content delivery network (Content Delivery Network, CDN), basic cloud computing services such as big data and an artificial intelligent platform. The Terminal may be a Mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a Personal Digital Assistant (PDA), a tablet personal computer (PAD), or other User Equipment (UE), a handheld device, a car-mounted device, a wearable device, a computing device, or other processing device connected to a wireless modem, a Mobile Station (MS), a Mobile Terminal (Mobile Terminal), or the like. The terminal and the server may be directly or indirectly connected through wired or wireless communication, which is not limited herein.
The preferred embodiments of the present application will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are for illustration and explanation only, and not for limitation of the present application, and embodiments of the present application and features of the embodiments may be combined with each other without conflict.
Fig. 1 is a flow chart of a rendering method of a cloud desktop according to an embodiment of the present application. As shown in fig. 1, the method may include:
Step S110, receiving a rendering request sent by a target cloud desktop connected with a server when a target 3D program is operated; and taking the rendering main process corresponding to the target cloud desktop as a target rendering main process.
In the embodiment of the application, a server can be connected with a plurality of cloud desktops, and a plurality of physical display cards are arranged on the server; any cloud desktop can run at least one 3D program; taking the cloud desktop running the 3D program as a target cloud desktop, and taking the 3D program running on the target cloud desktop as a target 3D program; a rendering agent component is pre-deployed on the target cloud desktop; specifically, the target cloud desktop and the target 3D program may be one or more; and the target cloud desktop and the server transmit instructions and data in a serial port and shared memory mode.
In the embodiment of the application, a server sets a rendering main process for a target cloud desktop; each rendering main process sets a rendering sub-process for the target 3D program; the server can simultaneously receive a plurality of rendering requests sent by a plurality of target cloud desktops, and can also simultaneously receive a plurality of rendering requests generated when different target 3D programs sent by one target cloud desktop are simultaneously operated.
In the embodiment of the application, when the cloud desktop runs the target 3D program, the target 3D program generates an initial rendering request according to the rendering configuration file and target resources required by the rendering itself.
In the prior art, a cloud desktop corresponds to an actual physical display card; when the 3D program runs, a rendering configuration file and required resources are generated to be a rendering request, a device driving interface in a User Mode Driver (UMD) is called, and a physical display card of a terminal where the 3D program is located is used together with a Kernel Mode Driver (KMD), wherein the physical display card can not be called by other cloud desktops of the terminal even if the physical display card has idle display card resources; and when all the graphics card resources of the physical graphics card cannot meet the 3D program, performance bottlenecks of the 3D program can be caused.
In the embodiment of the application, in order to solve the problems in the prior art, a rendering agent component is pre-deployed for each target cloud desktop; when a target cloud desktop runs a target 3D program, a rendering agent component intercepts an initial rendering request of a physical display card of a terminal where the target 3D program is expected to be sent to the 3D program; meanwhile, the rendering agent component generates a rendering request based on the identification of the target 3D program, the rendering configuration file and the target resource, and sends the rendering request to the target cloud desktop; and the target cloud desktop sends the received rendering request to a server connected with the target cloud desktop by utilizing the serial port and the shared memory.
According to the method, the initial rendering request sent by the target 3D program is intercepted, so that the target 3D program is blocked from calling a physical display card of a terminal where the target 3D program is positioned to render; and then the rendering agent component packages the identification of the target 3D program and the initial rendering request to generate a new rendering request, and simultaneously the new rendering request is sent to the server by utilizing the target cloud desktop, so that the rendering task of the target 3D program is completed by using the display card of the server, and the rendering calculation of the target 3D program is executed at the server side.
In the embodiment of the application, the rendering agent component is realized by customizing UMD and KMD through OpenGL and DirectX agent technologies; the rendering agent component is used for completely taking over the rendering work of the 3D program running on the cloud desktop through the custom umd and kmd and realizing the bottom layer call of each rendering api; according to the application, through the Device Driving Interfaces (DDI) at the bottom layers of the OpenGL and DirectX rendering interfaces, not only can the application program running on the cloud desktop be ensured to be capable of seamlessly transferring the rendering task to the server end for execution, but also the compatibility and the performance are ensured.
In the embodiment of the application, the initial rendering request comprises a rendering configuration file and target resources required by a rendering target 3D program; the rendering request comprises an identification of the target 3D program, a rendering configuration file of the target 3D program and target resources required by the rendering of the target 3D program; the rendering configuration file is used for indicating the flow of rendering the target 3D program; the target resources include target sub-resources required to render each flow of the target 3D program.
And step S120, sending the rendering request to the target rendering main process, and dividing the display card resources with the same size as the target resources from the pre-constructed display card resource pool to the target rendering main process.
In the embodiment of the application, since one target cloud desktop may run a plurality of target 3D programs at the same time, namely, a plurality of parallel target rendering sub-processes exist under a target rendering main process, at this time, the sum of target resources required by all target rendering sub-processes of the target cloud desktop is determined first, and the display card resources are divided; and dividing the overall display card resources into all target rendering sub-processes by the target rendering main process according to target resources required by all target 3D programs.
In an embodiment of the present application, sending a rendering request to a target rendering host process includes: and sending the identification of the target 3D program and the rendering configuration file of the target 3D program to a target rendering main process.
In the embodiment of the application, in order to more efficiently and reasonably manage all the display card resources of the server, a display card resource pool is constructed based on the idle display card resources of each display card arranged on the server, so that unified management of each display card of the server is realized, and the utilization rate of the display card resources of each display card can be improved.
In the embodiment of the application, the overall target resources required by each target cloud desktop are determined according to the target resources required by all the running target 3D programs of the target cloud desktop; based on the overall target resources, dividing a corresponding number of display card resources from a display card resource pool to a rendering main process corresponding to the target cloud desktop, wherein the cloud desktop requiring more calculation power can obtain more resource support, and the cloud desktop requiring less resources is allocated with less resources; the situation that a single cloud desktop occupies the whole display card is avoided, the display card resources are dynamically allocated according to actual calculation case demands of all target cloud desktops, meanwhile, the calculation force waste is effectively avoided, and the peak demands can be met.
Step S130, the control target rendering main process generates a rendering instruction based on the rendering configuration file, and the control target rendering main process executes the rendering instruction based on the divided display card resources.
In the embodiment of the application, after the control target rendering main process generates the rendering instruction based on the rendering configuration file, the rendering sub-process corresponding to the target 3D program is determined to be the target rendering sub-process according to the identification of the target 3D program.
In the embodiment of the application, the control target rendering main process executes a rendering instruction based on divided display card resources, and the control target rendering main process comprises the following steps: the target rendering main process is controlled to send the generated rendering instruction and the divided display card resources to the target rendering sub-process; and controlling the target rendering subprocess to execute rendering instructions based on the display card resources.
In the embodiment of the application, each target 3D program corresponds to one rendering sub-process, so that the rendering tasks of different 3D programs are isolated, and the problem that the rendering abnormality of a single 3D program affects the normal execution of the rendering tasks of other 3D programs is avoided.
In the embodiment of the application, the target rendering main process is used for generating a corresponding rendering instruction according to the identification of the target 3D program issued by the server and the rendering configuration file of the target 3D program, issuing the corresponding rendering instruction to the target rendering sub-process corresponding to the target 3D program, and completing the rendering task by the target rendering sub-process.
In the embodiment of the application, if the rendering task of the target rendering sub-process becomes more complex, generating a rendering resource request by the target rendering sub-process, and sending the rendering resource request to a server by utilizing the target rendering main process; the server divides corresponding display card resources from the display card resource pool according to target resources required in the rendering resource request and forwards the corresponding display card resources to a target rendering sub-process for sending the rendering resource request through a corresponding target rendering main process, so that performance bottlenecks are avoided.
Step S140, a rendering result obtained by a target rendering main process executing a rendering instruction is obtained; and sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
In the embodiment of the application, after the target rendering sub-process executes the corresponding rendering instruction and obtains the rendering result, the identifier of the target 3D program in the rendering request corresponding to the rendering result and the rendering result are sent to the server through the target rendering main process, and then the server sends the identifier and the rendering result to the target cloud desktop corresponding to the target rendering main process through the serial port and the shared memory.
In the embodiment of the application, after receiving the identification and the rendering result of the target 3D program in the rendering request corresponding to the corresponding rendering result, the target cloud desktop sends the rendering result to the corresponding target 3D program according to the identification of the target 3D program, so that the target 3D program displays the rendering result.
In the embodiment of the application, the cloud desktop is equivalent to a virtual machine, and is provided with a virtual display card (KMD-simulated display card device) for receiving an instruction sent by a target 3D program and displaying a rendering result on a real device.
In the embodiment of the application, whether the rendering request of the target cloud desktop is sent to the server or the rendering result of the target cloud desktop and the corresponding 3D program identifier are sent to the server, the rendering result and the corresponding 3D program identifier are transmitted in a mode of a serial port and a shared memory; specifically, seial serial port socket is used as a signaling channel (capable of transmitting rendering requests and the like), ivshmem shared memory is used as a transmission channel (capable of transmitting rendering results or rendering configuration files) of big data, and the signaling channel and the transmission channel are fused into a communication mode of virtual machines and Linux engineering, so that efficient communication is ensured.
Corresponding to the method, the embodiment of the application also provides a rendering device of the cloud desktop, as shown in fig. 2, where the rendering device of the cloud desktop includes:
A receiving unit 210, configured to receive a rendering request sent by a target cloud desktop connected to a server when a target 3D program is run; the method comprises the steps that a server sets a rendering main process for a target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by the rendering of the target 3D program;
A determining unit 220, configured to take a rendering main process corresponding to the target cloud desktop as a target rendering main process;
An allocation unit 230, configured to send a rendering request to a target rendering main process, and divide a graphics card resource having the same size as the target resource from a pre-constructed graphics card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of all display cards arranged on the server;
a control unit 240 for controlling the target rendering main process to generate a rendering instruction based on the rendering configuration file, and controlling the target rendering main process to execute the rendering instruction based on the divided graphics card resources;
An obtaining unit 250, configured to obtain a rendering result obtained by the target rendering main process executing the rendering instruction;
and the forwarding unit 260 is configured to send the rendering result to a target cloud desktop corresponding to the target rendering main process, so as to display the rendering result.
The functions of each functional unit of the cloud desktop rendering device provided by the embodiment of the present application may be implemented through the above method steps, so that the specific working process and beneficial effects of each unit in the cloud desktop rendering device provided by the embodiment of the present application are not repeated herein.
The embodiment of the application also provides an electronic device, as shown in fig. 3, which includes a processor 310, a communication interface 320, a memory 330 and a communication bus 340, wherein the processor 310, the communication interface 320 and the memory 330 complete communication with each other through the communication bus 340.
A memory 330 for storing a computer program;
the processor 310 is configured to execute the program stored in the memory 330, and implement the following steps:
receiving a rendering request sent by a target cloud desktop connected with a server when a target 3D program is operated; the method comprises the steps that a server sets a rendering main process for a target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by the rendering of the target 3D program;
Taking a rendering main process corresponding to the target cloud desktop as a target rendering main process;
Sending a rendering request to a target rendering main process, and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of all display cards arranged on the server;
the control target rendering main process generates a rendering instruction based on the rendering configuration file, and the control target rendering main process executes the rendering instruction based on the divided display card resources;
Obtaining a rendering result obtained by the target rendering main process executing the rendering instruction;
And sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
The communication bus mentioned above may be a peripheral component interconnect standard (PERIPHERAL COMPONENT INTERCONNECT, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, or the like. The communication bus may be classified as an address bus, a data bus, a control bus, or the like. For ease of illustration, the figures are shown with only one bold line, but not with only one bus or one type of bus.
The communication interface is used for communication between the electronic device and other devices.
The Memory may include random access Memory (Random Access Memory, RAM) or may include Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the aforementioned processor.
The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but may also be a digital signal processor (DIGITAL SIGNAL Processing, DSP), application SPECIFIC INTEGRATED Circuit (ASIC), field-Programmable gate array (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware components.
Since the implementation manner and the beneficial effects of the solution to the problem of each device of the electronic apparatus in the foregoing embodiment may be implemented by referring to each step in the embodiment shown in fig. 1, the specific working process and the beneficial effects of the electronic apparatus provided by the embodiment of the present application are not repeated herein.
In yet another embodiment of the present application, a computer readable storage medium is provided, in which instructions are stored, which when run on a computer, cause the computer to perform the method of rendering a cloud desktop of any of the above embodiments.
In yet another embodiment of the present application, there is also provided a computer program product containing instructions that, when run on a computer, cause the computer to perform the method of rendering a cloud desktop of any of the above embodiments.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiment and all such alterations and modifications as fall within the scope of the embodiments of the application.
It will be apparent to those skilled in the art that various modifications and variations can be made in the embodiments of the present application without departing from the spirit or scope of the embodiments of the application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims and the equivalents thereof, it is intended that such modifications and variations be included in the embodiments of the present application.
Claims (10)
1. A method for rendering a cloud desktop, the method comprising:
Receiving a rendering request sent by a target cloud desktop connected with a server when a target 3D program is operated; the server sets a rendering main process for the target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by rendering the target 3D program;
taking the rendering main process corresponding to the target cloud desktop as a target rendering main process;
Sending the rendering request to the target rendering main process, and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of each display card arranged on the server;
Controlling the target rendering main process to generate a rendering instruction based on the rendering configuration file, and controlling the target rendering main process to execute the rendering instruction based on the divided display card resources;
obtaining a rendering result obtained by the target rendering main process executing the rendering instruction;
And sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
2. The method of claim 1, wherein the rendering request further comprises: identification of the target 3D program;
sending the rendering request to the target rendering host process, including:
And sending the identification of the target 3D program and the rendering configuration file to the target rendering main process.
3. The method of claim 2, wherein the target rendering main process is a 3D program running on a target cloud desktop corresponding to the target rendering main process, and each of the target rendering main process and the target cloud desktop is provided with a corresponding rendering sub-process;
After controlling the target rendering host process to generate rendering instructions based on the rendering configuration file, the method further comprises:
And determining the rendering subprocess corresponding to the target 3D program as a target rendering subprocess according to the identification of the target 3D program.
4. The method of claim 3, wherein controlling the target rendering host process to execute the rendering instructions based on the partitioned graphics card resources comprises:
controlling the target rendering main process to send the generated rendering instruction and the divided display card resource to the target rendering sub-process;
And controlling the target rendering subprocess to execute the rendering instruction based on the display card resource.
5. The method of claim 2, wherein the target cloud desktop is pre-deployed with a rendering proxy component;
Before receiving a rendering request sent by a target cloud desktop connected with a server when running a target 3D program, the method further comprises:
when the target cloud desktop runs the target 3D program, the rendering agent component intercepts an initial rendering request sent by the target 3D program; the initial rendering request comprises a rendering configuration file and target resources required by the rendering of the target 3D program;
the rendering agent component generates a rendering request based on the identification of the target 3D program, the rendering configuration file and the target resource, and sends the rendering request to a target cloud desktop;
And the target cloud desktop sends the received rendering request to a server connected with the target cloud desktop by utilizing a serial port and a shared memory.
6. The method of claim 2, wherein sending the rendering result to a target cloud desktop corresponding to the target rendering host process comprises:
And sending the rendering result and the identification of the target 3D program in the rendering request corresponding to the rendering result to the target cloud desktop corresponding to the target rendering main process through a serial port and a shared memory.
7. The method of claim 5, wherein after sending the rendering result to the target cloud desktop corresponding to the target rendering host process, the method further comprises:
And the rendering agent component sends the rendering result to the corresponding target 3D program according to the identification of the target 3D program so as to enable the target 3D program to display the rendering result.
8. A cloud desktop rendering apparatus, the apparatus comprising:
The receiving unit is used for receiving a rendering request sent by a target cloud desktop connected with the server when the target 3D program is operated; the server sets a rendering main process for the target cloud desktop; the rendering request comprises a rendering configuration file of the target 3D program and target resources required by rendering the target 3D program;
The determining unit is used for taking the rendering main process corresponding to the target cloud desktop as a target rendering main process;
The distribution unit is used for sending the rendering request to the target rendering main process and dividing display card resources with the same size as the target resources from a pre-constructed display card resource pool to the target rendering main process; the display card resource pool consists of idle display card resources of each display card arranged on the server;
The control unit is used for controlling the target rendering main process to generate a rendering instruction based on the rendering configuration file and controlling the target rendering main process to execute the rendering instruction based on the divided display card resources;
The obtaining unit is used for obtaining a rendering result obtained by the target rendering main process executing the rendering instruction;
and the forwarding unit is used for sending the rendering result to a target cloud desktop corresponding to the target rendering main process for display.
9. An electronic device, characterized in that the electronic device comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are in communication with each other through the communication bus;
a memory for storing a computer program;
a processor for implementing the method of any of claims 1-7 when executing a program stored on a memory.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when executed by a processor, implements the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411328810.XA CN118860698A (en) | 2024-09-24 | 2024-09-24 | Cloud desktop rendering method, device and equipment and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411328810.XA CN118860698A (en) | 2024-09-24 | 2024-09-24 | Cloud desktop rendering method, device and equipment and readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118860698A true CN118860698A (en) | 2024-10-29 |
Family
ID=93169581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411328810.XA Pending CN118860698A (en) | 2024-09-24 | 2024-09-24 | Cloud desktop rendering method, device and equipment and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118860698A (en) |
-
2024
- 2024-09-24 CN CN202411328810.XA patent/CN118860698A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726005B (en) | Method, server system and computer readable medium for managing resources | |
CN109218356B (en) | Method and apparatus for managing stateful applications on a server | |
CN110162397B (en) | Resource allocation method, device and system | |
CN112825042A (en) | Resource management method and device, electronic equipment and storage medium | |
US8849905B2 (en) | Centralized computing | |
CN113342534B (en) | Graphics processing resource allocation method, device, equipment and storage medium | |
CN113849312A (en) | Data processing task allocation method and device, electronic equipment and storage medium | |
CN111427551A (en) | User code operation method of programming platform, equipment and storage medium | |
CN106919442A (en) | Many GPU dispatching devices and distributed computing system and many GPU dispatching methods | |
CN108074210A (en) | A kind of object acquisition system and method rendered for cloud | |
CN116860391A (en) | GPU computing power resource scheduling method, device, equipment and medium | |
CN109729113A (en) | Method, server system and computer program product for managing dedicated processing resources | |
CN115237589A (en) | SR-IOV-based virtualization method, device and equipment | |
CN115904761A (en) | System on chip, vehicle and video processing unit virtualization method | |
CN112286688A (en) | Memory management and use method, device, equipment and medium | |
CN118860698A (en) | Cloud desktop rendering method, device and equipment and readable storage medium | |
CN111858035A (en) | FPGA equipment allocation method, device, equipment and storage medium | |
CN115794386B (en) | Resource calling method, device and storage medium of virtual machine | |
CN116703071A (en) | Resource sharing method, device and equipment and storage medium | |
CN113254160B (en) | IO resource request method and device | |
CN115098272A (en) | GPU resource scheduling method, scheduler, electronic device and storage medium | |
CN115361382A (en) | Data processing method, device, equipment and storage medium based on data group | |
CN112860436A (en) | Resource allocation method and system | |
CN112835721A (en) | Method and device for distributing number of GPU cards, electronic equipment and storage medium | |
CN116743587B (en) | Virtual network interface implementation method and device based on heterogeneous computing accelerator card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |