CN112347380B - Window rendering method and related equipment - Google Patents

Window rendering method and related equipment Download PDF

Info

Publication number
CN112347380B
CN112347380B CN201910729361.2A CN201910729361A CN112347380B CN 112347380 B CN112347380 B CN 112347380B CN 201910729361 A CN201910729361 A CN 201910729361A CN 112347380 B CN112347380 B CN 112347380B
Authority
CN
China
Prior art keywords
window
sub
rendering
screen
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910729361.2A
Other languages
Chinese (zh)
Other versions
CN112347380A (en
Inventor
潘梅
李杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910729361.2A priority Critical patent/CN112347380B/en
Publication of CN112347380A publication Critical patent/CN112347380A/en
Application granted granted Critical
Publication of CN112347380B publication Critical patent/CN112347380B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the invention discloses a window rendering method and related equipment, which comprises the steps of firstly determining service functions realized by each of a plurality of functional areas contained in a target window and the function types of the service functions, then decomposing the target window according to the function types to obtain a first sub-window and a second sub-window, and then rendering the first sub-window in an off-screen rendering mode and the second sub-window in an on-screen rendering mode. By adopting the embodiment of the invention, the rendering performance of the special-shaped window can be improved, so that the smoothness of window picture display is improved.

Description

Window rendering method and related equipment
Technical Field
The present invention relates to the field of image processing technologies, and in particular, to a window rendering method and related devices.
Background
In the window display process, common rendering modes include screen rendering and off-screen rendering. The screen rendering refers to a manner that the browser engine directly outputs the contents of hypertext markup language (Hyper Text Markup Language, HTML)/cascading style sheet (CASCADING STYLE SHEETS, CSS)/JavaScript (JS) to the screen after rendering. Off-screen rendering refers to the way the browser engine renders HTML/CSS/JS content into bitmaps and outputs to memory. At present, off-screen rendering is commonly used for processing live windows, an application program independently opens up a place to draw a bitmap when off-screen rendering is performed, and a graphics processor (Graphics Processing Unit, GPU) accelerates synthesis, namely a central processing unit (Central Processing Unit, CPU) finishes drawing work to the GPU and presents the drawing work to a screen by the GPU, so that although a browser kernel provides an invalid region and a pixel buffer area for the application program, acceleration synthesis is not supported, and therefore, the rendering performance of the window is lower. Especially, when the video is played in the window, the frame rate is low, and if special processing is not applied, a user can obviously feel the clamping phenomenon of the high-definition picture.
Disclosure of Invention
The invention provides a window rendering method and related equipment, which can improve the rendering performance of a special-shaped window, thereby improving the fluency of window picture display.
In a first aspect, an embodiment of the present invention provides a window rendering method, including:
determining a service function realized by each of a plurality of function areas contained in a target window and a function type of the service function;
decomposing the target window according to the function type to obtain a first sub-window and a second sub-window;
Rendering the first sub-window in an off-screen rendering mode, and rendering the second sub-window in a screen rendering mode.
The first sub-window and the second sub-window comprise at least one functional area in the plurality of functional areas, wherein the functional types comprise a pixel mixed type, and the business functions of the pixel mixed type are realized based on a pixel mixed technology;
The decomposing the target window according to the function type to obtain a first sub-window and a second sub-window comprises:
if the service function realized by the functional area comprises the pixel mixed service function, determining that the functional area belongs to the first sub-window, otherwise, determining that the functional area belongs to the second sub-window.
Wherein after the first sub-window is rendered in an off-screen rendering manner and the second sub-window is rendered in a screen rendering manner, the method further comprises:
and carrying out synchronous processing on the first sub-window and the second sub-window, wherein the synchronous processing comprises synchronous displacement.
Wherein the synchronizing the first sub-window and the second sub-window includes:
acquiring the position information of the first sub-window and the second sub-window according to a preset time interval;
determining whether other windows are spaced between the first sub-window and the second sub-window according to the position information;
and when other windows are spaced between the first sub-window and the second sub-window, adjusting the positions of the first sub-window and/or the second sub-window.
Wherein the synchronizing the first sub-window and the second sub-window includes:
Controlling the second sub-window to monitor the displacement synchronization message of the first sub-window and controlling the second sub-window to displace according to the displacement synchronization message, and
Controlling the first sub-window to monitor the focus information of the second sub-window, and controlling the first sub-window to displace according to the focus information.
Wherein, the target window corresponds to a main thread and a sub thread;
the rendering the first sub-window in an off-screen rendering manner and the second sub-window in an on-screen rendering manner comprises:
and rendering the first sub-window in the main thread in the off-screen rendering mode, and rendering the second sub-window in the sub-thread in the screen rendering mode.
Wherein after the first sub-window is rendered in an off-screen rendering manner and the second sub-window is rendered in a screen rendering manner, the method further comprises:
and carrying out synchronous processing on the first sub-window and the second sub-window in the sub-thread.
The first child window is a logic parent window of the second child window, and the second child window is a top-level window.
In a second aspect, an embodiment of the present invention provides a window rendering apparatus, including:
the information determining module is used for determining service functions realized by each of a plurality of function areas contained in the target window and the function types of the service functions;
The window decomposition module is used for decomposing the target window according to the function type to obtain a first sub-window and a second sub-window;
and the window rendering module is used for rendering the first sub-window in an off-screen rendering mode and rendering the second sub-window in a screen rendering mode.
The first sub-window and the second sub-window comprise at least one functional area in the plurality of functional areas, wherein the functional types comprise a pixel mixed type, and the business functions of the pixel mixed type are realized based on a pixel mixed technology;
the window decomposition module is further configured to:
if the service function realized by the functional area comprises the pixel mixed service function, determining that the functional area belongs to the first sub-window, otherwise, determining that the functional area belongs to the second sub-window.
The device further comprises a synchronous processing module, which is used for:
and carrying out synchronous processing on the first sub-window and the second sub-window, wherein the synchronous processing comprises synchronous displacement.
Wherein, the synchronous processing module is further used for:
acquiring the position information of the first sub-window and the second sub-window according to a preset time interval;
determining whether other windows are spaced between the first sub-window and the second sub-window according to the position information;
and when other windows are spaced between the first sub-window and the second sub-window, adjusting the positions of the first sub-window and/or the second sub-window.
Wherein, the synchronous processing module is further used for:
Controlling the second sub-window to monitor the displacement synchronization message of the first sub-window and controlling the second sub-window to displace according to the displacement synchronization message, and
Controlling the first sub-window to monitor the focus information of the second sub-window, and controlling the first sub-window to displace according to the focus information.
Wherein, the target window corresponds to a main thread and a sub thread;
the window rendering module is further configured to:
and rendering the first sub-window in the main thread in the off-screen rendering mode, and rendering the second sub-window in the sub-thread in the screen rendering mode.
Wherein, the synchronous processing module is further used for:
And carrying out the synchronization processing on the first sub-window and the second sub-window in the sub-thread.
The first child window is a logic parent window of the second child window, and the second child window is a top-level window.
In a third aspect, an embodiment of the present invention provides a window rendering apparatus, including a processor, a memory, and a communication bus, where the communication bus is used to implement connection communication between the processor and the memory, and the processor executes a program stored in the memory to implement steps in a window rendering method provided in the first aspect.
In one possible design, the entity identification device provided by the present invention may include a module for performing the action corresponding in the above method. The modules may be software and/or hardware.
Yet another aspect of the embodiments of the present invention provides a computer-readable storage medium having stored therein a plurality of instructions adapted to be loaded by a processor and to perform the method of the above aspects.
A further aspect of embodiments of the invention provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the above aspects.
The embodiment of the invention firstly determines the service function realized by each of a plurality of function areas contained in a target window and the function type of the service function, then decomposes the target window according to the function type to obtain a first sub-window and a second sub-window, and then renders the first sub-window in an off-screen rendering mode and renders the second sub-window in a screen rendering mode. Not only can the fluency of window pictures and the performance of window rendering be improved, but also occupied content is reduced, and the burden of a CPU is lightened.
Drawings
In order to more clearly describe the embodiments of the present invention or the technical solutions in the background art, the following description will describe the drawings that are required to be used in the embodiments of the present invention or the background art.
Fig. 1 is a schematic flow chart of a window rendering method according to an embodiment of the present invention;
FIG. 2 is a schematic view of a laminated window stack according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a target window according to an embodiment of the present invention;
FIG. 4 is a flowchart of another window rendering method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of an actual application scenario provided by an embodiment of the present invention
Fig. 6 is a schematic structural diagram of a window rendering device according to an embodiment of the present invention;
Fig. 7 is a schematic structural diagram of a window rendering device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1, fig. 1 is a flowchart of a window rendering method according to an embodiment of the present invention, where the method includes but is not limited to the following steps:
S101, determining service functions realized by each of a plurality of function areas contained in a target window and the function types of the service functions.
In a specific implementation, the target window may be a special-shaped window that may be decomposed into multiple sub-windows, such as a "back" glyph window, a "field" glyph window, and so on. Meanwhile, the target window is also a layered window (layered window), which may include a plurality of functional areas, each of which is used to implement at least one service function. For example, as shown in fig. 2, the online class window includes a live zone where teachers speak classes online and a chat zone where teachers and students communicate online. The service functions realized in the live broadcast area include a painting brush function required by a teacher in a lecture mode, a function of loading a webpage (such as a webpage which the teacher searches online and displays to students) or other program windows (such as a PowerPoint window for displaying courseware), and the like, and the service functions realized in the chat area are real-time interaction among multiple users (the teacher and the students). All service functions implemented by the target window are divided into a pixel hybrid service function and a non-pixel hybrid service function in the present invention. As the name suggests, pixel-blending business functions are implemented based on pixel-blending technology, such as, for example, brush functions. Among the common pixel blending techniques include alpha (alpha ) blending techniques, which refers to overlaying one window control (frame) over another frame, and the upper frame does not completely obscure the lower frame, i.e., the partial area in the upper layer of frames is transparent, wherein the pixels of the two frames are blended according to a preset alpha value. The non-pixel hybrid traffic function refers to other traffic functions that do not need to be implemented using pixel hybrid technology.
S102, decomposing the target window according to the function type to obtain a first sub-window and a second sub-window.
In a specific implementation, the first sub-window and the second sub-window respectively include at least one functional area. For each functional area, if the service function realized by the functional area comprises a pixel mixed service function, determining that the functional area belongs to a first sub-window, otherwise, determining that the functional area belongs to a second sub-window. As shown in fig. 2, the online classroom window based on the Windows system includes a live broadcast area and a chat area, wherein the live broadcast area implements a brush function that is a pixel hybrid service function, so that the live broadcast area is divided into a first sub-window. The multi-user real-time interaction function realized by the chat area does not need to use a pixel mixing technology and belongs to a non-pixel mixing business function, so that the chat area is divided into a second sub-window. Finally, a first sub-window consisting of the live broadcast area, namely a live broadcast window, and a second sub-window consisting of the chat area, namely a chat window, are obtained. In addition, as shown in fig. 2, the window display areas of the live window and the chat window can be hollowed out by using the interface provided by the Windows system, and the hollowed-out areas are all currently displayed on the background desktop of the computer.
It should be noted that, starting from Windows2000, the Windows operating system starts to adopt a layered window mechanism. Under this mechanism, multiple windows can be stacked to form a stack of stacked windows that are positioned according to an imaginary axis that extends perpendicular to the screen and out of the screen, commonly referred to as the Z-axis. Each window in the laminated window stack is laminated in turn by taking the Z axis as a reference axis, wherein each window has a lamination order (Z-order) for indicating what layer the window is positioned on the laminated window stack, and the display sequence of the windows can be indicated. As shown in FIG. 3, the stack of laminated windows includes 3 windows, wherein the Z-order of the top window is 3, the second window is overlapped below the top window along the Z-axis, the Z-order is 2, the third window is also the bottom window, the second window is overlapped below the second window along the Z-axis, and the Z-order is 1. In addition, there are dependencies such as parent/child relationships, sibling relationships, etc. between windows. Wherein, child window is the next level window derived from parent window, and sibling window is two windows derived from the same level directory of the same parent window.
Based on the above description, the present invention further describes the first child window and the second child window—1) the second child window is a window without a parent window, and is usually placed on the top layer as the top layer window, 2) the first child window is a logical parent window of the second child window, and the second child window stores the handle of the first child window.
And S103, rendering the first sub-window in an off-screen rendering mode and rendering the second sub-window in a screen rendering mode.
In a specific implementation, in order to realize smoothness of real-time image display, a window which needs to realize a pixel mixed type service function should be rendered by using an off-screen rendering mode. The service function of the non-pixel mixed type only needs to display the picture normally, and the real-time requirement on the picture display is lower than that of the pixel mixed type, so that the second sub-window is only rendered by using a screen rendering mode. The root cause of the method is that in the screen rendering mode, the rendering operation of the GPU is carried out in the current screen buffer area, and the off-screen rendering mode is used for completing the rendering of the window by a buffer area opened up outside the current screen buffer area, so that when the screen refresh rate requirement is higher, the off-screen rendering can better meet the requirement of the picture smoothness. However, it can also be seen that off-screen rendering occupies more memory than screen rendering, adding to the processing burden of the CPU. Therefore, the invention decomposes the target window into a plurality of sub-windows, and then selects a proper rendering mode according to the actual condition of each sub-window, thereby achieving the purposes of reducing occupied memory and reducing the burden of a CPU.
It should be noted that, in an extreme case, each of the multiple functional areas of the target window does not include a pixel hybrid service function, the target window may be decomposed into multiple logic sub-windows according to a logical relationship between the functional areas, and each logic sub-window may be rendered directly by using a screen rendering manner.
In the embodiment of the invention, firstly, the service function realized by each function area in a plurality of function areas contained in a target window and the function type of the service function are determined, then the target window is decomposed according to the function type to obtain a first sub-window and a second sub-window, and then the first sub-window is rendered in an off-screen rendering mode and the second sub-window is rendered in a screen rendering mode. The method can reduce the memory occupied by window rendering and lighten the burden of a CPU (Central processing Unit) so as to improve the smoothness of window picture display and the performance of window rendering.
Referring to fig. 4, fig. 4 is a flowchart of another window rendering method according to an embodiment of the present invention, where the method includes but is not limited to the following steps:
S401, determining service functions realized by each of a plurality of function areas contained in a target window and the function types of the service functions. The step is the same as S101 in the previous embodiment, and the description of this step is omitted.
S402, decomposing the target window according to the function type to obtain a first sub-window and a second sub-window. The step is the same as S102 in the previous embodiment, and the description of this step is omitted.
S403, rendering the first sub-window in an off-screen rendering mode and rendering the second sub-window in a screen rendering mode. The step is the same as S103 in the previous embodiment, and the description of this step is omitted.
S404, synchronizing the first sub-window and the second sub-window.
In a specific implementation, the first child window is a logical parent window of the second child window, and when any one of the first child window and the second child window moves, synchronous displacement processing needs to be performed on the other child window. In one aspect, the second sub-window may monitor a displacement synchronization message of the first sub-window, where the displacement synchronization message may, but is not limited to, refer to displacement information broadcasted or sent to the second sub-window after the first sub-window moves around, where the displacement information may include a direction and an amplitude of the displacement, and the second sub-window may perform synchronous displacement according to the displacement synchronization message. The synchronization shift may further include hiding the second sub-window/the first sub-window when the first sub-window/the second sub-window is hidden.
On the other hand, the first sub-window can be controlled to monitor the focus message of the second sub-window, and the first sub-window is controlled to displace according to the monitored focus message. In a Windows system, among other things, the focus determines which input box in that window/control/window receives keyboard input information. When a user uses a keyboard to input by using a certain input (such as a dog search input method), a candidate frame of the input content appears correspondingly, wherein the candidate frame is from an application program corresponding to the input method, so that a window for receiving the input of the keyboard needs to be correspondingly and synchronously displaced to display the candidate frame in a proper place. In the present invention, if the second sub-window generates the synchronous displacement corresponding to the input content candidate frame, the first sub-window also needs to do the synchronous displacement with the second sub-window.
After decomposing the target window into a first child window and a second child window, there is no actual parent-child relationship between the first child window and the second child window, although the first child window is a logical parent of the second child window. Therefore, the operating system does not synchronously manage the two sub-windows, so that the problem that the first sub-window/the second sub-window moves frequently, and the second sub-window/the first sub-window cannot synchronously move along with the first sub-window, and the two sub-windows are separated from each other from the view of a user. And the synchronous displacement processing of the first sub-window and the second sub-window can effectively solve the problem.
Optionally, the stacking order of the first sub-window and the second sub-window in the stack of stacked windows where the first sub-window and the second sub-window are located may be adjusted synchronously. Specifically, the position information of the first sub-window and the second sub-window may be acquired according to a preset time interval, where the preset time interval may be 10 microseconds, 10 milliseconds, and so on. The location information may be, but is not limited to, z-order, which may be traversed through the GetTopWindow and GetNextWindow functions for a stack of stacked windows to arrive at the z-order for the desired window. Next, it is determined whether other windows are spaced between the first sub-window and the second sub-window, i.e., whether the first sub-window and the second sub-window are next to each other in the Z-axis, and whether other windows (e.g., browser windows) are sandwiched therebetween, based on the position information. For example, as shown in fig. 3, the z-order of the first sub-window and the second sub-window is 1 and 3, respectively, the second sub-window is the top-layer window, the first sub-window is the third-layer (bottom-layer) window, and at this time, an additional window is spaced between the first sub-window and the second sub-window, and the window is sandwiched between the first sub-window and the second sub-window, thereby forming a "sandwich window". At this time, the window clamped between the first sub-window and the second sub-window can not be effectively synthesized into the target window, namely, the target window can not achieve the same display effect as the conventional rendering method after being rendered according to the method provided by the invention. Therefore, if other windows are spaced between the first sub-window and the second sub-window, the positions of the first sub-window and the second sub-window need to be adjusted, wherein the positions of the two windows can be adjusted at the same time, and the position of one sub-window can be kept unchanged, and the position of the other sub-window can be adjusted. For example, when the z-order of the first sub-window and the second sub-window are 3 and 1, respectively, the z-order of the first sub-window may be adjusted to 2, and it may be adjusted from the third layer window to the second layer window, so that the first sub-window and the second sub-window are next to each other.
Optionally, the target window corresponds to a main thread and a sub thread. The operation of rendering the first sub-window in an off-screen rendering mode can be performed in the main thread, and the operation of rendering the second sub-window in an on-screen rendering mode can be performed in the sub-thread. At the same time, the synchronous processing operation of the first sub-window and the second sub-window is also performed in the sub-thread. The above method of decomposing a task into sub-threads is adopted in consideration of the fact that if both sub-windows are created (rendered) in the main thread, thread blocking is likely to occur when the synchronization problem of both sub-windows is handled.
In the embodiment of the invention, firstly, the service function realized by each function area in a plurality of function areas contained in a target window and the function type of the service function are determined, then the target window is decomposed according to the function type to obtain a first sub-window and a second sub-window, then the first sub-window is rendered in an off-screen rendering mode, the second sub-window is rendered in a screen rendering mode, and finally the first sub-window and the second sub-window are synchronously processed. Taking the online classroom window shown in fig. 2 as an example, the online classroom window includes a live area and a chat area before being decomposed. Then, since the live area includes the pixel hybrid service function, i.e., the pen function, it is divided into the first sub-window to obtain the live window, and the chat area does not include any pixel hybrid service function, so that it is divided into the second sub-window to obtain the chat window. Next, as shown in fig. 5, for the live window, the live window is first rendered into a bitmap according to an off-screen rendering mode and output to a memory to obtain a memory bitmap, and then the memory bitmap and a computer screen are subjected to pixel mixing by using an alpha mixing technology to obtain an off-screen rendering result of the live window. For the chat window, the bitmap can be rendered in a screen rendering mode and directly output to a screen so as to obtain a screen rendering result of the chat window. And finally, synchronously processing the live broadcast window and the chat window to enable the live broadcast window and the chat window to be the only window seen from the view angle of the user, namely, the non-decomposed online classroom window.
By adopting the embodiment of the invention, the problem of asynchronous displacement of the sandwich window and the two sub-windows can be prevented, so that the smoothness of window picture display and the performance of window rendering are improved on the premise of ensuring that the target window is displayed normally.
The foregoing details the method according to the embodiment of the present invention, and the following provides relevant devices according to the embodiment of the present invention.
Referring to fig. 6, fig. 6 is a schematic structural diagram of a window rendering apparatus according to an embodiment of the present invention, where the apparatus may include:
An information determining module 601 is configured to determine a service function implemented by each of a plurality of function areas included in a target window, and a function type of the service function.
In a specific implementation, the target window may be a special-shaped window that may be decomposed into multiple sub-windows, such as a "back" glyph window, a "field" glyph window, and so on. Meanwhile, the target window is also a layered window (layered window), which may include a plurality of functional areas, each of which is used to implement at least one service function. For example, as shown in fig. 2, the online class window includes a live zone where teachers speak classes online and a chat zone where teachers and students communicate online. The service functions realized in the live broadcast area include a painting brush function required by a teacher in a lecture mode, a function of loading a webpage (such as a webpage which the teacher searches online and displays to students) or other program windows (such as a PowerPoint window for displaying courseware), and the like, and the service functions realized in the chat area are real-time interaction among multiple users (the teacher and the students). All service functions implemented by the target window are divided into a pixel hybrid service function and a non-pixel hybrid service function in the present invention. As the name suggests, pixel-blending business functions are implemented based on pixel-blending technology, such as, for example, brush functions. Among them, the common pixel blending techniques include an alpha blending technique, in which one window control (frame) is overlaid on another frame, and the upper frame does not completely block the lower frame, that is, a partial area in the upper frame is transparent, where pixels of the two frames are blended according to a preset alpha value. The non-pixel hybrid traffic function refers to other traffic functions that do not need to be implemented using pixel hybrid technology.
And a window decomposition module 602, configured to decompose the target window according to the function type, so as to obtain a first sub-window and a second sub-window.
In a specific implementation, the first sub-window and the second sub-window respectively include at least one functional area. For each functional area, if the service function realized by the functional area comprises a pixel mixed service function, determining that the functional area belongs to a first sub-window, otherwise, determining that the functional area belongs to a second sub-window. As shown in fig. 2, the online classroom window based on the Windows system includes a live broadcast area and a chat area, wherein the live broadcast area implements a brush function that is a pixel hybrid service function, so that the live broadcast area is divided into a first sub-window. The multi-user real-time interaction function realized by the chat area does not need to use a pixel mixing technology and belongs to a non-pixel mixing business function, so that the chat area is divided into a second sub-window. Finally, a first sub-window consisting of the live broadcast area, namely a live broadcast window, and a second sub-window consisting of the chat area, namely a chat window, are obtained. In addition, as shown in fig. 2, the window display areas of the live window and the chat window can be hollowed out by using the interface provided by the Windows system, and the hollowed-out areas are all currently displayed on the background desktop of the computer.
It should be noted that, starting from Windows2000, the Windows operating system starts to adopt a layered window mechanism. Under this mechanism, multiple windows can be stacked to form a stack of stacked windows that are positioned according to an imaginary axis that extends perpendicular to the screen and out of the screen, commonly referred to as the Z-axis. Each window in the laminated window stack is laminated in turn by taking the Z axis as a reference axis, wherein each window has a lamination order (Z-order) for indicating what layer the window is positioned on the laminated window stack, and the display sequence of the windows can be indicated. As shown in FIG. 3, the stack of laminated windows includes 3 windows, wherein the Z-order of the top window is 3, the second window is overlapped below the top window along the Z-axis, the Z-order is 2, the third window is also the bottom window, the second window is overlapped below the second window along the Z-axis, and the Z-order is 1. In addition, there are dependencies such as parent/child relationships, sibling relationships, etc. between windows. Wherein, child window is the next level window derived from parent window, and sibling window is two windows derived from the same level directory of the same parent window.
Based on the above description, the present invention further describes the first child window and the second child window—1) the second child window is a window without a parent window, and is usually placed on the top layer as the top layer window, 2) the first child window is a logical parent window of the second child window, and the second child window stores the handle of the first child window.
The window rendering module 603 is configured to render the first sub-window in an off-screen rendering manner, and render the second sub-window in an on-screen rendering manner.
In a specific implementation, in order to realize smoothness of real-time image display, a window which needs to realize a pixel mixed type service function should be rendered by using an off-screen rendering mode. The service function of the non-pixel mixed type only needs to display the picture normally, and the real-time requirement on the picture display is lower than that of the pixel mixed type, so that the second sub-window is only rendered by using a screen rendering mode. The root cause of the method is that in the screen rendering mode, the rendering operation of the GPU is carried out in the current screen buffer area, and the off-screen rendering mode is used for completing the rendering of the window by a buffer area opened up outside the current screen buffer area, so that when the screen refresh rate requirement is higher, the off-screen rendering can better meet the requirement of the picture smoothness. However, it can also be seen that off-screen rendering occupies more memory than screen rendering, adding to the processing burden of the CPU. Therefore, the invention decomposes the target window into a plurality of sub-windows, and then selects a proper rendering mode according to the actual condition of each sub-window, thereby achieving the purposes of reducing occupied memory and reducing the burden of a CPU.
Optionally, the device in the embodiment of the present invention further includes a synchronization processing module, configured to perform synchronization processing on the first sub-window and the second sub-window.
In a specific implementation, the first child window is a logical parent window of the second child window, and when any one of the first child window and the second child window moves, synchronous displacement processing needs to be performed on the other child window. In one aspect, the second sub-window may monitor a displacement synchronization message of the first sub-window, where the displacement synchronization message may, but is not limited to, refer to displacement information broadcasted or sent to the second sub-window after the first sub-window moves around, where the displacement information may include a direction and an amplitude of the displacement, and the second sub-window may perform synchronous displacement according to the displacement synchronization message. The synchronization shift may further include hiding the second sub-window/the first sub-window when the first sub-window/the second sub-window is hidden.
On the other hand, the first sub-window can be controlled to monitor the focus message of the second sub-window, and the first sub-window is controlled to displace according to the monitored focus message. In a Windows system, among other things, the focus determines which input box in that window/control/window receives keyboard input information. When a user uses a keyboard to input by using a certain input method (such as a dog search input method), a candidate frame of input content appears correspondingly, wherein the candidate frame is from an application program corresponding to the input method, so that a window for receiving keyboard input needs to be correspondingly and synchronously displaced to display the candidate frame in a proper place. In the present invention, if the second sub-window generates the synchronous displacement corresponding to the input content candidate frame, the first sub-window also needs to do the synchronous displacement with the second sub-window.
After decomposing the target window into a first child window and a second child window, there is no actual parent-child relationship between the first child window and the second child window, although the first child window is a logical parent of the second child window. Therefore, the operating system does not synchronously manage the two sub-windows, so that the problem that the first sub-window/the second sub-window moves frequently, and the second sub-window/the first sub-window cannot synchronously move along with the first sub-window, and the two sub-windows are separated from each other from the view of a user. And the synchronous displacement processing of the first sub-window and the second sub-window can effectively solve the problem.
Optionally, the stacking order of the first sub-window and the second sub-window in the stack of stacked windows where the first sub-window and the second sub-window are located may be adjusted synchronously. Specifically, the position information of the first sub-window and the second sub-window may be obtained according to a preset time interval, where the position information may be, but is not limited to, z-order, and for a stack of laminated windows, the windows in the stack may be traversed by a GetTopWindow function and a GetNextWindow function, so as to obtain the z-order of the desired window. Next, it is determined whether other windows are spaced between the first sub-window and the second sub-window, i.e., whether the first sub-window and the second sub-window are next to each other in the Z-axis, and whether other windows (e.g., browser windows) are sandwiched therebetween, based on the position information. For example, as shown in fig. 3, the z-order of the first sub-window and the second sub-window is 1 and 3, respectively, the second sub-window is the top-layer window, the first sub-window is the third-layer (bottom-layer) window, and at this time, an additional window is spaced between the first sub-window and the second sub-window, and the window is sandwiched between the first sub-window and the second sub-window, thereby forming a "sandwich window". At this time, other windows between the first sub-window and the second sub-window enable the first sub-window and the second sub-window not to be effectively synthesized into a target window, namely, the target window cannot achieve the same display effect as the conventional rendering method after being rendered according to the method provided by the invention. Therefore, if other windows are spaced between the first sub-window and the second sub-window, the positions of the first sub-window and the second sub-window need to be adjusted, wherein the positions of the two windows can be adjusted at the same time, and the position of one sub-window can be kept unchanged, and the position of the other sub-window can be adjusted. For example, when the z-order of the first sub-window and the second sub-window are 3 and 1, respectively, the z-order of the first sub-window may be adjusted to 2, and it may be adjusted from the third layer window to the second layer window, so that the first sub-window and the second sub-window are next to each other.
Optionally, the target window corresponds to a main thread and a sub thread. The window rendering module 603 may further perform an operation of rendering the first sub-window in an off-screen manner in the main thread and an operation of rendering the second sub-window in an on-screen manner in the sub-thread. At the same time, the synchronous processing operation of the first sub-window and the second sub-window is also performed in the sub-thread. The above method of decomposing a task into sub-threads is adopted in consideration of the fact that if both sub-windows are created (rendered) in the main thread, thread blocking is likely to occur when the synchronization problem of both sub-windows is handled.
In the embodiment of the invention, firstly, the service function realized by each function area in a plurality of function areas contained in a target window and the function type of the service function are determined, then the target window is decomposed according to the function type to obtain a first sub-window and a second sub-window, then the first sub-window is rendered in an off-screen rendering mode, the second sub-window is rendered in a screen rendering mode, and finally the first sub-window and the second sub-window are synchronously processed. The method can reduce the memory occupied by window rendering, lighten the processing load of a CPU, and improve the smoothness of window picture display and the performance of window rendering.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a window rendering apparatus according to an embodiment of the present invention. As shown, the device may include at least one processor 701, at least one communication interface 702, at least one memory 703, and at least one communication bus 704.
The processor 701 may be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. The processor may also be a combination that performs the function of a computation, e.g., a combination comprising one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so forth. Communication bus 704 may be a peripheral component interconnect standard PCI bus or an extended industry standard architecture EISA bus, or the like. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 7, but not only one bus or one type of bus. Communication bus 704 is used to enable connected communications between these components. The communication interface 702 of the device in the embodiment of the present invention is used for performing signaling or data communication with other node devices. The Memory 703 may include volatile Memory such as nonvolatile dynamic random access Memory (Nonvolatile Random Access Memory, NVRAM), phase change random access Memory (PHASE CHANGE RAM, PRAM), magnetoresistive random access Memory (Magetoresistive RAM, MRAM), etc., and may also include nonvolatile Memory such as at least one magnetic disk storage device, electrically erasable programmable read-Only Memory (ELECTRICALLY ERASABLE PROGRAMMABLE READ-Only Memory, EEPROM), flash Memory device such as NOR flash Memory (NOR flash Memory) or NAND flash Memory (NAND FLASH Memory), semiconductor device such as Solid state disk (Solid STATE DISK, SSD), etc. The memory 703 may optionally also be at least one storage device located remotely from the aforementioned processor 701. A set of program codes is stored in the memory 703, and the processor 701 executes the programs in the memory 703:
determining a service function realized by each of a plurality of function areas contained in a target window and a function type of the service function;
decomposing the target window according to the function type to obtain a first sub-window and a second sub-window;
Rendering the first sub-window in an off-screen rendering mode, and rendering the second sub-window in a screen rendering mode.
Optionally, the first sub-window and the second sub-window comprise at least one functional area in the plurality of functional areas, the functional types comprise a pixel mixed type, and the business functions of the pixel mixed type are realized based on a pixel mixed technology;
the processor 701 is further configured to perform the following operation steps:
if the service function realized by the functional area comprises the pixel mixed service function, determining that the functional area belongs to the first sub-window, otherwise, determining that the functional area belongs to the second sub-window.
Optionally, the processor 701 is further configured to perform the following operation steps:
and carrying out synchronous processing on the first sub-window and the second sub-window, wherein the synchronous processing comprises synchronous displacement.
Optionally, the processor 701 is further configured to perform the following operation steps:
acquiring the position information of the first sub-window and the second sub-window according to a preset time interval;
determining whether other windows are spaced between the first sub-window and the second sub-window according to the position information;
and when other windows are spaced between the first sub-window and the second sub-window, adjusting the positions of the first sub-window and/or the second sub-window.
Optionally, the processor 701 is further configured to perform the following operation steps:
Controlling the second sub-window to monitor the displacement synchronization message of the first sub-window and controlling the second sub-window to displace according to the displacement synchronization message, and
Controlling the first sub-window to monitor the focus information of the second sub-window, and controlling the first sub-window to displace according to the focus information.
Optionally, the target window corresponds to a main thread and a sub thread;
the processor 701 is further configured to perform the following operation steps:
and rendering the first sub-window in the main thread in the off-screen rendering mode, and rendering the second sub-window in the sub-thread in the screen rendering mode.
Further, the processor may also cooperate with the memory and the communication interface to perform the operations of the window rendering device in the embodiment of the present invention.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present invention, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk Solid STATE DISK (SSD)), etc.
The above-mentioned specific embodiments further describe the objects, technical solutions and advantageous effects of the present invention in detail. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1.一种窗口渲染方法,应用于直播场景,其特征在于,所述方法包括:1. A window rendering method, applied to a live broadcast scenario, characterized in that the method comprises: 确定目标窗口包含的多个功能区域中每个功能区域所实现的业务功能、以及所述业务功能的功能类型;所述功能类型包括像素混合型,所述像素混合型的业务功能是基于像素混合技术实现的;Determine the business function implemented by each of the multiple functional areas included in the target window and the function type of the business function; the function type includes a pixel mixing type, and the business function of the pixel mixing type is implemented based on a pixel mixing technology; 根据所述功能类型分解所述目标窗口,得到第一子窗口和第二子窗口,包括:若所述功能区域所实现的业务功能中包括所述像素混合型的业务功能,则确定所述功能区域属于所述第一子窗口;否则,确定所述功能区域属于所述第二子窗口;所述第一子窗口和第二子窗口包括所述多个功能区域中的至少一个功能区域;Decomposing the target window according to the function type to obtain a first sub-window and a second sub-window includes: if the business function implemented by the functional area includes the pixel mixing type business function, determining that the functional area belongs to the first sub-window; otherwise, determining that the functional area belongs to the second sub-window; the first sub-window and the second sub-window include at least one functional area among the multiple functional areas; 按照离屏渲染的方式渲染所述第一子窗口、以及按照屏幕渲染的方式渲染所述第二子窗口;其中,所述离屏渲染为在当前屏幕缓冲区以外另开辟的缓冲区中进行的渲染,所述屏幕渲染为在当前屏幕缓冲区进行的渲染;Rendering the first sub-window in an off-screen rendering manner, and rendering the second sub-window in an on-screen rendering manner; wherein the off-screen rendering is rendering performed in a buffer area opened outside the current screen buffer area, and the on-screen rendering is rendering performed in the current screen buffer area; 对所述第一子窗口和所述第二子窗口进行同步处理,所述同步处理包括同步位移。The first sub-window and the second sub-window are synchronously processed, and the synchronous processing includes synchronous displacement. 2.如权利要求1所述的方法,其特征在于,所述对所述第一子窗口和所述第二子窗口进行同步处理包括:2. The method according to claim 1, wherein the synchronizing the first sub-window and the second sub-window comprises: 按照预设的时间间隔获取所述第一子窗口和所述第二子窗口的位置信息;Acquire the position information of the first sub-window and the second sub-window at a preset time interval; 根据所述位置信息,确定所述第一子窗口和所述第二子窗口之间是否间隔其他窗口;Determine, according to the position information, whether there is another window between the first sub-window and the second sub-window; 当所述第一子窗口和所述第二子窗口之间间隔其他窗口时,调整所述第一子窗口和/或所述第二子窗口的位置。When other windows are spaced between the first sub-window and the second sub-window, the position of the first sub-window and/or the second sub-window is adjusted. 3.如权利要求1所述的方法,其特征在于,所述对所述第一子窗口和所述第二子窗口进行同步处理包括:3. The method according to claim 1, wherein the synchronizing the first sub-window and the second sub-window comprises: 控制所述第二子窗口监听所述第一子窗口的位移同步消息、以及控制所述第二子窗口根据所述位移同步消息进行位移;以及controlling the second sub-window to monitor the displacement synchronization message of the first sub-window, and controlling the second sub-window to shift according to the displacement synchronization message; and 控制所述第一子窗口监听所述第二子窗口的焦点消息、以及控制所述第一子窗口根据所述焦点消息进行位移。The first sub-window is controlled to monitor the focus message of the second sub-window, and the first sub-window is controlled to move according to the focus message. 4.如权利要求1所述的方法,其特征在于,所述目标窗口对应一个主线程和一个子线程;4. The method according to claim 1, wherein the target window corresponds to a main thread and a sub-thread; 所述按照离屏渲染的方式渲染所述第一子窗口、以及按照屏幕渲染的方式渲染所述第二子窗口包括:The rendering of the first sub-window in an off-screen rendering manner and the rendering of the second sub-window in an on-screen rendering manner include: 按照所述离屏渲染的方式在所述主线程中渲染所述第一子窗口、以及按照所述屏幕渲染的方式在所述子线程中渲染所述第二子窗口。The first sub-window is rendered in the main thread according to the off-screen rendering method, and the second sub-window is rendered in the sub-thread according to the screen rendering method. 5.如权利要求4所述的方法,其特征在于,所述按照离屏渲染的方式渲染所述第一子窗口、以及按照屏幕渲染的方式渲染所述第二子窗口之后,还包括:5. The method according to claim 4, characterized in that after rendering the first sub-window in an off-screen rendering manner and rendering the second sub-window in an on-screen rendering manner, the method further comprises: 在所述子线程中对所述第一子窗口和所述第二子窗口进行同步处理。The first sub-window and the second sub-window are synchronously processed in the sub-thread. 6.如权利要求1-5任一项所述的方法,其特征在于,所述第一子窗口为所述第二子窗口的逻辑父窗口;所述第二子窗口为顶层窗口。6. The method according to any one of claims 1 to 5, characterized in that the first child window is a logical parent window of the second child window; and the second child window is a top-level window. 7.一种窗口渲染装置,应用于直播场景,其特征在于,所述装置包括:7. A window rendering device, applied to a live broadcast scene, characterized in that the device comprises: 信息确定模块,用于确定目标窗口包含的多个功能区域中每个功能区域所实现的业务功能、以及所述业务功能的功能类型;所述功能类型包括像素混合型,所述像素混合型的业务功能是基于像素混合技术实现的;An information determination module, used to determine the business function implemented by each of the multiple functional areas included in the target window, and the function type of the business function; the function type includes a pixel mixing type, and the business function of the pixel mixing type is implemented based on the pixel mixing technology; 窗口分解模块,用于根据所述功能类型分解所述目标窗口,得到第一子窗口和第二子窗口,包括:若所述功能区域所实现的业务功能中包括所述像素混合型的业务功能,则确定所述功能区域属于所述第一子窗口;否则,确定所述功能区域属于所述第二子窗口;所述第一子窗口和第二子窗口包括所述多个功能区域中的至少一个功能区域;a window decomposition module, used for decomposing the target window according to the function type to obtain a first sub-window and a second sub-window, comprising: if the business function implemented by the functional area includes the pixel mixing type business function, determining that the functional area belongs to the first sub-window; otherwise, determining that the functional area belongs to the second sub-window; the first sub-window and the second sub-window include at least one functional area among the multiple functional areas; 窗口渲染模块,用于按照离屏渲染的方式渲染所述第一子窗口、以及按照屏幕渲染的方式渲染所述第二子窗口;其中,所述离屏渲染为在当前屏幕缓冲区以外另开辟的缓冲区中进行的渲染,所述屏幕渲染为在当前屏幕缓冲区进行的渲染;A window rendering module, configured to render the first sub-window in an off-screen rendering manner, and to render the second sub-window in an on-screen rendering manner; wherein the off-screen rendering is rendering performed in a buffer area opened up outside the current screen buffer area, and the on-screen rendering is rendering performed in the current screen buffer area; 同步处理模块,用于对所述第一子窗口和所述第二子窗口进行同步处理,所述同步处理包括同步位移。The synchronization processing module is used to perform synchronization processing on the first sub-window and the second sub-window, wherein the synchronization processing includes synchronization displacement. 8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-6任一项所述的方法。8. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a plurality of instructions, wherein the instructions are suitable for being loaded by a processor and executing the method according to any one of claims 1 to 6.
CN201910729361.2A 2019-08-07 2019-08-07 Window rendering method and related equipment Active CN112347380B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910729361.2A CN112347380B (en) 2019-08-07 2019-08-07 Window rendering method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910729361.2A CN112347380B (en) 2019-08-07 2019-08-07 Window rendering method and related equipment

