Image display method, client, server, system, device and storage medium

By determining the labels of storage areas and switching them on the client and server, the problem of display system performance degradation caused by frequent copying is solved, and more efficient image data processing and display are achieved.

CN120704630APending Publication Date: 2025-09-26LOONGSON TECH CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510748192.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

In the prior art, the frequent image data copying process occupies the access bandwidth of the system storage, resulting in a decrease in the performance of the display system.

Method used

By determining the tags associated with the storage areas in the client and server, and performing tag switching operations according to preset switching conditions, the functions of the storage areas can be flexibly changed, so that the storage areas are used in turn to store the last rendered image data, the current rendered image data, and the image data to be sent, reducing unnecessary copy operations.

Benefits of technology

It achieves uninterrupted real-time rendering, storage and transmission, reduces the number of copies, releases more system performance, and improves the overall performance of the display system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704630A_ABST
    Figure CN120704630A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an image display method, a client, a server, a system, equipment and a storage medium. Relates to the technical field of display. The method comprises the following steps: determining tags respectively associated with storage areas in the client; wherein the storage area associated with the first tag is used for storing image data rendered last time; the storage area associated with the second tag is used for storing the currently rendered image data; the storage area associated with the third tag is used for storing to-be-sent image data; when it is determined that the preset switching condition is met, corresponding label switching operation is executed to switch the functions of different storage areas; the labels triggered and switched by different preset switching conditions are at least partially different; and sending the image data in the storage area currently associated with the third tag to the server for display equipment to display. The performance of the display system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and specifically relates to an image display method, client, server, system, device and storage medium. Background Art

[0002] X Window System Version 11 (X11) is a display system for graphical user interfaces (GUIs). The X11 display system mainly includes a client, a server, and a display device.

[0003] In related technologies, after the client completes rendering of image data, the rendered image data needs to be copied to the temporary buffer of the server. The temporarily buffered image data also needs to be copied to the window fusion buffer for processing, and then copied to the display driver buffer for processing, and finally the data is sent to the display device for display.

[0004] However, the above process involves three copies. The frequent copying process occupies the access bandwidth of the system storage and reduces the performance of the display system. Summary of the Invention

[0005] The present application aims to provide an image display method, client, server, system, device and storage medium, which at least solves the problem in the prior art that frequent copying occupies the access bandwidth of the system storage and reduces the performance of the display system.

[0006] In order to solve the above technical problems, this application is implemented as follows:

[0007] In a first aspect, an embodiment of the present application provides an image display method, which is applied to a client, wherein the client communicates with a server, and the method includes:

[0008] Determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendering completed; the storage area associated with the second tag is used to store the image data of the current rendering completed; and the storage area associated with the third tag is used to store the image data to be sent;

[0009] When it is determined that the preset switching condition is met, performing a corresponding tag switching operation to switch the functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different;

[0010] The image data in the storage area currently associated with the third tag is sent to the server for display on a display device.

[0011] In a second aspect, an embodiment of the present application further provides an image display method, which is applied to a server, wherein the server communicates with a client, and the method includes:

[0012] Receive image data sent by the client; the client is used to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendering; the storage area associated with the second tag is used to store the image data of the current rendering; the storage area associated with the third tag is used to store the image data to be sent; the client is also used to perform a corresponding tag switching operation to switch the functions of different storage areas when it is determined that a preset switching condition is met; the tags triggered by different preset switching conditions are at least partially different; the client is also used to send the image data in the storage area currently associated with the third tag to the server;

[0013] storing the image data in a fusion storage area and a display storage area in sequence, and processing the image data in the fusion storage area and the display storage area in sequence to obtain a display signal;

[0014] The display signal is sent to a display device; the display device is used to display according to the display signal.

[0015] In a third aspect, an embodiment of the present application further provides a client, including:

[0016] A determination unit, configured to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendered image; the storage area associated with the second tag is used to store the image data of the current rendered image; and the storage area associated with the third tag is used to store the image data to be sent;

[0017] A switching unit, configured to, upon determining that a preset switching condition is satisfied, execute a corresponding tag switching operation to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different;

[0018] The sending unit is configured to send the image data in the storage area currently associated with the third tag to the server for display on a display device.

[0019] In a fourth aspect, the embodiment of the present application further provides a server, including:

[0020] A receiving unit, configured to receive image data sent by the client; the client is configured to determine tags associated with storage areas in the client; wherein the storage area associated with the first tag is configured to store image data rendered last time; the storage area associated with the second tag is configured to store image data currently rendered; and the storage area associated with the third tag is configured to store image data to be sent; the client is further configured to, upon determining that a preset switching condition is satisfied, execute a corresponding tag switching operation to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different; and the client is further configured to send image data in the storage area currently associated with the third tag to the server;

[0021] a processing unit, configured to sequentially store the image data in a fusion storage area and a display storage area, and process the image data in the fusion storage area and the display storage area respectively to obtain a display signal;

[0022] The sending unit is used to send the display signal to the display device; the display device is used to display according to the display signal.

[0023] In a fifth aspect, an embodiment of the present application further provides an image display system, which includes the client of the third aspect, the server of the fourth aspect, and a display device, wherein the display device is used to display according to a display signal received from the server.

[0024] In a sixth aspect, an embodiment of the present application further provides an electronic device, which includes a memory and one or more programs, wherein the one or more programs are stored in the memory and are configured to implement the steps of the above method when executed by one or more processors.

[0025] In a seventh aspect, an embodiment of the present application further provides a readable storage medium, wherein when the instructions in the storage medium are executed by a processor of an electronic device, the processor implements the steps of the above method.

[0026] In an embodiment of the present application, the tags associated with the storage areas in the client are determined, the functions of the storage areas are determined by the tags, and when it is determined that the preset switching conditions are met, the corresponding tag switching operation is performed to switch the functions of different storage areas. Finally, the image data in the storage area currently associated with the third tag is sent to the server for display on the display device. The specific function of each storage area is not limited. Instead, the function of the storage area is flexibly changed through tag interchange, so that the storage area is used in turn to store the image data of the last rendering completed, the current rendering completed, and to be sent, thereby realizing uninterrupted real-time rendering, storage, and sending. There is no need to copy the rendered data to a temporary buffer for storage, which reduces the number of copies, reduces the system performance overhead, releases more available system performance, and ultimately improves the display system performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 This is a step diagram of an image display method provided by an embodiment of the present application;

