Cloud game rendering method and device, equipment and storage medium

By creating target visual objects and exchange chains in cloud games, and using overlay technology to render video, cursor and UI separately, the performance problems caused by inconsistent update frequency in cloud games are solved, and frame count and user experience are improved.

CN119656586APending Publication Date: 2025-03-21HANGZHOU SHUNWANG TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411829247.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

In cloud games, due to the inconsistent update frequency of video, cursor and UI, the performance of cloud games is affected during simultaneous rendering and user experience.

Method used

By calling the target rendering component in the target operating system, the root visual object and the target visual object are created, including the target cursor visual object, the target main visual object and the target UI visual object, and different target exchange chains are created according to different target visual objects, rendering the video, cursor and UI using overlay technology.

Benefits of technology

It realizes independent rendering of video, cursor and UI, avoids the performance impact caused by inconsistent update frequency, and improves the frame display and user experience of cloud games.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119656586A_ABST
    Figure CN119656586A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud game rendering method, device and equipment and a storage medium, and relates to the technical field of cloud games, and the cloud game rendering method comprises the steps of creating a root visual object and a target visual object based on a target rendering component; the target visual object comprises a target cursor visual object, a target main visual object and a target UI visual object; setting a hierarchical structure, and adding the target visual object into the root visual object according to the hierarchical structure; creating an exchange chain corresponding to the target visual object, and setting a rendering attribute of the target visual object by using the exchange chain; and obtaining target data corresponding to the target video, the target cursor and the target UI, rendering the target data according to the rendering attribute to obtain rendered data, and sending the rendered data to a desktop window manager by using the root vision object so as to perform synthetic display on the rendered data. By respectively rendering the cursor, the video and the UI, the frame rate display performance of the cloud game client is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud gaming technology, and in particular to a cloud gaming rendering method, device, equipment and storage medium. Background Art

[0002] With the development of 5G networks, codec technology, and software and hardware technology, innovative businesses such as cloud gaming systems have gradually entered the public's field of vision and have achieved certain development. Cloud gaming is different from traditional games. It is a game implementation method based on cloud computing, cloud control, rendering, and network transmission. It uploads computing power, and its games are actually run on the host side of the cloud edge computing node, rather than on the user's local client. The client receives the audio and video data sent by the host side to present the game sound and picture locally, and the user sends the game operation control data to the host side to control the game.

[0003] In order to promote the development of cloud gaming systems, cloud gaming streaming terminals support multiple platforms, among which the most commonly used client is the Windows platform. Windows clients need to render and synthesize data such as video, UI (User Interface) and cursor for display on the screen. At present, Windows clients are mainly based on D3D9 or D3D11 for rendering, and the cursor, video and UI are rendered simultaneously in the same window. Each layer update needs to be synthesized and rendered by DWM (DesktopWindow Manager), and the update speed and frequency of the three layers are different. If the mouse is operated quickly while playing games, the cursor update frequency will be very high, which may affect the actual screen frequency of the video, the performance of cloud games, and the user experience. Summary of the invention

[0004] In view of this, the purpose of the present invention is to provide a cloud game rendering method, device, equipment and storage medium, which can construct target visual objects corresponding to video, cursor and UI respectively, and use different target visual objects to render video, cursor and UI respectively, solving the problem that the inconsistent update frequency of video, cursor and UI affects the performance of cloud games when rendering them at the same time. The specific scheme is as follows:

[0005] In a first aspect, the present application provides a cloud game rendering method, comprising:

[0006] Calling a target rendering component in a target operating system, and creating a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object;

[0007] Setting a target hierarchical structure of the target visual object in the root visual object, and adding the target visual object to the root visual object according to the target hierarchical structure;

[0008] Creating different target swap chains corresponding to the target visual object, and using the different target swap chains to respectively set rendering properties of the target visual object;

[0009] Obtain target data corresponding to the target video, target cursor and target UI, bind the target data to the corresponding target visual objects respectively, render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

[0010] Optionally, before calling the target rendering component in the target operating system, the method further includes:

[0011] Acquire the hardware environment of the target terminal where the target operating system is located, and determine whether the hardware environment of the target terminal meets the operating environment of the overlay technology;

[0012] If the target terminal meets the operating environment of the overlay technology, the process jumps to the step of calling the target rendering component in the target operating system.

[0013] Optionally, before calling the target rendering component in the target operating system, the method further includes:

[0014] Creating a synthetic target associated with a preset window handle; wherein the preset window handle is used to identify a target cloud game client window;

