A multi-channel synchronous display method, host, server and system

By receiving and configuring synchronous data in multi-channel synchronous display technology, ensuring that each channel acquires the same viewport data and performs viewport synchronization, the problem of viewport tear is solved and the display efficiency and fluency is improved.

CN119292552BActive Publication Date: 2025-03-25BEIJING SEASTARS SCI & TECH INC CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411836081.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2025-03-25
Estimated Expiration
2044-12-13

AI Technical Summary

Technical Problem

In multi-channel synchronous display technology, viewport tear is prone to occur, such as misalignment, gaps, etc.

Method used

By receiving synchronization data, the first and second frame synchronization modules are configured to comment out unrelated synchronization events, ensure that each channel acquires the same viewport data, and performs viewport synchronization through the second frame synchronization module, and the rendering frame cycle is not started until the viewport synchronization is completed.

Benefits of technology

The consistency of viewports of each channel is achieved, viewport tear is avoided, and display efficiency and fluency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292552B_ABST
    Figure CN119292552B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of multi-channel synchronous display, and specifically relates to a multi-channel synchronous display method, comprising the following steps: receiving synchronization data, wherein the synchronization data includes synchronization events and viewport data, wherein the viewport data includes the position and angle data of the viewport; configuring the synchronization data in a first frame synchronization module, wherein the first frame synchronization module is used to synchronize events of each channel, and commenting out the viewport data in the first frame synchronization module; configuring the viewport data in a second frame synchronization module, wherein the second frame synchronization module is used to synchronize the viewports of each channel; and setting the local state according to the synchronization data, including setting the local viewport according to the viewport data. Based on the multi-channel synchronous display method of the present invention, a corresponding host, server and multi-channel synchronous display system are proposed. The present invention can solve the problem of viewport tearing, and can also improve display efficiency and fluency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of multi-channel synchronous display, and in particular relates to a multi-channel synchronous display method, a host server and a system. Background Art

[0002] Through multi-channel synchronous display technology, the same picture can be displayed on the display screens of multiple channels. Each channel displays different parts of the same picture according to its own viewport data, thus combining them into a complete picture. However, viewport tearing is prone to occur, such as misalignment and gaps. Summary of the invention

[0003] The present application provides a multi-channel synchronous display method to solve the problem of viewport tearing.

[0004] The present invention is achieved through the following technical solutions:

[0005] A multi-channel synchronous display method comprises the following steps:

[0006] Receiving synchronization data, wherein the synchronization data includes synchronization events and viewport data, wherein the viewport data includes position and angle data of the viewport;

[0007] configuring the synchronization data in a first frame synchronization module, the first frame synchronization module being used to synchronize events of each channel, and commenting out the viewport data in the first frame synchronization module;

[0008] configuring the viewport data in a second frame synchronization module, wherein the second frame synchronization module is used to synchronize the viewports of each channel;

[0009] The local state is set according to the synchronization data, including setting the local viewport according to the viewport data.

[0010] In the present invention, each channel obtains the same viewport data, and synchronizes the viewport through the second frame synchronization module, thereby maintaining the consistency of the viewports of each channel, that is, the viewports of each channel have the same position and angle, thereby solving the problem of easy tearing of the viewport. The present invention decouples event synchronization from viewport synchronization, and event synchronization and viewport synchronization can be performed in parallel, thereby improving display efficiency and fluency.

[0011] Furthermore, starting a rendering frame loop is prohibited until the viewport synchronization is completed and then the local rendering frame loop is started.

[0012] The rendering frame loop is a program that performs rendering operations at a certain frequency. After the rendering frame loop is started, each channel can perform rendering operations, that is, render the image data generated according to the synchronization event. The rendering frame loop of the local machine is not started until the viewport synchronization of each channel is completed, ensuring that the images rendered by each channel have the same viewport.

[0013] Furthermore, after the local state is set, synchronization completion information is fed back to the server.

[0014] Feedback synchronization completion information to the server so that the server can determine whether each channel has completed the local status setting based on the synchronization completion information.

[0015] Furthermore, the method further includes commenting out irrelevant synchronization events in the first frame synchronization module; the irrelevant synchronization events refer to events that are irrelevant to the screen display content.

[0016] Synchronous events refer to various operations generated on the host of a channel, for example, game character A releases a skill k. Irrelevant synchronous events will not affect the displayed content, but will consume computing resources, so they are commented out to save computing resources.

[0017] Furthermore, the irrelevant synchronous events include turning off the display and / or pressing the keyboard.

[0018] The present invention also provides a host, wherein the host is configured with a synchronous display program, and the synchronous display program is used to execute the above-mentioned multi-channel synchronous display method.

[0019] The present invention also provides a server, comprising:

[0020] Synchronous data generation module and multi-channel management module;