[0028] Figure 2 This is a schematic diagram of a display process corresponding to multiple copies provided by the prior art;

[0029] Figure 3 This is a step diagram of another image display method provided by an embodiment of the present application.

[0030] Figure 4 This is a schematic diagram of a label swapping strategy provided in an embodiment of the present application;

[0031] Figure 5 is a schematic diagram of the active presentation mechanism provided in an embodiment of the present application;

[0032] Figure 6 This is a step diagram of another image display method provided by an embodiment of the present application;

[0033] Figure 7 This is a schematic diagram of the display process after optimizing the number of copies provided by an embodiment of the present application;

[0034] Figure 8 This is a block diagram of a client provided in an embodiment of the present application;

[0035] Figure 9 This is a block diagram of a server provided in an embodiment of the present application;

[0036] Figure 10 is a block diagram of an image display system provided in an embodiment of the present application;

[0037] Figure 11 This is a block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0038] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.

[0039] Figure 1 This is a step diagram of an image display method provided in an embodiment of the present application, which is applied to a client, and the client communicates with a server. The method includes:

[0040] Step 101: Determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendered image; the storage area associated with the second tag is used to store the image data of the current rendered image; and the storage area associated with the third tag is used to store the image data to be sent.

[0041] Figure 2 This is a schematic diagram of a display process involving multiple copies provided by the prior art. Display system 20 primarily includes client 201, server 202, and display device 203. Client 201 runs a three-dimensional (3D) graphics program. The 3D program defines rendering content and logic by invoking a 3D computer graphics library (e.g., the Mesa3D library). The graphics processing unit (GPU) performs the rendering and transmits the rendered data to server 202. Server 202 receives the image data and copies it to a temporary buffer. When server 202 detects new image data in the temporary buffer, it copies the temporary buffered image data to the window fusion buffer for processing. It then copies the data from the window fusion buffer to the display driver buffer for further processing. Finally, the data is sent to display device 203, which displays the image rendered by the 3D program. Therefore, the current display mechanism involves three copies, which places significant pressure on the display system's storage access bandwidth and reduces overall display system performance.

[0042] In an embodiment of the present application, a plurality of storage areas are predefined in the client, and the number of storage areas is at least three. Storage areas of different sizes and types can be divided according to the storage needs and performance requirements of the system. Memory allocation functions (such as the malloc function in the C language) can be used to dynamically allocate memory space. For example, a memory area for storing image data can be dynamically allocated in the C language in the following manner:

[0043] void*storage_area=malloc(1024*1024);

[0044] The above code allocates 1 megabyte (MB) of memory space.

[0045] The storage areas are used to store the image data of the last rendering, such as the image data corresponding to the last frame, to store the data of the current rendering, such as the image data corresponding to the current frame, and to store the image data to be sent to the server.

[0046] Specific tags can be associated with storage areas storing image data at different stages. The tags can be used to quickly and accurately identify the function of the data in the storage area. The storage areas and tags can be associated using a data structure, such as a hash table, dictionary, or other method.

[0047] Among them, the storage area associated with the first tag is used to store the image data of the last rendering, or it can be understood as the storage area that stores the image data of the last rendering. It is associated with the first tag, and the first tag can indicate that the image data in this storage area is the image data of the last rendering.

[0048] The storage area associated with the second tag is used to store the currently rendered image data. The currently rendered data is the latest generated image data. Based on the second tag, it can be determined in which storage area the currently rendered image data should be stored and the storage area where the latest image data is located.

[0049] The storage area associated with the third tag is used to store image data to be sent. After the image rendering is completed, the image data needs to be sent to the server. The storage area where the image data to be sent is located can be determined based on the third tag.

[0050] Step 102 : When it is determined that a preset switching condition is satisfied, a corresponding tag switching operation is performed to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different.

[0051] In an embodiment of the present application, during the image rendering process, the rendering operation may be continuously updated, and each rendering will generate new image data, and the image data is continuously sent to the server. Therefore, even if the functional uses of the current different storage areas have been determined, due to the continuous rendering operations and data sending operations, the functional uses of the storage areas may need to change. If the functional use of the storage area needs to change, the corresponding label also needs to be changed.

[0052] Preset switching conditions can be pre-established for situations that require a change in the functional use of a storage area. Furthermore, the storage areas that undergo functional changes in different situations may vary. For example, situation A may result in a functional swap between storage areas 1 and 2, while situation B may result in a functional swap between storage areas 1 and 3. Therefore, there may be multiple preset switching conditions. When different preset switching conditions are met, the corresponding tag switching operations differ, meaning that the tags that trigger the switch differ at least in part.

[0053] For example, if a storage area associated with a third tag is used to store image data to be sent, and the image data stored in that storage area has already been sent, then after the data has been sent, the data actually stored in that storage area is no longer the "image data to be sent." Therefore, the rendered image data in another storage area needs to be used as the new "image data to be sent." The other storage area can then be associated with the third tag, while the storage area originally associated with the third tag can be used to store subsequently rendered image data and associated with another tag.

[0054] Step 103: Send the image data in the storage area currently associated with the third tag to the server for display on a display device.

[0055] In the embodiment of the present application, based on the functions of the storage areas corresponding to different tags, the storage area associated with the third tag stores the image data to be sent. Therefore, the image data sent by the client to the server originates from the storage area associated with the third tag. When the tag associated with the storage area has been determined, a situation may occur where a preset switching condition is met, i.e., the tag associated with the determined storage area may change.

[0056] Therefore, regardless of whether the tag is switched or not, the storage area currently associated with the third tag is used as the target storage area, and the image data in the target storage area is sent to the server, which provides the final image data for display on the display device after data processing.