[0015] The target cloud game client window is associated with the target rendering component using the synthetic target, so that the target data is rendered in the target cloud game client window using the target visual object.

[0016] Optionally, setting a target hierarchical structure of the target visual object in the root visual object includes:

[0017] The target main visual object is set as the bottom layer in the target hierarchical structure, the target cursor visual object is covered on the upper layer of the target main visual object, and the target UI visual object is covered on the upper layer of the target cursor visual object to obtain the target hierarchical structure.

[0018] Optionally, the creating a different target exchange chain corresponding to the target visual object includes:

[0019] defining a target structure for creating different target swap chains, and using the target structure to set characteristic information of different target swap chains;

[0020] Different target exchange chains corresponding to the target visual object are created according to the characteristic information of different target exchange chains.

[0021] Optionally, the acquiring target data corresponding to the target video, the target cursor, and the target UI includes:

[0022] Determine a target cloud gaming server for data transmission with the target terminal;

[0023] The original data corresponding to the target video, the target cursor and the target UI are obtained from the target cloud game server, and a hard decoding operation is performed on the original data to obtain the target data corresponding to the original data.

[0024] Optionally, rendering the target data according to the rendering attributes and overlay technology includes:

[0025] Determine the data types corresponding to the target video, the target cursor, and the target UI contained in the acquired target data to obtain a corresponding determination result;

[0026] The target data is rendered using the judgment result, the rendering attribute, the target visual object and the overlay technology.

[0027] In a second aspect, the present application provides a cloud game rendering device, comprising:

[0028] A visual object creation module, used to call a target rendering component in a target operating system, and create a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object;

[0029] a visual object adding module, configured to set a target hierarchical structure of the target visual object in the root visual object, and add the target visual object to the root visual object according to the target hierarchical structure;

[0030] A rendering attribute setting module, used for creating different target exchange chains corresponding to the target visual object, and using the different target exchange chains to respectively set the rendering attributes of the target visual object;

[0031] A data rendering module is used to obtain target data corresponding to the target video, target cursor and target UI, bind the target data to the corresponding target visual objects respectively, and render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

[0032] In a third aspect, the present application provides an electronic device, including:

[0033] Memory, used to store computer programs;

[0034] A processor is used to execute the computer program to implement the aforementioned cloud game rendering method.

[0035] In a fourth aspect, the present application provides a computer-readable storage medium for storing a computer program, which implements the aforementioned cloud game rendering method when executed by a processor.

[0036] In the present application, a target rendering component in a target operating system is first called, and a root visual object and a target visual object are created based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object and a target UI visual object, and then a target hierarchy structure of the target visual object in the root visual object is set, and the target visual object is added to the root visual object according to the target hierarchy structure, and then different target exchange chains corresponding to the target visual object are created, and rendering properties of the target visual object are respectively set using different target exchange chains, and finally, target data corresponding to the target video, target cursor and target UI are obtained, and the target data are respectively bound to the corresponding target visual objects, and the target data is rendered according to the rendering properties and overlay technology to obtain rendered data, and the rendered data is sent to a preset desktop window manager using the root visual object so as to synthesize and display the rendered data. It can be seen that the present application creates different target visual objects corresponding to the video, cursor and UI respectively, and uses the corresponding target visual objects to render the video, cursor and UI respectively according to the corresponding rendering attributes, so that the rendering of different visual elements does not affect each other, avoiding the problem of affecting the performance of cloud games when rendering them at the same time due to inconsistent update frequencies of the video, cursor and UI. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0038] Figure 1 This is a flow chart of a cloud game rendering method disclosed in this application;

[0039] Figure 2 This is a flow chart of a cloud game rendering method disclosed in this application;

[0040] Figure 3 This is a schematic diagram of the structure of a cloud game rendering device disclosed in this application;

[0041] Figure 4 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0042] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0043] Currently, in the Windows client, the method for rendering cloud games is to render the cursor, video and UI at the same time, but this method has the problem of affecting the performance of cloud games. For this reason, the present application provides a cloud game rendering method, which improves the frame rate display of cloud games by using different visual objects to render the cursor, video and UI respectively.

[0044] See also Figure 1 As shown, an embodiment of the present invention discloses a cloud game rendering method, including:

[0045] Step S11, calling a target rendering component in a target operating system, and creating a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object.