Publications (2)

Publication Number Publication Date
CN112347380A CN112347380A (en) 2021-02-09
CN112347380B true CN112347380B (en) 2024-12-17

Family

ID=74367430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910729361.2A Active CN112347380B (en) 2019-08-07 2019-08-07 Window rendering method and related equipment

Country Status (1)

Country Link
CN (1) CN112347380B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947969B (en) * 2021-03-10 2022-12-16 支付宝(杭州)信息技术有限公司 A page off-screen rendering method, device, device and readable medium
CN113791857B (en) * 2021-09-03 2024-04-30 北京字节跳动网络技术有限公司 Application window background fuzzy processing method and device in Linux system
CN113961119B (en) * 2021-09-18 2022-08-23 北京城市网邻信息技术有限公司 Information display method and device, electronic equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011101579A4 (en) * 2011-08-31 2012-02-02 Google Llc Selective rendering of off-screen content

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445286B (en) * 2016-09-13 2020-05-19 北京奇虎科技有限公司 Method and device for determining focus of terminal screen based on split screen and terminal equipment
CN106406901A (en) * 2016-09-28 2017-02-15 北京奇虎科技有限公司 Method and device for moving window
CN108269222A (en) * 2016-12-30 2018-07-10 华为技术有限公司 A kind of window rendering intent and terminal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011101579A4 (en) * 2011-08-31 2012-02-02 Google Llc Selective rendering of off-screen content