[0057] In summary, in an embodiment of the present application, the tags associated with the storage areas in the client are determined, the functions of the storage areas are determined by the tags, and when it is determined that the preset switching conditions are met, the corresponding tag switching operation is performed to switch the functions of different storage areas. Finally, the image data in the storage area currently associated with the third tag is sent to the server for display on the display device. The specific function of each storage area is not limited, but the function of the storage area is flexibly changed through tag interchange, so that the storage area is used in turn to store the image data of the last rendering completed, the current rendering completed, and to be sent, thereby realizing uninterrupted real-time rendering, storage, and sending. There is no need to copy the rendered data to a temporary buffer for storage, which reduces the number of copies, reduces the system performance overhead, releases more available system performance, and ultimately improves the display system performance.

[0058] Figure 3 This is a step diagram of another image display method provided in an embodiment of the present application, which is applied to a client, wherein the client communicates with a server, and the method includes:

[0059] Step 301: Determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendered image; the storage area associated with the second tag is used to store the image data of the current rendered image; and the storage area associated with the third tag is used to store the image data to be sent.

[0060] Step 302: If it is determined that the preset switching condition is met, a corresponding label switching operation is performed to switch the functions of different storage areas; the labels triggered by different preset switching conditions are at least partially different;

[0061] Step 303: Send the image data in the storage area currently associated with the third tag to the server for display on a display device.

[0062] The details of steps 301 to 303 can be found in Figure 1 The embodiments will not be described in detail here.

[0063] Optionally, the determining whether a preset switching condition is satisfied includes:

[0064] determining that a first preset switching condition is satisfied when the image data in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, and the image data in the storage area associated with the third tag is not in a sending state;

[0065] The step 302 of performing the corresponding tag switching operation to switch the functions of different storage areas includes:

[0066] Sub-step 3021: swap the labels of the storage area associated with the first label and the storage area associated with the third label.

[0067] In an embodiment of the present application, since the storage area associated with the third tag contains image data to be sent to the server, the storage area associated with the third tag is in the last link of the entire rendering and sending, and the image data in the storage areas associated with the first tag and the second tag is newer or later than the image data in the storage area associated with the third tag.

[0068] Similarly, with respect to the first and second tags, the storage area associated with the second tag stores the currently rendered image data, while the storage area associated with the first tag stores the image data from the last rendered image. Therefore, the image data stored in the storage area associated with the second tag is more recent than the image data stored in the storage area associated with the first tag. The newness comparison of image data can be determined using time information carried in the image data or by numbering information added to the image data during rendering, without specific limitation.

[0069] When the image data in the storage area associated with the third tag is not in the sending state, it can be considered that the image data in the storage area has been acquired by the server. Even if the image data in the storage area has not been acquired by the server, when the next sending is performed, since the image data stored in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, the labels of the storage area associated with the first tag and the storage area associated with the third tag can be swapped, so that the data of the last rendering completed in the storage area originally associated with the first tag (the storage area associated with the third tag after the swap) is used as the data to be sent.

[0070] In an embodiment of the present application, when the image data in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, and the image data in the storage area associated with the third tag is not in a sending state, it is determined that the first preset switching condition is met, triggering the exchange of labels of the storage area associated with the first tag and the storage area associated with the third tag. When the data in the storage area associated with the third tag is not in a sending state, that is, in an idle state, the newer image data that was last rendered in the storage area associated with the first tag can be sent, thereby improving the efficiency of image data sending; and, through label exchange, the image data that was last rendered is directly used as the data to be sent, so that the storage area that has stored the image data that was last rendered can directly undertake the data sending task, thereby avoiding data copying operations and reducing system performance overhead.

[0071] Optionally, the determining whether a preset switching condition is satisfied includes:

[0072] When the storage area associated with the second tag already stores the currently rendered image data and the image data in the storage area associated with the third tag is in a sending state, determining that a second preset switching condition is satisfied;

[0073] The step 302 of performing the corresponding tag switching operation to switch the functions of different storage areas includes:

[0074] Sub-step 3022: swap the labels of the storage area associated with the second label and the storage area associated with the first label.

[0075] In this embodiment of the present application, the storage area associated with the second tag already contains the currently rendered image data, indicating that the current rendering operation has completed and the latest image data has been generated. However, the image data in the storage area currently associated with the third tag is in the sending state, and tag swapping cannot be performed for the storage area associated with the third tag.

[0076] Since the rendering operation is always ongoing and the image data is always updated, the labels of the storage area associated with the second label and the storage area associated with the first label can be swapped, so that the storage area currently associated with the second label (which already stores the latest image data of the current rendering) is switched to be associated with the first label, so that the image data in the storage area is determined to be the image data of the last rendering, and then the storage area originally associated with the first label (now the storage area associated with the second label) continues to be used to store the image data of the next rendering. Among them, the original "data of the last rendering" in the storage area originally associated with the first label (now the storage area associated with the second label) can be deleted or directly overwritten by the subsequently rendered image data, so that the storage area continues to be used to store the newly rendered image data.

[0077] For example, at the first moment, the storage area A associated with the first label stores data 1 (the image data of the last rendering completed at the first moment), and the storage area B associated with the second label stores data 2 (the latest image data of the current rendering completed at the first moment); at the second moment after the first moment, the second preset switching condition is met, the labels of storage areas A and B are swapped, and storage area A is associated with the second label. Then, storage area A is used to store the storage data 3 completed by subsequent rendering (the latest image data completed by the current rendering at the second moment), and at the same time, storage area B is associated with the first label. Since the newly rendered image data is stored in storage area A, storage area B still stores data 2 (the image data of the last rendering completed at the second moment).

[0078] In an embodiment of the present application, when the currently rendered image data is already stored in the storage area associated with the second tag, and the image data in the storage area associated with the third tag is in a sending state, that is, in a busy state, it is determined that the second preset switching condition is met, and the labels of the storage area associated with the second tag and the storage area associated with the first tag are interchanged. When the data in the storage area associated with the third tag is in a sending state, by interchanging the first tag and the second tag, the functions of the storage area associated with the first tag and the storage area associated with the second tag are interchanged, thereby providing storage space for subsequently rendered image data, thereby realizing real-time rendering updates and improving the updating efficiency of image data.