[0046] In this embodiment, Figure 2As shown, before calling the target rendering component in the target operating system, it also includes: obtaining the hardware environment of the target terminal where the target operating system is located, and determining whether the hardware environment of the target terminal meets the operating environment of the overlay technology; if the target terminal meets the operating environment of the overlay technology, jump to the above step of calling the target rendering component in the target operating system. It can be understood that it is first necessary to determine whether the hardware of the target operating system, that is, the terminal where the Windows system is located, supports overlay technology. Due to hardware limitations, overlay technology is not supported on some old hardware, and the hardware function needs to be detected first. If overlay technology is supported, the new rendering technology architecture is used, that is, the target rendering component DirectComposition is used; otherwise, the existing rendering technology is used for rendering. The specific judgment code is shown below.

[0047] ComPtr <idxgioutput>output; / / Create a smart pointer variable for the DXGI output interface

[0048] adapter->EnumOutputs(0, &output); / / Get the first output device of the current adapter and store it in output

[0049] ComPtr <idxgioutput2>output2; / / Define a smart pointer variable of IDXGIOutput2 interface

[0050] output.As(&output2); / / Convert the IDXGIOutput interface to the IDXGIOutput2 interface

[0051] output2->SupportsOverlays(); / / Check if the current output device supports overlays

[0052] Before calling the target rendering component in the target operating system, it also includes: creating a synthetic target associated with a preset window handle; wherein the preset window handle is used to identify the target cloud game client window; using the synthetic target to associate the target cloud game client window with the target rendering component, so that the target data can be rendered using the target visual object in the target cloud game client window. It should be noted that there may be multiple game windows in the upper screen. In order to avoid confusion in the rendering components, it is necessary to associate the target cloud game client window with the target rendering component, so that the target data can be rendered using the target visual object in the target cloud game client window. The specific code implementation is as follows,

[0053] hr = DCompositionCreateDevice(dxgi_device.Get(), IID_PPV_ARGS(&direct_composition_device_)); / / Create a DirectComposition device, which is used to manage objects in DirectComposition.

[0054] hr = direct_composition_device_->CreateTargetForHwnd(hwnd, TRUE, &comp_target_); / / Create a composition target associated with the specified window handle, which binds the cloud gaming client window to DirectComposition.

[0055] In this embodiment, the code for creating the root visual object is as follows:

[0056] direct_composition_device_->CreateVisual(&root_visual); / / Create a root visual object (visual) to organize sub-visuals.

[0057] The specific codes for creating three target visual objects are as follows, where the target main visual object main_visual is mainly used to render video, the target cursor visual object cursor_visual is used to render the cursor, and the target UI visual object ui_visual is used to render the UI.

[0058] hr = direct_composition_device_->CreateVisual(&main_visual); / / Create the main visual object to display video content.

[0059] hr = direct_composition_device_->CreateVisual(&cursor_visual); / / Create a cursor visual object to display the cursor content.

[0060] hr = direct_composition_device_->CreateVisual(&ui_visual); / / Create a ui visual object to display UI content.

[0061] By associating the target cloud game client window with the target rendering component, it is ensured that other cloud game client windows will not be rendered incorrectly during the rendering process, thereby improving the reliability of the rendering process.

[0062] Step S12: setting a target hierarchical structure of the target visual object in the root visual object, and adding the target visual object to the root visual object according to the target hierarchical structure.

[0063] In this embodiment, different target visual objects need to be added to the root visual object according to a specific target hierarchical structure; the process of setting the target hierarchical structure of the target visual object in the root visual object specifically includes: setting the target main visual object as the bottom layer in the target hierarchical structure, covering the target cursor visual object on the upper layer of the target main visual object, and covering the target UI visual object on the upper layer of the target cursor visual object to obtain a target hierarchical structure with three layers; wherein, the process of adding the target visual object to the root visual object is implemented through the AddVisual interface. It should be noted that since the target main visual object is opaque and must be located at the bottom layer, and the target UI visual object is transparent and must be located at the top layer, the above-mentioned hierarchical structure is a fixed hierarchical structure, and the positional relationship between the three cannot be changed. The specific code for adding the target visual object to the root visual object according to the hierarchical structure is as follows,

[0064] hr = root_visual_->AddVisual(main_visual.Get(), FALSE, NULL); / / Add the main visual as a child of the root visual.

[0065] hr = root_visual_->AddVisual(cursor_visual.Get(), FALSE, NULL); / / Add the cursor visual as a child of the root visual.

[0066] hr = root_visual_->AddVisual(ui_visual.Get(), FALSE, NULL); / / Add the UI visual object as a child node of the root visual object.

