Method, device, equipment and medium for preventing cloud game from lagging
By creating a remote control subprocess on the cloud server and using the remote control service to obtain and discard desktop data, the lag problem caused by idling in cloud games is solved, achieving smooth cloud game operation with lower costs and fewer resources.
Patent Information
- Application Number
- CN202411304049.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2044-09-18
AI Technical Summary
When cloud gaming is running in the background, the server may lock its screen or go into standby mode, causing the game to lag and affecting the user experience.
Create a remote control subprocess on the cloud server to obtain and discard desktop data through the remote control service, keeping the cloud server desktop active and preventing screen lock or standby.
It effectively prevents cloud gaming lag, reduces hardware and manpower costs, saves system resources, achieves more accurate desktop activation, and improves user experience.
Smart Images

Figure CN119258525B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of cloud computing technology, and more particularly to cloud gaming and cloud phone technology, specifically to a method, apparatus, device, and medium for preventing cloud gaming lag. Background Technology
[0002] Cloud gaming is a gaming method based on cloud computing. In this model, all games run on the server side, and the rendered game screen is compressed and transmitted to the user's device over the network. The user's device does not need any high-end processors or graphics cards; only basic video decompression capabilities are required to play games running on the server side.
[0003] However, when a user leaves the game running idle, the server will lock the screen or go into standby mode for a certain period of time, which will result in frame drops and cause the game to lag. Summary of the Invention
[0004] This disclosure provides a method, apparatus, device, and medium for preventing cloud gaming lag.
[0005] According to one aspect of this disclosure, a method for preventing lag in cloud gaming is provided, applied to a cloud server on which cloud gaming is running, the method comprising:
[0006] Create a remote control subprocess, wherein the remote control subprocess is used to connect to the remote control service of the cloud server;
[0007] The remote control subprocess obtains the desktop data of the cloud server from the remote control service, wherein the remote control subprocess is also used to discard the desktop data.
[0008] According to another aspect of this disclosure, a device for preventing lag in cloud gaming is provided, configured on a cloud server where cloud gaming is running, the device comprising:
[0009] A creation module is provided for creating a remote control subprocess, wherein the remote control subprocess is used to connect to the remote control service of the cloud server;
[0010] The acquisition module is used to acquire desktop data of the cloud server from the remote control service through the remote control subprocess, wherein the remote control subprocess is also used to discard the desktop data.
[0011] According to another aspect of this disclosure, an electronic device is provided, comprising:
[0012] At least one processor; and
[0013] A memory communicatively connected to the at least one processor; wherein,
[0014] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method for preventing cloud gaming lag as described in any embodiment of this disclosure.
[0015] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided that stores computer instructions for causing a computer to execute the method for preventing cloud gaming lag as described in any embodiment of this disclosure.
[0016] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method for preventing cloud gaming lag according to any embodiment of this disclosure.
[0017] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0018] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0019] Figure 1 This is a schematic diagram of a method for preventing cloud gaming lag according to an embodiment of the present disclosure;
[0020] Figure 2 This is a schematic diagram of another method for preventing cloud gaming lag according to an embodiment of the present disclosure;
[0021] Figure 3 This is a schematic diagram of a device for preventing cloud gaming lag according to an embodiment of the present disclosure;
[0022] Figure 4 This is a block diagram of an electronic device used to implement the method for preventing cloud gaming lag in embodiments of the present disclosure. Detailed Implementation
[0023] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0024] Figure 1This is a schematic diagram illustrating a method for preventing cloud gaming lag according to an embodiment of the present disclosure. This embodiment is applicable to situations where cloud gaming lag is prevented after a user leaves the game running in the background. It relates to the field of cloud computing technology, and particularly to cloud gaming and cloud phone technology. This method can be executed by a device for preventing cloud gaming lag, implemented in software and / or hardware, preferably configured in an electronic device, such as a cloud server. Figure 1 As shown, the method specifically includes the following:
[0025] S101. Create a remote control subprocess, which is used to connect to the remote control service of the cloud server.
[0026] S102. Obtain desktop data of the cloud server from the remote control service through the remote control subprocess, wherein the remote control subprocess is also used to discard the desktop data.
[0027] Cloud servers run cloud games, and users can access the game data through the cloud server's streaming service. User devices only need basic video decompression capabilities to play these games, and the hardware requirements for processors and graphics cards are relatively low. Furthermore, the operating systems of the cloud server and the user device can be the same or different. However, in cloud gaming idling scenarios, the cloud server will lock its screen or go into standby mode for a period of time, resulting in frame rate drops and causing lag in the cloud game, thus impacting the user experience.
[0028] To address this technical problem, in this embodiment of the disclosure, the cloud server creates a remote control subprocess for connecting to the cloud server's remote control service. This remote control service is, for example, a service provided by the cloud server that allows remote control of the cloud server's desktop. The cloud server then obtains its desktop data from the remote control service through the remote control subprocess, which also discards the desktop data.
[0029] In other words, after the remote control subprocess connects to the cloud server's remote control service, the remote control service sends the cloud server's current desktop data to the remote control subprocess. However, the remote control subprocess does not perform any rendering or processing on this desktop data; it simply discards it. The purpose of this is to maintain the cloud server's system screen refresh by connecting to the cloud server's remote control service through the created remote control subprocess, thus more accurately activating the cloud server desktop and preventing the cloud server from locking or going into standby mode, avoiding frame drops, and ultimately preventing lag in cloud gaming.
[0030] It should be noted that existing technologies typically involve attaching a screen to the cloud server and then periodically clicking on the cloud server desktop displayed on the screen to keep the desktop active. However, this method not only increases hardware and labor costs, but also makes it difficult to control the timing of the periodic clicks, resulting in unsatisfactory performance.
[0031] In contrast, the technical solution of this disclosure allows for remote desktop control of the cloud server via a remote control service. Once a remote control subprocess is created, it connects to the remote control service, effectively keeping the cloud server's desktop always active. Therefore, the remote control subprocess only needs to leave the desktop data sent by the remote control service unprocessed, without consuming additional decoding and rendering resources. This allows for more accurate activation of the cloud server desktop, resolving cloud gaming lag issues caused by idle gameplay at a lower cost, while also minimizing system resource consumption.
[0032] In one implementation, creating a remote control subprocess includes: creating a remote control subprocess through a streaming service running on a cloud server, wherein the streaming service is used to push game screen data of the cloud game to the user terminal.
[0033] The streaming service is a service provided by the cloud server itself. When a user plays cloud games, they connect to the cloud server's streaming service and receive game screen data pushed by the service. The streaming service runs as a process on the cloud server, creating a remote control subprocess, with the streaming service acting as the main process for this subprocess. The streaming service can also acquire and monitor the running status of the remote control subprocess to ensure its proper functioning. Utilizing the cloud server's existing streaming service as the main process to create the remote control subprocess further conserves system resources. Monitoring the running status of the remote control subprocess further ensures the successful implementation of this disclosure.
[0034] In one implementation, the remote control subprocess is also used to establish a persistent connection with the remote control service and periodically check the connection status of the persistent connection using a heartbeat detection method. That is, the connection between the remote control subprocess and the remote control service of the cloud server is a persistent connection. Furthermore, to prevent the persistent connection from being broken, which could cause cloud gaming to lag again, the remote control subprocess can also periodically check the connection status of the persistent connection using a heartbeat detection method.
[0035] It should be noted that after the user client connects to the cloud server's remote control service, it typically renders and displays the acquired desktop data, but this consumes unnecessary decoding and rendering resources. Therefore, in this embodiment, a remote control subprocess reads the cloud server's desktop data from the loopback network interface card (NIC) and then discards the desktop data. The cloud server's desktop data is sent to the loopback NIC by the remote control service. Since the loopback NIC is not connected to any external devices, simply discarding the desktop data without further processing avoids wasting unnecessary resources and achieves the goal of solving the cloud gaming lag issue at a lower cost.
[0036] Figure 2 This is a schematic diagram illustrating another method for preventing cloud gaming lag according to an embodiment of this disclosure, which further optimizes the above embodiment. In this embodiment, the cloud server is a MAC cloud server, and the user terminal can be a device with an operating system other than MAC, such as a Windows device or an Android device. The cloud desktop is an app developed for the MAC operating system and runs on the MAC server. The user terminal can connect to the MAC cloud server through a corresponding client and trigger the game icon they want to play on the cloud desktop. The cloud desktop app communicates with the streaming service of the MAC cloud server, sending the process ID of the cloud game triggered by the user to the streaming service. The streaming service then determines the corresponding window based on the process ID, takes a screenshot of the cloud game data under that window, and sends it to the user terminal. In this way, the user can play the cloud game running on the MAC cloud server on their user terminal.
[0037] In addition, the streaming service creates a remote control subprocess. This subprocess uses the VNC (Virtual Network Console) underlying protocol RFB provided by the MAC cloud server to communicate with the VNC service, creating a long-lived connection locally to the MAC's VNC service to avoid consuming network card bandwidth. Then, it reads the desktop data sent by the VNC service from the loopback network card (not shown in the diagram) inside the MAC cloud server and discards the desktop data, meaning it doesn't process the desktop data at all. Simultaneously, the remote control subprocess intermittently checks the connection status of the long-lived connection through heartbeat detection to ensure connection stability and prevent cloud gaming from lagging again due to connection drops.
[0038] The technical solution of this disclosure embodiment utilizes the VNC service provided by MAC itself to remotely control the MAC cloud desktop. After the remote control subprocess is created, it connects to the VNC service through the remote control subprocess. This means that the MAC cloud server will always be in an active state. Only the desktop data sent by the VNC service needs not be processed, which can more accurately activate the MAC server desktop, solve the lag problem after cloud gaming is idle at a lower cost, and at the same time, it will not consume too much system resources.
[0039] Figure 3 This is a schematic diagram of a device for preventing cloud gaming lag according to an embodiment of the present disclosure. This embodiment is applicable to situations where cloud gaming is left running in the background to prevent lag. It relates to the field of cloud computing technology, and particularly to cloud gaming and cloud phone technology. This device can implement the method for preventing cloud gaming lag described in any embodiment of the present disclosure. Figure 3 As shown, the device 300 is configured on a cloud server, where cloud gaming runs. The device 300 specifically includes:
[0040] A creation module 310 is used to create a remote control subprocess, wherein the remote control subprocess is used to connect to the remote control service of the cloud server;
[0041] The acquisition module 320 is used to acquire desktop data of the cloud server from the remote control service through the remote control subprocess, wherein the remote control subprocess is also used to discard the desktop data.
[0042] Optionally, the creation module 310 is specifically used for:
[0043] The remote control subprocess is created by a streaming service running on the cloud server, wherein the streaming service is used to push the game screen data of the cloud game to the user terminal.
[0044] Optionally, the device further includes:
[0045] The monitoring module is used to obtain and monitor the running status of the remote control subprocess through the streaming service.
[0046] Optionally, the remote control subprocess is also used to establish a long connection with the remote control service and periodically detect the connection status of the long connection through a heartbeat detection method.
[0047] Optionally, the acquisition module 320 is specifically used for:
[0048] The remote control subprocess reads the desktop data of the cloud server from the loopback network card of the cloud server, wherein the desktop data of the cloud server is sent to the loopback network card by the remote control service.
[0049] Optionally, the cloud game is in an idle state.
[0050] The above-described products can perform the methods provided in any embodiment of this disclosure, and have the corresponding functional modules and beneficial effects for performing the methods.
[0051] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0052] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0053] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0054] like Figure 4 As shown, device 400 includes a computing unit 401, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 402 or a computer program loaded from storage unit 408 into random access memory (RAM) 403. RAM 403 may also store various programs and data required for the operation of device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.
[0055] Multiple components in device 400 are connected to I / O interface 405, including: input unit 406, such as keyboard, mouse, etc.; output unit 407, such as various types of monitors, speakers, etc.; storage unit 408, such as disk, optical disk, etc.; and communication unit 409, such as network card, modem, wireless transceiver, etc. Communication unit 409 allows device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0056] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as methods for preventing cloud gaming lag. For example, in some embodiments, the method for preventing cloud gaming lag may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of the methods for preventing cloud gaming lag described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform methods for preventing cloud gaming lag by any other suitable means (e.g., by means of firmware).
[0057] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0058] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0059] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0060] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0061] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0062] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is established by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem that addresses the management difficulties and weak business scalability inherent in traditional physical hosting and VPS services. Servers can also be servers for distributed systems or servers integrated with blockchain technology.
[0063] Artificial intelligence (AI) is the study of enabling computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, and planning). It encompasses both hardware and software technologies. AI hardware technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, and big data processing. AI software technologies mainly include computer vision, speech recognition, natural language processing, machine learning / deep learning, big data processing, and knowledge graph technologies.
[0064] Cloud computing refers to a technology system that enables access to a shared pool of physical or virtual resources via a network. These resources can include servers, operating systems, networks, software, applications, and storage devices, and can be deployed and managed on demand and in a self-service manner. Cloud computing technology can provide efficient and powerful data processing capabilities for applications such as artificial intelligence and blockchain, as well as for model training.
[0065] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution provided in this disclosure can be achieved, and this is not limited herein.
[0066] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for preventing cloud game from freezing, applied to a cloud server on which a cloud game runs, the method comprising: creating a remote control sub-process through a streaming service running on the cloud server, wherein the streaming service is configured to push game picture data of the cloud game to a user terminal, and the remote control sub-process is configured to connect to a remote control service of the cloud server and keep the cloud server system picture refreshed based on the remote control service; obtaining desktop data of the cloud server from the remote control service through the remote control sub-process, wherein the remote control sub-process is further configured to discard the desktop data.
2. The method of claim 1, further comprising: obtaining and monitoring a running state of the remote control sub-process through the streaming service.
3. The method of claim 1, wherein, The remote control sub-process is further configured to establish a long connection with the remote control service and periodically detect a connection state of the long connection through a heartbeat detection manner.
4. The method of claim 1, wherein, The obtaining desktop data of the cloud server from the remote control service through the remote control sub-process comprises: reading the desktop data of the cloud server on a loopback network card of the cloud server through the remote control sub-process, wherein the desktop data of the cloud server is sent to the loopback network card by the remote control service.
5. The method of claim 1, wherein, The cloud game is in an idle state.
6. An apparatus for preventing cloud game from freezing, configured to a cloud server on which a cloud game runs, the apparatus comprising: a creating module configured to create a remote control sub-process through a streaming service running on the cloud server, wherein the streaming service is configured to push game picture data of the cloud game to a user terminal, and the remote control sub-process is configured to connect to a remote control service of the cloud server and keep the cloud server system picture refreshed based on the remote control service; an obtaining module configured to obtain desktop data of the cloud server from the remote control service through the remote control sub-process, wherein the remote control sub-process is further configured to discard the desktop data.
7. The apparatus of claim 6, further comprising: a monitoring module configured to obtain and monitor a running state of the remote control sub-process through the streaming service.
8. The apparatus of claim 6, wherein, The remote control sub-process is further configured to establish a long connection with the remote control service and periodically detect a connection state of the long connection through a heartbeat detection manner.
9. The apparatus of claim 6, wherein, The obtaining module is specifically configured to: read the desktop data of the cloud server on a loopback network card of the cloud server through the remote control sub-process, wherein the desktop data of the cloud server is sent to the loopback network card by the remote control service.
10. The apparatus of claim 6, wherein, The cloud game is in an idle state.
11. An electronic device comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method for preventing cloud game from freezing according to any one of claims 1-5.
12. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing a computer to perform the method of preventing cloud gaming from freezing according to any one of claims 1-5.
13. A computer program product comprising computer instructions which, when executed by a processor, implement the method of preventing cloud gaming from freezing according to any one of claims 1-5.
Citation Information
Patent Citations
Game client and realization method thereof
CN103647768A
Application running method and device, server and storage medium
CN114443177A
Cloud game on-hook method and device, equipment and storage medium
CN118436996A