[0079] Optionally, the determining whether a preset switching condition is satisfied includes:

[0080] When the storage area associated with the second tag already stores the currently rendered image data and the image data in the storage area associated with the third tag is not in a sending state, determining that a third preset switching condition is satisfied;

[0081] The step 302 of performing the corresponding tag switching operation to switch the functions of different storage areas includes:

[0082] Sub-step 3023: swapping the labels of the storage area associated with the third label and the storage area associated with the second label.

[0083] In an embodiment of the present application, if the storage area associated with the second tag already contains the currently rendered image data, then the image data in the storage area associated with the second tag is the latest image data. At the same time, when the image data in the storage area associated with the third tag is not in a sending state, that is, an idle state, it is determined that the third preset switching condition is met, and the image data in the storage area currently associated with the second tag can be used as the data to be sent.

[0084] Therefore, the tags of the storage area associated with the third tag and the storage area associated with the second tag are swapped, so that the storage area associated with the second tag is switched to be associated with the third tag, so that the currently rendered image data can be used as the image data to be sent.

[0085] In an embodiment of the present application, when the currently rendered image data is already stored in the storage area associated with the second tag and the image data in the storage area associated with the third tag is not in a sending state, it is determined that the third preset switching condition is met, and the labels of the storage area associated with the third tag and the storage area associated with the second tag are swapped. There is no need to additionally copy the data to the storage area corresponding to the third tag. By swapping the labels of the second tag and the third tag, the latest rendered data can be directly used as the data to be sent, and the storage area that has stored the latest rendered data can take on the data sending task, thereby avoiding the copy operation and reducing the system performance overhead.

[0086] It is understandable that determining whether the first preset switching condition, the second preset switching condition, and the third preset switching condition are met, and switching the tag according to these preset switching conditions, so as to transmit image data, not only improves data processing efficiency, but also ensures that the image data sent to the server is newer data. In order to send the latest rendered image data to the server, when both the first preset switching condition and the third preset switching condition are met, it is possible to first switch between the third tag and the second tag corresponding to the third preset switching condition, so that the currently rendered image data already stored in the storage area associated with the second tag can be sent to the server, and after the switch, the storage area associated with the second tag can continue to be used to store subsequently rendered image data.

[0087] Figure 4 This is a schematic diagram of a label swapping strategy provided in an embodiment of the present application; Figure 4 The storage area 401 is associated with a first tag, the storage area 402 is associated with a second tag, and the storage area 403 is associated with a third tag. When a first preset switching condition is met, the tags of the storage area 401 and the storage area 403 are swapped; when a second preset switching condition is met, the tags of the storage area 401 and the storage area 402 are swapped; when a third preset switching condition is met, the tags of the storage area 402 and the storage area 403 are swapped.

[0088] Combine Figure 2 In the prior art, the processing process of rendering data is that the client sends the rendering data corresponding to a frame of image to the server. The server receives the image data and copies the image data to a temporary buffer. At this point, the client completes the rendering of one frame of image before the client proceeds to render the next frame of image. It is understandable that the prior art actually only involves the rendering data of one frame of image at a time. In this application, the first tag, the second tag, and the third tag correspond to three storage areas, which can be used to store the rendering data corresponding to three frames of image respectively, that is, the rendering data of three frames of image are processed at the same time, which is more efficient.

[0089] Optionally, the method further includes:

[0090] Step A1: Sending a rendering completion notification to the server; the server is configured to send a data acquisition request to the client upon receiving the rendering completion notification and when the display device has completed display based on the previous image data;

[0091] Step A2: receiving and responding to the data acquisition request, triggering the step of sending the image data in the storage area currently associated with the third tag to the server.

[0092] In an embodiment of the present application, after completing each rendering and generating image data, the client can send a rendering completion notification to the server so that the server can determine that new image data has been rendered and generated, but there is no need to copy the image data to a temporary buffer.

[0093] The client can monitor the rendering progress to determine whether a rendering session is complete, for example, rendering the image data corresponding to a frame. In the Open Graphics Library (OpenGL), for example, the glFinish() or glFlush() functions can be used in conjunction with synchronization objects such as glFenceSync() and glClientWaitSync() to determine whether rendering is complete. The glFinish() function blocks the current thread until all previously submitted commands to OpenGL are executed, indicating that the rendering of a frame of image data is complete. glFenceSync() creates a synchronization object to mark the location of the current rendering instruction. glClientWaitSync() waits for the synchronization object to transition to a completed state. When glClientWaitSync() returns, the rendering of a frame of image data is complete. Furthermore, the rendering status can be fed back to the central processing unit (CPU) based on the GPU's mechanism. The GPU can internally record the progress of the rendering task using hardware counters or status registers. When a frame of rendering is complete, the GPU can send an interrupt signal to the CPU via the bus to inform the CPU that the rendering of a frame of image data has been completed. How the client determines whether a rendering session has completed and image data has been generated is not specifically limited herein.

[0094] After receiving the rendering completion notification, the server can determine whether the display device has completed image display based on the last acquired image data. The process of determining whether the display is complete can be that after the display device completes displaying a frame of image, it can send a vertical synchronization (VSync) signal to the server. The server monitors this signal through the interface provided by the operating system kernel or display driver. When the VSync signal is received, it indicates that the display device has completed the physical scan output of the previous frame of image, that is, the previous frame of display data has been successfully displayed on the screen.

[0095] The display device can scan the display content line by line at a fixed frame rate. After completing one frame of display, the display device can notify the server through a hardware signal, such as a vertical blanking signal, so that the server can determine that the display device has completed one frame of display. When the server determines that the display device has completed the display based on the last image data, it sends a data acquisition request to the client, indicating that it can continue to acquire new image data. The server can generate a data acquisition request based on information such as the image position, size and format. Among them, the image position can refer to the coordinate position of the image in the display device or window, usually in pixels, which is used to determine the rendering area of ​​the image on the screen; the image size can refer to the width (Width) and height (Height) of the image, which is used to define the size of the rendering area, in pixels; the image format can refer to the pixel storage format of the image data, including pixel arrangement, color space, bit depth, etc., to ensure that the server and client have consistent parsing of the image data. The above-mentioned process of the server determining that the display device has completed one frame of display and generating a data acquisition request can be implemented through threads.