[0067] By setting the target hierarchy in advance and adding the target visual object to the root visual object according to the target hierarchy, the problem of rendering failure due to incorrect positional relationships among the three is avoided, thereby improving the robustness of the rendering process.

[0068] Step S13: creating different target swap chains corresponding to the target visual object, and using the different target swap chains to respectively set rendering properties of the target visual object.

[0069] In this embodiment, the process of creating a target exchange chain may specifically include: defining a target structure for creating different target exchange chains, using the target structure to set characteristic information of different target exchange chains; creating different target exchange chains corresponding to target visual objects according to the characteristic information of different target exchange chains; the above characteristic information specifically includes information such as the height, width, number of buffers and exchange effect of the exchange chain. The specific code for creating an exchange chain is as follows,

[0070] DXGI_SWAP_CHAIN_DESC1 swap_chain_desc{}; / / Initialize the DXGI_SWAP_CHAIN_DESC1 structure to define the description of the swap chain.

[0071] swap_chain_desc.Width = client_rect.right - client_rect.left; / / Set the width of the swap chain (the width of the client area).

[0072] swap_chain_desc.Height = client_rect.bottom - client_rect.top; / / Set the height of the swap chain (the height of the client area).

[0073] swap_chain_desc.BufferCount = 2; / / Set the number of buffers for the swap chain (double buffering).

[0074] swap_chain_desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; / / Set the pixel format of the buffer (32 bits, BGRA order, non-linear standard color space).

[0075] swap_chain_desc.Stereo = false; / / Disable stereoscopic display (Stereo mode).

[0076] swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; / / Set the swap effect of the swap chain to flip frame by frame (to improve efficiency).

[0077] swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; / / Specifies that the buffer is used for render target output.

[0078] swap_chain_desc.SampleDesc.Count = 1; / / Set the number of samples for multisampling to 1 (disable multisampling).

[0079] swap_chain_desc.SampleDesc.Quality = 0; / / Set the multisampling quality level to 0 (no quality level).

[0080] swap_chain_desc.Flags = 0; / / Disable additional flags (default is set to 0)

[0081] swap_chain_desc.Scaling = DXGI_SCALING_STRETCH; / / Set the scaling mode to stretch adaptation (Scaling).

[0082] swap_chain_desc.AlphaMode = DXGI_ALPHA_MODE_PREMULTIPLIED; / / Set Alpha mode to Premultiplied Alpha.

[0083] hr = dxgi_factory2->CreateSwapChainForComposition(d3d11_device_.Get(), &swap_chain_desc, NULL, &foreground_swap_chain_); / / Create a swap chain for composition, where the first parameter is the Direct3D device; the second parameter is the swap chain description; the third parameter is NULL, indicating that it is not bound to a window; the fourth parameter is the swap chain output object.

[0084] By setting characteristic information of the exchange chain and using the characteristic information to construct the exchange chain, the reliability of different exchange chains generated corresponding to different target visual objects is guaranteed.

[0085] Step S14, obtain target data corresponding to the target video, target cursor and target UI, bind the target data to the corresponding target visual objects respectively, render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

[0086] In this embodiment, the process of obtaining the target data corresponding to the target video, target cursor and target UI specifically includes: determining the target cloud game server for data transmission with the target terminal; obtaining the original data corresponding to the target video, target cursor and target UI from the target cloud game server, and performing hard decoding operation on the original data to obtain the target data corresponding to the original data; it can be understood that the cloud game server is the actual operator of the game, and firstly needs to determine the cloud game server for data transmission with the terminal, and obtain the corresponding video data, cursor data and UI data of the cloud game from the data stream transmitted by the cloud game server. The above process of binding the target data to the corresponding target visual objects is completed through different threads corresponding to the target data of the video, cursor and UI respectively. Before binding, the corresponding three threads must be created first, namely: UI thread, cursor thread and video thread. It should be noted that the original data obtained from the target cloud game server may not contain the three types of data: video, cursor and UI. For example, the original data obtained at certain times may not contain cursor data; the original data obtained at other times may not contain UI data; accordingly, the process of rendering the target data according to the rendering attributes and overlay technology specifically includes: judging the data types corresponding to the target video, target cursor and target UI contained in the obtained target data to obtain the corresponding judgment results; using the judgment results, rendering attributes, target visual objects and overlay technology to render the target data. The specific code implementation of the above rendering process is as follows,

[0087] if (decode_frame.frame)