[0021] The synchronization data generation module is used to generate synchronization data, wherein the synchronization data includes synchronization events and viewport data, and the viewport data includes position and angle data of the viewport;

[0022] The multi-channel management module is used to send the synchronization data, and after receiving the synchronization end information of each channel, send the next synchronization data.

[0023] When the server receives the synchronization completion information of each channel, it indicates that each channel has completed the local settings according to the same synchronization data. At this time, the next synchronization data is sent to avoid channels that have completed the local status settings one after another receiving different synchronization data, thereby ensuring the consistency of the synchronization data.

[0024] The present invention also provides a multi-channel synchronous display system, comprising the above-mentioned server and a plurality of the above-mentioned hosts, wherein the hosts receive the synchronous data from the servers through the same port.

[0025] Receive synchronous data through the same port to ensure the consistency of network transmission.

[0026] Further, one of the channels is used as a main channel, and the remaining channels are secondary channels;

[0027] The graphics card corresponding to the main channel is the main graphics card; the graphics card corresponding to the secondary channel is the secondary graphics card;

[0028] The main graphics card and the secondary graphics card are connected to form a graphics card communication network. The main graphics card sends the viewport data of the main channel to the secondary graphics card through the graphics card communication network. The secondary graphics card renders the picture within the local field of view according to the viewport data of the main channel.

[0029] Since the rendering efficiency and environment of the host of each channel vary greatly, it is inevitable that the number of frames of each channel will be inconsistent, and the display time of the rendered picture will be uneven. The secondary graphics card can reduce the difference in rendering time of each channel host by rendering the picture within the local field of view according to the viewport data of the main channel, making the pictures of each channel look more coherent. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0031] Figure 1 It is a viewport tearing diagram in the prior art;

[0032] Figure 2 This is a viewport correction effect diagram in this specific implementation mode;

[0033] Figure 3 This is a flowchart of the synchronous start of the simulation scene display program in this specific implementation mode;

[0034] Figure 4 is a schematic diagram of a graphics card communication network in this specific implementation mode;

[0035] Figure 5 It is an overall flow chart of multi-channel synchronous display in this specific implementation manner. DETAILED DESCRIPTION