[0096] The client receives and responds to the data acquisition request, triggering the sending of the image data in the storage area currently associated with the third tag to the server, and the server provides the image data to the display device for display.

[0097] In an embodiment of the present application, a rendering completion notification is sent to the server to actively notify the server of the current rendering completion status. When the server receives the rendering completion notification and determines that the display device has completed the display based on the last image data, it returns a data acquisition request to the client. The client responds to the data acquisition request and triggers the sending of the image data in the storage area currently associated with the third tag to the server. An active presentation mechanism can be established between the client and the server, forming an active interaction path in which the client actively notifies, the server returns the data acquisition request, and the client responds and sends data. Furthermore, while reducing the temporary buffer storage area and the operation of copying image data from the client to the temporary buffer, the image data transmission can still be completed conveniently, thereby improving the efficiency of image data interaction.

[0098] Optionally, the method further includes:

[0099] Step B1, creating an interactive protocol interface and a request listening thread; wherein, the interactive protocol interface is used for the client to call to generate the rendering completion notification and send it to the server; the request listening thread is used to trigger the client to send the image data in the storage area currently associated with the third tag to the server when the client receives the data acquisition request.

[0100] In an embodiment of the present application, creating an interactive protocol interface can be done by adding an interactive protocol interface to the Xlib library (which provides functions and data interfaces for implementing communication between the client and the server). A new protocol request can be defined, including the requested operation code, parameters, and return value, and a function for sending the protocol request to the server can be created. This function is used to construct a request message and can use functions such as XSendEvent or XSendExtensionEvent to send the message to the server. The 3D program running on the client can call the interactive protocol interface to generate a rendering completion notification and send it to the server.

[0101] You can use the thread library provided by the client operating system, such as POSIX threads, to create and manage threads that listen for specific events or messages, such as a request listener thread that listens for data acquisition requests from the server. You can create and start a listening thread in the Mesa3D library using the following code:

[0102] void start_monitor_thread(Display*display){

[0103] pthread_t thread_id;

[0104] pthread_create(&thread_id,NULL,monitor_thread,(void*)display);

[0105] pthread_detach(thread_id);

[0106] }

[0107] The above code can be integrated into the source code of the Mesa3D library. In the above code, a function named "start_monitor_thread" is defined. The variable "thread_id" inside the function is used to store the thread identifier. Then the "pthread_create" function is called to create a new thread. The execution function of the new thread is "monitor_thread".

[0108] The request listening thread created and started based on the above process is used to send a data acquisition request to the client through the interactive protocol interface on the server side. When the client receives the data acquisition request, it triggers the client to send the image data in the storage area currently associated with the third tag to the server side. The client can send the image data to the server through the interactive protocol interface.

[0109] In an embodiment of the present application, an interactive protocol interface and a request listening thread are created. The interactive protocol interface is used for the client to call to generate a rendering completion notification and send it to the server. The request listening thread is used to trigger the client to send the image data in the storage area currently associated with the third tag to the server when the client receives a data acquisition request. Through the interactive protocol interface and the request listening thread, an interactive link can be established between the client and the server, so that the image data transmission can be completed conveniently, thereby improving the efficiency of image data interaction.

[0110] Figure 5 is a schematic diagram of the active presentation mechanism provided in an embodiment of the present application; Figure 5 The 3D program 501 is included in the client, and a triple-buffer component is created in the Mesa3D library in the 3D program. The triple-buffer component can be used to manage at least three storage areas, such as image data in three buffers. The Mesa3D library also includes a request listening thread, which sends a rendering completion notification and then monitors the request listening thread to determine whether a data acquisition request from the server 502 has been received. The 3D program 501 and the server 502 communicate based on the Xlib library. The server 502 includes a window fusion component, which is used to perform window fusion (Window Compositing), which can be based on a compositor (Compositor) to merge the contents of multiple independently drawn windows into the final displayed image in real time.

[0111] Figure 6 This is a step diagram of another image display method provided in an embodiment of the present application, which is applied to a server, where the server communicates with a client, and the method includes:

[0112] Step 603: Receive image data sent by the client; the client is configured to determine tags associated with storage areas in the client; wherein the storage area associated with the first tag is configured to store image data rendered last time; the storage area associated with the second tag is configured to store image data currently rendered; and the storage area associated with the third tag is configured to store image data to be sent; the client is further configured to, upon determining that a preset switching condition is satisfied, execute a corresponding tag switching operation to switch functions of different storage areas; different preset switching conditions trigger at least partially different tags for switching; and the client is further configured to send the image data currently in the storage area associated with the third tag to the server;

[0113] Step 604: storing the image data in a fusion storage area and a display storage area in sequence, and processing the image data in the fusion storage area and the display storage area in sequence to obtain a display signal;

[0114] Step 605: Send the display signal to a display device; the display device is used to display according to the display signal.

[0115] In an embodiment of the present application, after the server obtains the image data, it may further process the image data before sending the image data to the display device.

[0116] The server obtains image data by calling the window fusion component in the server to copy the image data to a fusion storage area, such as a fusion buffer. The window fusion component can collect the image content of each window based on a synthesizer, and fuse it into a complete image based on the window's position, size, transparency and other attributes. It can also add effects such as shadows, blur, and transparency to obtain fusion data after completing the relevant fusion processing.

[0117] The fused data in the fused storage area can be copied to a display storage area, such as a display driver buffer. The display driver converts the digital image data in the display driver buffer into a signal format suitable for reception by the display device, which involves converting the digital signal into an analog signal. For example, in a cathode ray tube display device, the digital image data needs to be converted into a voltage signal to control the scanning of the electron gun and the luminous intensity of the pixels on the fluorescent screen. For display devices such as liquid crystal display (LCD) devices and organic light-emitting diode (OLED) display devices, the display driver can convert the image data into a digital signal that conforms to the specific format and level of the display device. The display driver then transmits the converted display signal to the display device via a display device interface, such as a video graphics array (VGA) interface, a digital visual interface (DVI), a high-definition multimedia interface (HDMI), or a display port (DP).