[0088] {render_->present();} / / If there is a video frame, bind the video frame to the corresponding object for rendering.

[0089] if (cursor_render_)

[0090] {cursor_render_->present();} / / If there is a cursor, bind the cursor to the corresponding object for rendering.

[0091] if (is_render_ui_.exchange(false))

[0092] {gui_render_->present();} / / If there is a UI, bind the UI to the corresponding object for rendering.

[0093] By judging the data types contained in the target data and performing corresponding data rendering according to the data types, the data can be rendered according to the actual situation, avoiding the problem of system errors when the target data does not contain three types of data at the same time, and improving the robustness of data rendering.

[0094] It can be seen that this embodiment ensures that there will be no problem of erroneous rendering of other cloud game client windows during the rendering process by associating the target cloud game client window with the target rendering component, thereby improving the reliability of the rendering process; by respectively creating different target visual objects corresponding to the video, cursor and UI, and using the corresponding target visual objects to render the video, cursor and UI according to the corresponding rendering properties, the rendering of different visual elements does not affect each other, avoiding the problem of affecting the performance of cloud games when rendering the video, cursor and UI at the same time due to inconsistent update frequencies of the video, cursor and UI.

[0095] See also Figure 3 As shown, the embodiment of the present application discloses a cloud game rendering device, including:

[0096] A visual object creation module 11, used to call a target rendering component in a target operating system, and create a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object;

[0097] A visual object adding module 12, configured to set a target hierarchical structure of the target visual object in the root visual object, and add the target visual object to the root visual object according to the target hierarchical structure;

[0098] A rendering attribute setting module 13, used to create different target swap chains corresponding to the target visual object, and use the different target swap chains to respectively set the rendering attributes of the target visual object;

[0099] The data rendering module 14 is used to obtain the target data corresponding to the target video, the target cursor and the target UI, bind the target data to the corresponding target visual objects respectively, and render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

[0100] It can be seen that the present application creates different target visual objects corresponding to the video, cursor and UI respectively, and uses the corresponding target visual objects to render the video, cursor and UI respectively according to the corresponding rendering attributes, so that the rendering of different visual elements does not affect each other, avoiding the problem of affecting the performance of cloud games when rendering them at the same time due to inconsistent update frequencies of the video, cursor and UI.

[0101] In some specific implementations, the visual object creation module 11 further includes:

[0102] A hardware environment determination unit, configured to obtain the hardware environment of the target terminal where the target operating system is located, and determine whether the hardware environment of the target terminal meets the operating environment of the overlay technology;

[0103] A step jumping unit is used to jump to the step of calling the target rendering component in the target operating system if the target terminal meets the operating environment of the overlay technology.

[0104] In some specific implementations, the visual object creation module 11 further includes:

[0105] A synthetic target creation unit, used to create a synthetic target associated with a preset window handle; wherein the preset window handle is used to identify a target cloud game client window;

[0106] A component association unit is used to use the synthetic target to associate the target cloud game client window with the target rendering component, so as to render the target data in the target cloud game client window using the target visual object.

[0107] In some specific implementations, the visual object adding module 12 specifically includes:

[0108] A hierarchical structure setting unit is used to set the target main visual object as the bottom layer in the target hierarchical structure, cover the target cursor visual object on the upper layer of the target main visual object, and cover the target UI visual object on the upper layer of the target cursor visual object to obtain the target hierarchical structure.

[0109] In some specific implementations, the rendering attribute setting module 13 specifically includes:

[0110] a characteristic information setting unit, used for defining a target structure for creating different target exchange chains, and using the target structure to set characteristic information of different target exchange chains;

[0111] The exchange chain creation unit is used to create different target exchange chains corresponding to the target visual object according to the characteristic information of different target exchange chains.

[0112] In some specific implementations, the data rendering module 14 specifically includes:

[0113] A server determination unit, used to determine a target cloud gaming server for data transmission with the target terminal;

[0114] A data acquisition unit is used to obtain the original data corresponding to the target video, the target cursor and the target UI from the target cloud game server, and perform a hard decoding operation on the original data to obtain the target data corresponding to the original data.

[0115] In some specific implementations, the data rendering module 14 specifically includes:

[0116] A data type determination unit, configured to determine the data type corresponding to the target video, the target cursor and the target UI contained in the acquired target data, so as to obtain a corresponding determination result;

[0117] A data rendering unit is used to render the target data using the judgment result, the rendering attribute, the target visual object and the overlay technology.