[0036] Through multi-channel synchronous display technology, the same picture can be displayed on the display screens of multiple channels. Each channel displays different parts of the same picture according to its own viewport data (which part is displayed is determined according to the channel's field of view, and the total field of view is 180°), thus stitching together a complete picture. However, it is easy to cause viewport tearing, such as dislocation and gaps. Refer to Figure 1As shown, the picture in display screen 1 and the picture in display screen 2 are misaligned because the viewport position of display screen 1 is inconsistent with the viewport position of display screen 2.

[0037] Example 1

[0038] In order to solve the problem of viewport tearing, this specific embodiment provides a multi-channel synchronous display method, including the following steps:

[0039] Receiving synchronization data, wherein the synchronization data includes synchronization events and viewport data, wherein the viewport data includes position and angle data of the viewport;

[0040] configuring the synchronization data in a first frame synchronization module, the first frame synchronization module being used to synchronize events of each channel, and commenting out the viewport data in the first frame synchronization module;

[0041] configuring the viewport data in a second frame synchronization module, wherein the second frame synchronization module is used to synchronize the viewports of each channel;

[0042] The local state is set according to the synchronization data, including setting the local viewport according to the viewport data.

[0043] In this embodiment, each channel obtains the same viewport data, and synchronizes the viewport through the second frame synchronization module, thereby maintaining the consistency of the viewports of each channel, that is, the viewports of each channel have the same position and angle, thereby solving the problem of easy tearing of the viewport. In this embodiment, event synchronization and viewport synchronization are decoupled, and event synchronization and viewport synchronization can be carried out in parallel, thereby improving display efficiency and fluency.

[0044] In order to reduce the delay in the second frame synchronization module obtaining viewport data from the first frame synchronization module, the present embodiment sets a viewport object pointer in the second frame synchronization module, and the viewport object pointer stores the address of the viewport data in the first frame synchronization module. Then, the second frame synchronization module can directly obtain the viewport data from the first frame synchronization module through the viewport object pointer during operation, without waiting for the first frame synchronization module to send the viewport data before performing viewport synchronization.

[0045] After each channel sets the local status, the CPU generates the scene data to be rendered and sends it to the GPU for rendering. In order to solve the problem of asynchronous rendering, this embodiment adopts the following measures: prohibiting the start of the rendering frame cycle until the viewport synchronization is completed.

[0046] The rendering frame loop is a program that performs rendering operations at a certain frequency. After the rendering frame loop is started, each channel can perform rendering operations, that is, render the scene data generated according to the synchronization event. The rendering frame loop of the machine is not started until the viewport synchronization of each channel is completed, ensuring that the images rendered by each channel have the same viewport.

[0047] After the viewports of each channel are calibrated by the multi-channel synchronous display method of this embodiment, the multi-channel display effect is as follows: Figure 2 shown.

[0048] Example 2

[0049] Based on Example 1, this embodiment further includes commenting out irrelevant synchronization events in the first frame synchronization module; the irrelevant synchronization events refer to events that are irrelevant to the content displayed on the screen. In this embodiment, the irrelevant synchronization events include turning off the display and / or pressing the keyboard.

[0050] Synchronous events refer to various operations generated on the host of a channel, for example, game character A releases a skill k. Irrelevant synchronous events will not affect the displayed content, but will consume computing resources, so they are commented out to save computing resources.

[0051] Example 3

[0052] This embodiment provides a multi-channel synchronous display system, including a server and several hosts, wherein the hosts receive the synchronous data from the server through the same port. Receiving the synchronous data through the same port ensures the consistency of network transmission.

[0053] In this embodiment, a synchronous display program is configured in the host, and the synchronous display program is used to execute the multi-channel synchronous display method described in any one of Embodiments 1 to 2.

[0054] Preferably, after the host of each channel has set the local state, it feeds back synchronization end information to the server.

[0055] Feedback synchronization completion information to the server so that the server can determine whether each channel has completed the local status setting based on the synchronization completion information.

[0056] In this embodiment, the server includes:

[0057] Synchronous data generation module and multi-channel management module;

[0058] The synchronization data generation module is used to generate synchronization data, wherein the synchronization data includes synchronization events and viewport data, and the viewport data includes position and angle data of the viewport;

[0059] The multi-channel management module is used to send the synchronization data, and after receiving the synchronization end information of each channel, send the next synchronization data.

[0060] When the server receives the synchronization completion information of each channel, it indicates that each channel has completed the local settings according to the same synchronization data. At this time, the next synchronization data is sent to avoid channels that have completed the local status settings one after another receiving different synchronization data, thereby ensuring the consistency of the synchronization data.

[0061] The server is also equipped with a visual display control module Switchboard, which is used to control the simulation scene display program in the host of each channel to be turned on or off synchronously. Figure 3 As shown, when the display driver module Switchlistenning of each channel receives the ready-to-start command, it feeds back a reception completion signal to the server, and the server sends a display start command. After the display driver module Switchlistenning of each channel receives the display start command, it starts the simulation scene display program; when the display driver module Switchlistenning of one of the channels does not receive the ready-to-start command, it feeds back a reception completion signal to the server, and the server resends the ready-to-start command.

[0062] In order to improve the data loading efficiency of the simulation scene display program, this embodiment makes the following improvements to the simulation scene display program:

[0063] 1. Change the elevation data to a database for reading, which will speed up the reading time.

[0064] In the prior art, the format of loaded data is to read the content index in tilemapresource.xml to load .png image data and read the index in layer.json to load .terrain elevation data into memory. This file loading mode is relatively slow.

[0065] This solution is to save the indexes of tilemapresource.xml and layer.json into .db (SQLite database storage file) files, and save the image and elevation data in the same .db file in the form of tables. Then, use the SqliteDB open source library to load the .db file in the simulation scene display program, and use SQ statements to read the saved contents one by one and save them into memory.

[0066] 2. Increase the cache and texture size of loaded data, which will speed up the loading time of terrain data at runtime.

[0067] 2.1 In terms of hardware, you can increase the physical memory of the host, use the thread pool to increase the cache size for reading files, and speed up the loading and transformation of terrain data during runtime.

[0068] 2.2 Texture is the pixel information stored on the image. In the simulation scene display program, the texture streaming method is used to increase the texture buffer size to make the image load faster.

[0069] 3. Change the accuracy value required when switching terrain data, which will speed up the switching of terrain data when the perspective changes.

[0070] Example 4

[0071] This embodiment makes the following improvements to the multi-channel synchronous display system in Embodiment 3: one channel in each channel is used as the main channel, and the other channels are used as auxiliary channels;

[0072] The graphics card corresponding to the main channel is the main graphics card; the graphics card corresponding to the secondary channel is the secondary graphics card;

[0073] The main graphics card and the secondary graphics card are connected to form a graphics card communication network. The main graphics card sends the viewport data of the main channel to the secondary graphics card through the graphics card communication network. The secondary graphics card renders the picture within the local field of view according to the viewport data of the main channel.

[0074] Since the rendering efficiency and environment of the host of each channel vary greatly, it is inevitable that the number of frames of each channel will be inconsistent, and the display time of the rendered picture will be uneven. The secondary graphics card can reduce the difference in rendering time of each channel host by rendering the picture within the local field of view according to the viewport data of the main channel, making the pictures of each channel look more coherent.

[0075] refer to Figure 4 As shown, the two output ends of the main graphics card 1 in the graphics card communication network are connected to the input ends of the secondary graphics card 2 and the secondary graphics card 3 respectively, the output end of the secondary graphics card 2 is connected to the input end of the secondary graphics card 4, and the output end of the secondary graphics card 3 is connected to the input end of the secondary graphics card 5. Each graphics card can render based on the same viewport.

[0076] refer to Figure 5 As shown, the overall process of the multi-channel synchronous display system performing multi-channel synchronous display in this embodiment includes the following steps:

[0077] S1: The server host sends synchronization data to the specified port of the extended IP;

[0078] For example, the server will simulate the flight control of an airplane through keyboard operations, so each change in the coordinates and angle of the aircraft will be sent to a port number (0 to 65535) of the extended address 224.0.0.88.

[0079] S2: Each channel Channel1, Channel2, and Channel3 goes to the port to obtain synchronization data respectively; the host of each channel uses the UDP communication method to obtain synchronization data from the specified port number in each frame.

[0080] S3: Set the local state according to the synchronization data and update the local state.

[0081] S4: Set the position and angle of the viewport; after setting the local position and angle, data with the character "frameend" will be sent to the server. After the server receives the data with "frameend" returned by all channels, it will send the changed position and angle of the next frame in the frame loop.

[0082] S5: Rendering: If the synchronization card display card function is turned on, that is, the main graphics card sends viewport data to the secondary graphics card, the secondary graphics card renders the picture within the local field of view according to the viewport data of the main channel, that is, "the data of the main screen is displayed on the local screen" in the figure; if the graphics card synchronization card function is not turned on, each channel renders according to its own viewport data, that is, "the local graphics card renders data to the local screen" in the figure.

[0083] Obviously, the above embodiments are merely examples for the purpose of clear explanation, and are not intended to limit the implementation methods. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived therefrom are still within the scope of protection created by this application.

Claims

1. A multi-channel synchronous display method, characterized in that: The following steps are involved: Receiving synchronization data, wherein the synchronization data includes synchronization events and viewport data, wherein the viewport data includes position and angle data of the viewport; configuring the synchronization data in a first frame synchronization module, the first frame synchronization module being used to synchronize events of each channel, and commenting out the viewport data in the first frame synchronization module; configuring the viewport data in a second frame synchronization module, wherein the second frame synchronization module is used to synchronize the viewports of each channel; Setting a viewport object pointer in the second frame synchronization module, wherein the viewport object pointer stores the address of the viewport data in the first frame synchronization module, and the second frame synchronization module obtains the viewport data from the first frame synchronization module through the viewport object pointer; The local state is set according to the synchronization data, including setting the local viewport according to the viewport data.

2. The multi-channel synchronous display method according to claim 1, characterized in that: The second frame synchronization module is prohibited from starting a rendering frame cycle, and the local rendering frame cycle is not started until the synchronization data is received.

3. The multi-channel synchronous display method according to claim 1, characterized in that: After setting the local status, feedback synchronization completion information is sent to the server.

4. The multi-channel synchronous display method according to claim 1, characterized in that: Also included is commenting out irrelevant synchronization events in the first frame synchronization module.

5. The multi-channel synchronous display method according to claim 4, characterized in that: The irrelevant synchronization events refer to events that are irrelevant to the screen display content.

6. The multi-channel synchronous display method according to claim 5, characterized in that: The unrelated synchronous events include turning off the display and / or pressing the keyboard.

7. A host, characterized in that: The host is configured with a synchronous display program, and the synchronous display program is used to execute the multi-channel synchronous display method as described in any one of claims 1 to 6.

8. A multi-channel synchronous display system, characterized in that: comprising a server and a plurality of hosts as claimed in claim 7, wherein the hosts receive the synchronization data from the servers through the same port; The server comprises: Synchronous data generation module and multi-channel management module; The synchronization data generation module is used to generate synchronization data, wherein the synchronization data includes synchronization events and viewport data, and the viewport data includes position and angle data of the viewport; The multi-channel management module is used to send the synchronization data, and after receiving the synchronization end information of each channel, send the next synchronization data.

9. The multi-channel synchronous display system according to claim 8, characterized in that: One of the channels is used as the main channel, and the other channels are used as auxiliary channels; The graphics card corresponding to the main channel is the main graphics card; the graphics card corresponding to the secondary channel is the secondary graphics card; The main graphics card and the secondary graphics card are connected to form a graphics card communication network. The main graphics card sends the viewport data of the main channel to the secondary graphics card through the graphics card communication network. The secondary graphics card renders the picture within the local field of view according to the viewport data of the main channel.

Citation Information

Patent Citations

  • Identifying a viewport within a browser window

    US20180373485A1

  • Phase locked multi-display synchronization

    US20200184929A1