[0118] After a display device receives a display signal, its internal circuitry controls the brightness, color, and other properties of the pixels based on the received signal, thereby displaying the corresponding image on the screen. For example, LCD displays control the transmission and blocking of light by deflecting liquid crystal molecules, thereby displaying different colors and brightnesses. OLED displays display images by generating light from organic materials under the influence of an electric field.

[0119] It can be understood that the above data copying process only includes copying to the fusion storage area and copying to the display storage area, which reduces the copying process required to copy to the temporary buffer in the existing technology, reduces the system performance overhead, and releases more system performance.

[0120] For other contents of the above steps 603 to 605, please refer to Figures 1 to 5 The embodiments will not be described in detail here.

[0121] Optionally, before step 603 of receiving the image data sent by the client, the method further includes:

[0122] Step 601: receiving a rendering completion notification sent by the client;

[0123] Step 602, when the display device has completed display based on the previous image data, sends a data acquisition request to the client; the client is used to receive and respond to the data acquisition request, and send the image data in the storage area currently associated with the third tag to the server.

[0124] The contents of the above steps 601 to 602 can refer to the contents of steps A1 to A2 and will not be repeated here.

[0125] In summary, in an embodiment of the present application, the tags associated with the storage areas in the client are determined, the functions of the storage areas are determined by the tags, and when it is determined that the preset switching conditions are met, the corresponding tag switching operation is performed to switch the functions of different storage areas. Finally, the image data in the storage area currently associated with the third tag is sent to the server for display on the display device. The specific function of each storage area is not limited, but the function of the storage area is flexibly changed through tag interchange, so that the storage area is used in turn to store the image data of the last rendering completed, the current rendering completed, and to be sent, thereby realizing uninterrupted real-time rendering, storage, and sending. There is no need to copy the rendered data to a temporary buffer for storage, which reduces the number of copies, reduces the system performance overhead, releases more available system performance, and ultimately improves the display system performance.

[0126] Figure 7 This is a schematic diagram of the display process after optimizing the number of copies provided by an embodiment of the present application; Figure 7 The system includes client 701, server 702, and display device 703. After client 701 completes rendering via the Mesa3D library, it notifies the server's Xorg service via the Xlib library. The Xorg service then notifies the window fusion component. The window fusion component obtains image data and stores it in the corresponding fusion storage area. After fusion processing, it copies the image data to the display storage area corresponding to the display driver. After signal processing, it is sent to display device 703 for display. The data flow transmission mode and the window fusion component's copy operation function have been optimized, allowing it to replace the copy to temporary buffer mechanism while maintaining compatibility with existing functions. This eliminates the need for copying to the temporary buffer, thereby reducing system performance overhead and releasing more system performance for applications.

[0127] Figure 8 This embodiment of the present application provides a client, and the client 800 includes:

[0128] The determining unit 801 is configured to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendered image; the storage area associated with the second tag is used to store the image data of the current rendered image; and the storage area associated with the third tag is used to store the image data to be sent.

[0129] The switching unit 802 is configured to execute a corresponding tag switching operation to switch functions of different storage areas when it is determined that a preset switching condition is satisfied; the tags triggered by different preset switching conditions are at least partially different;

[0130] The sending unit 803 is configured to send the image data in the storage area currently associated with the third tag to the server for display on a display device.

[0131] Optionally, the switching unit 802 includes:

[0132] a first determining subunit, configured to determine that a first preset switching condition is satisfied when the image data in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, and the image data in the storage area associated with the third tag is not in a sending state;

[0133] The first switching subunit is configured to exchange labels of the storage area associated with the first label and the storage area associated with the third label.

[0134] Optionally, the switching unit 802 includes:

[0135] a second determining subunit, configured to determine that a second preset switching condition is satisfied when the storage area associated with the second tag already stores currently rendered image data and the image data in the storage area associated with the third tag is in a sending state;

[0136] The second switching subunit is configured to exchange the labels of the storage area associated with the second label and the storage area associated with the first label.

[0137] Optionally, the switching unit 802 includes:

[0138] a third judgment subunit, configured to determine that a third preset switching condition is satisfied when the currently rendered image data is stored in the storage area associated with the second tag and the image data in the storage area associated with the third tag is not in a sending state;

[0139] The third switching subunit is configured to exchange the labels of the storage area associated with the third label and the storage area associated with the second label.

[0140] Optionally, the client 800 further includes:

[0141] a notification sending unit, configured to send a rendering completion notification to the server; the server is configured to send a data acquisition request to the client upon receiving the rendering completion notification and when the display device has completed display based on the previous image data;

[0142] The trigger sending unit is used to receive and respond to the data acquisition request to trigger the step of sending the image data in the storage area currently associated with the third tag to the server.

[0143] Optionally, the client 800 further includes:

[0144] A creation unit is used to create an interactive protocol interface and a request listening thread; wherein the interactive protocol interface is used for being called by the client to generate the rendering completion notification and send it to the server; the request listening thread is used to trigger the client to send the image data in the storage area currently associated with the third tag to the server when the client receives the data acquisition request.

[0145] Figure 9 This is a server provided in an embodiment of the present application. The server 900 includes:

[0146] A receiving unit 901 is configured to receive image data sent by the client; the client is configured to determine tags associated with storage areas in the client; wherein the storage area associated with the first tag is configured to store image data rendered last time; the storage area associated with the second tag is configured to store image data currently rendered; and the storage area associated with the third tag is configured to store image data to be sent; the client is further configured to, upon determining that a preset switching condition is satisfied, execute a corresponding tag switching operation to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different; and the client is further configured to send the image data currently in the storage area associated with the third tag to the server;

[0147] A processing unit 902 is configured to store the image data in a fusion storage area and a display storage area in sequence, and process the image data in the fusion storage area and the display storage area respectively to obtain a display signal;

[0148] The sending unit 903 is configured to send the display signal to a display device; the display device is configured to perform display according to the display signal.

[0149] Optionally, the server 900 further includes:

[0150] a notification receiving unit, configured to receive a rendering completion notification sent by the client;