[0118] Furthermore, the present application also discloses an electronic device. Figure 4 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content in the diagram cannot be regarded as any limitation on the scope of use of the present application.

[0119] Figure 4 A schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the cloud game rendering method disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0120] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0121] In addition, the memory 22 as a carrier for storing resources may be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon may include an operating system 221, a computer program 222, etc., and the storage method may be temporary storage or permanent storage.

[0122] The operating system 221 is used to manage and control the hardware devices and computer program 222 on the electronic device 20, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the cloud game rendering method performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.

[0123] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the aforementioned disclosed cloud game rendering method. The specific steps of the method can refer to the corresponding contents disclosed in the aforementioned embodiments, and will not be repeated here.

[0124] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0125] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0126] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0127] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0128] The technical solution provided by the present application is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technicians in this field, according to the idea of ​​the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application. < / idxgioutput>

Claims

1. A cloud game rendering method, characterized in that: include: Calling a target rendering component in a target operating system, and creating a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object; Setting a target hierarchical structure of the target visual object in the root visual object, and adding the target visual object to the root visual object according to the target hierarchical structure; Creating different target swap chains corresponding to the target visual object, and using the different target swap chains to respectively set rendering properties of the target visual object; Obtain target data corresponding to the target video, target cursor and target UI, bind the target data to the corresponding target visual objects respectively, render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

2. The cloud game rendering method according to claim 1, characterized in that: Before calling the target rendering component in the target operating system, the method further includes: Acquire the hardware environment of the target terminal where the target operating system is located, and determine whether the hardware environment of the target terminal meets the operating environment of the overlay technology; If the target terminal meets the operating environment of the overlay technology, the process jumps to the step of calling the target rendering component in the target operating system.

3. The cloud game rendering method according to claim 1, characterized in that: Before calling the target rendering component in the target operating system, the method further includes: Creating a synthetic target associated with a preset window handle; wherein the preset window handle is used to identify a target cloud game client window; The target cloud game client window is associated with the target rendering component using the synthetic target, so that the target data is rendered in the target cloud game client window using the target visual object.

4. The cloud game rendering method according to claim 1, characterized in that: The step of setting a target hierarchical structure of the target visual object in the root visual object includes: The target main visual object is set as the bottom layer in the target hierarchical structure, the target cursor visual object is covered on the upper layer of the target main visual object, and the target UI visual object is covered on the upper layer of the target cursor visual object to obtain the target hierarchical structure.

5. The cloud game rendering method according to claim 1, characterized in that: The creating a different target exchange chain corresponding to the target visual object includes: defining a target structure for creating different target swap chains, and using the target structure to set characteristic information of different target swap chains; Different target exchange chains corresponding to the target visual object are created according to the characteristic information of different target exchange chains.

6. The cloud game rendering method according to claim 2, characterized in that: The step of obtaining target data corresponding to the target video, the target cursor, and the target UI includes: Determine a target cloud gaming server for data transmission with the target terminal; The original data corresponding to the target video, the target cursor and the target UI are obtained from the target cloud game server, and a hard decoding operation is performed on the original data to obtain the target data corresponding to the original data.

7. The cloud game rendering method according to any one of claims 1 to 6, characterized in that: The rendering of the target data according to the rendering attributes and the overlay technology includes: Determine the data types corresponding to the target video, the target cursor, and the target UI contained in the acquired target data to obtain a corresponding determination result; The target data is rendered using the judgment result, the rendering attribute, the target visual object and the overlay technology.

8. A cloud game rendering device, characterized in that: include: A visual object creation module, used to call a target rendering component in a target operating system, and create a root visual object and a target visual object based on the target rendering component; wherein the target visual object includes a target cursor visual object, a target main visual object, and a target UI visual object; a visual object adding module, configured to set a target hierarchical structure of the target visual object in the root visual object, and add the target visual object to the root visual object according to the target hierarchical structure; A rendering attribute setting module, used for creating different target exchange chains corresponding to the target visual object, and using the different target exchange chains to respectively set the rendering attributes of the target visual object; A data rendering module is used to obtain target data corresponding to the target video, target cursor and target UI, bind the target data to the corresponding target visual objects respectively, and render the target data according to the rendering attributes and overlay technology to obtain rendered data, and use the root visual object to send the rendered data to the preset desktop window manager so as to synthesize and display the rendered data.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, used to execute the computer program to implement the cloud game rendering method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: Used to store a computer program, which, when executed by a processor, implements the cloud game rendering method as described in any one of claims 1 to 7.