Also Published As

Publication number Publication date
CN112347380A (en) 2021-02-09

Similar Documents

Publication Publication Date Title
CN110377263B (en) Image synthesis method, device, electronic device and storage medium
US5889945A (en) System for dynamically updating information in panels within an attendee bar corresponding to a conference session when selected information regarding to conferencing participants changes
CN113050899B (en) Method and system for directly displaying video and UI drm based on Wayland protocol
US20070288640A1 (en) Remote rendering of multiple mouse cursors
CN112347380B (en) Window rendering method and related equipment
US20110047485A1 (en) Information processing apparatus, conference system and information processing method
US9899004B2 (en) Method and device for generating graphical user interface (GUI) for displaying
CN111651079A (en) Handwriting display method, device, device and computer storage medium
WO2022089330A1 (en) Method for taking screenshot, apparatus, electronic device, and readable storage medium
US7716685B2 (en) Pluggable window manager architecture using a scene graph system
CN101388979B (en) A method for superimposing user interface on video screen
JP2023551670A (en) Page switching display method, device, storage medium and electronic equipment
US20150082199A1 (en) Document viewing mechanism for document sharing environment
CN108595134A (en) Intelligent interactive panel and vector diagram processing method, device and equipment
CN110457102A (en) Blur method, rendering method and computing device for visible objects
WO2023131105A1 (en) Display control method and apparatus, and display device and computer-readable medium
CN115396717A (en) Display device and display image quality adjusting method
CN107562331A (en) Display method, device and equipment of handwritten characters and storage medium
CN112214149A (en) Intelligent interactive display device, screen capture method and system thereof, and electronic equipment
US20180018398A1 (en) Positioning content in computer-generated displays based on available display space
CN114143477B (en) Image labeling method and device
CN111158822A (en) Display interface control method and device, storage medium and electronic equipment
US20200258279A1 (en) Image display method and apparatus, and storage medium
CN114697573B (en) Subtitle generation method, computer device, and computer-readable storage medium
CN115904284B (en) Display control methods, systems, electronic devices, and media

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment

Free format text: NEW EXPIRY DATE: 20391011

TG01 Patent term adjustment