[0151] A data request unit is used to send a data acquisition request to the client when the display device has completed display based on the previous image data; the client is used to receive and respond to the data acquisition request and send the image data in the storage area currently associated with the third tag to the server.

[0152] Figure 10 is a block diagram of an image display system provided in an embodiment of the present application; Figure 10 The image display system 1000 includes a client 1001, a server 1002 and a display device 1003;

[0153] The client 1001 is configured to determine tags associated with storage areas in the client; wherein the storage area associated with the first tag is used to store image data rendered last time; the storage area associated with the second tag is used to store image data currently rendered; and the storage area associated with the third tag is used to store image data to be sent; if it is determined that a preset switching condition is satisfied, performing a corresponding tag switching operation to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different; and sending the image data currently in the storage area associated with the third tag to the server 1002;

[0154] The server 1002 is configured to receive image data sent by the client 1001; store the image data in a fusion storage area and a display storage area in sequence, process the image data in the fusion storage area and the display storage area in sequence to obtain a display signal; and send the display signal to the display device 1003;

[0155] The display device 1003 is configured to perform display according to the display signal.

[0156] The image display system in the embodiments of the present application can be a component, integrated circuit, or chip in a terminal. The system can be a mobile electronic device or a non-mobile electronic device. For example, the mobile electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. The non-mobile electronic device can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc., and the embodiments of the present application do not specifically limit this.

[0157] The image display system in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.

[0158] The image display system provided in the embodiment of the present application can implement each step of the image display method in the above method embodiment, and to avoid repetition, they will not be described here.

[0159] Optionally, an embodiment of the present application also provides an electronic device, which includes a memory and one or more programs, wherein the one or more programs are stored in the memory and are configured to implement the various processes of the above-mentioned image display method embodiment when executed by one or more processors, and can achieve the same technical effect. To avoid repetition, they are not further described.

[0160] It should be noted that the electronic devices in the embodiments of the present application include mobile electronic devices and non-mobile electronic devices.

[0161] Figure 11 This is a block diagram of an electronic device 1100 provided in an embodiment of the present application.

[0162] The electronic device 1100 includes but is not limited to components such as a radio frequency unit 1101 , a network module 1102 , an audio output unit 1103 , an input unit 1104 , a sensor 1105 , a display unit 1106 , a user input unit 1107 , an interface unit 1108 , a memory 1109 , and a processor 1110 .

[0163] Those skilled in the art will understand that the electronic device 1100 may also include a power source (such as a battery) to power each component, and the power source may be logically connected to the processor 1110 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system. Figure 11 The electronic device structure shown in the figure does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be repeated here.

[0164] The processor 1110 is configured to determine tags associated with storage areas in the client; the storage area associated with the first tag is configured to store image data rendered last time; the storage area associated with the second tag is configured to store image data rendered currently; and the storage area associated with the third tag is configured to store image data to be sent.

[0165] When it is determined that the preset switching condition is met, performing a corresponding tag switching operation to switch the functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different;

[0166] The image data in the storage area currently associated with the third tag is sent to the server for display on a display device.

[0167] In summary, in an embodiment of the present application, the tags associated with the storage areas in the client are determined, the functions of the storage areas are determined by the tags, and when it is determined that the preset switching conditions are met, the corresponding tag switching operation is performed to switch the functions of different storage areas. Finally, the image data in the storage area currently associated with the third tag is sent to the server for display on the display device. The specific function of each storage area is not limited, but the function of the storage area is flexibly changed through tag interchange, so that the storage area is used in turn to store the image data of the last rendering completed, the current rendering completed, and to be sent, thereby realizing uninterrupted real-time rendering, storage, and sending. There is no need to copy the rendered data to a temporary buffer for storage, which reduces the number of copies, reduces the system performance overhead, releases more available system performance, and ultimately improves the display system performance.

[0168] It should be understood that in an embodiment of the present application, the input unit 1104 may include a graphics processor (GPU) 11041 and a microphone 11042, and the image processor 11041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 1106 may include a display panel 11061, and the display panel 11061 may be configured in the form of a liquid crystal display device, an organic light emitting diode, etc. The user input unit 1107 includes a touch panel 11071 and at least one of other input devices 11072. The touch panel 11071 is also called a touch screen. The touch panel 11071 may include two parts: a touch detection device and a touch controller. Other input devices 11072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and an operating stick, which will not be repeated here.

[0169] The memory 1109 can be used to store software programs and various data. The memory 1109 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 1109 may include a volatile memory or a non-volatile memory, or the memory 1109 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The memory 1109 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0170] Processor 1110 may include one or more processing units. Optionally, processor 1110 integrates an application processor and a modem processor. The application processor primarily handles operations related to the operating system, user interface, and application programs, while the modem processor primarily processes wireless communication signals, such as a baseband processor. It is understood that the modem processor may not be integrated into processor 1110.

[0171] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned image display method embodiment are implemented and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0172] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a readable storage medium such as a computer read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.

[0173] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned image display method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0174] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0175] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0176] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.

Claims

1. An image display method, characterized in that: Applied to a client, the client communicating with a server, the method comprising: Determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendering completed; the storage area associated with the second tag is used to store the image data of the current rendering completed; and the storage area associated with the third tag is used to store the image data to be sent; When it is determined that the preset switching condition is met, performing a corresponding tag switching operation to switch the functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different; The image data in the storage area currently associated with the third tag is sent to the server for display on a display device.

2. The method according to claim 1, characterized in that The determining that the preset switching condition is satisfied includes: determining that a first preset switching condition is satisfied when the image data in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, and the image data in the storage area associated with the third tag is not in a sending state; The step of performing corresponding tag switching operations to switch functions of different storage areas includes: The labels of the storage area associated with the first label and the storage area associated with the third label are exchanged.

3. The method according to claim 1, characterized in that The determining that the preset switching condition is satisfied includes: When the storage area associated with the second tag already stores the currently rendered image data and the image data in the storage area associated with the third tag is in a sending state, determining that a second preset switching condition is satisfied; The step of performing corresponding tag switching operations to switch functions of different storage areas includes: The labels of the storage area associated with the second label and the storage area associated with the first label are exchanged.

4. The method according to claim 1, wherein The determining that the preset switching condition is satisfied includes: When the storage area associated with the second tag already stores the currently rendered image data and the image data in the storage area associated with the third tag is not in a sending state, determining that a third preset switching condition is satisfied; The step of performing corresponding tag switching operations to switch functions of different storage areas includes: The labels of the storage area associated with the third label and the storage area associated with the second label are exchanged.

5. The method according to claim 1, wherein The method further comprises: Sending a rendering completion notification to the server; the server is configured to send a data acquisition request to the client upon receiving the rendering completion notification and when the display device has completed display based on the previous image data; Receiving and responding to the data acquisition request triggers the step of sending the image data in the storage area currently associated with the third tag to the server.

6. The method according to claim 5, characterized in that The method further comprises: An interactive protocol interface and a request listening thread are created; wherein the interactive protocol interface is used for the client to call to generate the rendering completion notification and send it to the server; the request listening thread is used to trigger the client to send the image data in the storage area currently associated with the third tag to the server when the client receives the data acquisition request.

7. An image display method, characterized in that: Applied to a server, the server communicating with a client, the method comprising: Receive image data sent by the client; the client is used to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendering; the storage area associated with the second tag is used to store the image data of the current rendering; the storage area associated with the third tag is used to store the image data to be sent; the client is also used to perform a corresponding tag switching operation to switch the functions of different storage areas when it is determined that a preset switching condition is met; the tags triggered by different preset switching conditions are at least partially different; the client is also used to send the image data in the storage area currently associated with the third tag to the server; storing the image data in a fusion storage area and a display storage area in sequence, and processing the image data in the fusion storage area and the display storage area in sequence to obtain a display signal; The display signal is sent to a display device; the display device is used to display according to the display signal.

8. The method according to claim 7, characterized in that Before the step of receiving the image data sent by the client, the method further includes: Receive a rendering completion notification sent by the client; When the display device has completed display based on the previous image data, a data acquisition request is sent to the client; the client is used to receive and respond to the data acquisition request, and send the image data in the storage area currently associated with the third tag to the server.

9. A client, characterized in that: include: A determination unit, configured to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendered image; the storage area associated with the second tag is used to store the image data of the current rendered image; and the storage area associated with the third tag is used to store the image data to be sent; A switching unit, configured to, upon determining that a preset switching condition is satisfied, execute a corresponding tag switching operation to switch functions of different storage areas; the tags triggered by different preset switching conditions are at least partially different; The sending unit is configured to send the image data in the storage area currently associated with the third tag to the server for display on a display device.

10. The client according to claim 9, characterized in that The switching unit includes: a first determining subunit, configured to determine that a first preset switching condition is satisfied when the image data in the storage area associated with the first tag is newer than the image data in the storage area associated with the third tag, and the image data in the storage area associated with the third tag is not in a sending state; The first switching subunit is configured to exchange labels of the storage area associated with the first label and the storage area associated with the third label.

11. The client according to claim 9, wherein: The switching unit includes: a second determining subunit, configured to determine that a second preset switching condition is satisfied when the storage area associated with the second tag already stores currently rendered image data and the image data in the storage area associated with the third tag is in a sending state; The second switching subunit is configured to exchange the labels of the storage area associated with the second label and the storage area associated with the first label.

12. The client according to claim 9, wherein: The switching unit includes: a third judgment subunit, configured to determine that a third preset switching condition is satisfied when the currently rendered image data is stored in the storage area associated with the second tag and the image data in the storage area associated with the third tag is not in a sending state; The third switching subunit is configured to exchange the labels of the storage area associated with the third label and the storage area associated with the second label.

13. The client according to claim 9, wherein: The client also includes: a notification sending unit, configured to send a rendering completion notification to the server; the server is configured to send a data acquisition request to the client upon receiving the rendering completion notification and when the display device has completed display based on the previous image data; The trigger sending unit is used to receive and respond to the data acquisition request to trigger the step of sending the image data in the storage area currently associated with the third tag to the server.

14. The client according to claim 13, wherein: The client also includes: A creation unit is used to create an interactive protocol interface and a request listening thread; wherein the interactive protocol interface is used for being called by the client to generate the rendering completion notification and send it to the server; the request listening thread is used to trigger the client to send the image data in the storage area currently associated with the third tag to the server when the client receives the data acquisition request.

15. A server, characterized in that: include: A receiving unit, configured to receive image data sent by the client; The client is used to determine the tags associated with the storage areas in the client; wherein the storage area associated with the first tag is used to store the image data of the last rendering; the storage area associated with the second tag is used to store the image data of the current rendering; and the storage area associated with the third tag is used to store the image data to be sent; the client is also used to perform a corresponding tag switching operation to switch the functions of different storage areas when it is determined that a preset switching condition is met; the tags triggered by different preset switching conditions are at least partially different; the client is also used to send the image data in the storage area currently associated with the third tag to the server; a processing unit, configured to sequentially store the image data in a fusion storage area and a display storage area, and process the image data in the fusion storage area and the display storage area respectively to obtain a display signal; The sending unit is used to send the display signal to the display device; the display device is used to display according to the display signal.

16. The server according to claim 15, characterized in that: Also includes: a notification receiving unit, configured to receive a rendering completion notification sent by the client; a data requesting unit, configured to send a data acquisition request to the client when the display device has completed display based on the last image data; The client is configured to receive and respond to the data acquisition request, and send the image data in the storage area currently associated with the third tag to the server.

17. An image display system, characterized in that: The system includes a client according to any one of claims 9 to 14, a server according to claim 15 or claim 16, and a display device, wherein the display device is configured to perform display according to a display signal received from the server.

18. An electronic device, characterized in that: The electronic device includes a memory and one or more programs, wherein the one or more programs are stored in the memory and configured to execute the image display method according to any one of claims 1 to 8 by one or more processors.

19. A readable storage medium, characterized in that When the instructions in the storage medium are executed by a processor of an electronic device, the processor is enabled to execute the image display method according to any one of claims 1 to 8.