Application display control method and device and storage medium

By creating multiple drawing threads and rendering threads in the terminal and performing the drawing and rendering tasks of the display area in parallel, the frame drop problem caused by drawing and rendering serial in the prior art is solved, and the smoothness and user experience of the screen interface are improved.

CN119473464APending Publication Date: 2025-02-18BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311016618.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-11
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

In the prior art, since both drawing and rendering are completed serially in thread, the drawing and rendering cycle of each frame increases, and the frame drop phenomenon is more obvious, affecting the user's user experience.

Method used

When the terminal receives the trigger operation of split-screen display, multiple drawing threads and multiple rendering threads are created, and the drawing and rendering tasks that display the display area where different display contents are located are performed in parallel.

Benefits of technology

By completing the drawing and rendering tasks of multiple display areas in parallel, the screen interface is avoided and the screen interface is smooth, and the screen interface is smooth and provides a better user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473464A_ABST
    Figure CN119473464A_ABST
Patent Text Reader

Abstract

The invention relates to an application display control method and device and a storage medium. The application display control method comprises the steps that in response to a trigger operation of split-screen display received by a terminal, a plurality of drawing threads and a plurality of rendering threads are created, and the trigger operation is used for triggering the terminal to display different display contents of the same application in a display area in a split-screen mode; and executing a drawing task for displaying the display areas where the different display contents are located based on the plurality of drawing threads, and executing a rendering task for displaying the display areas where the different display contents are located based on the plurality of rendering threads. According to the technical scheme provided by the invention, the drawing and rendering tasks of different display areas are split to different threads to be executed, so that the effect of parallel drawing and rendering is achieved, the frame loss rate under multiple display area scenes is reduced, and better experience is provided for a user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of terminal technology, and in particular to an application display control method, device and storage medium. Background Art

[0002] With the development of terminal technology, the functions supported by terminals are becoming more and more diverse.

[0003] In the related art, the terminal supports multiple windows display of the same application. The window image is presented to the screen for display and needs to go through the processing flow of drawing, rendering, synthesis, etc. Among them, drawing and rendering are completed in the application process.

[0004] In the related art, since drawing and rendering are completed serially in threads, the drawing and rendering cycle of each frame increases, and the frame loss phenomenon becomes more obvious, affecting the user experience. Summary of the invention

[0005] In order to overcome the problems existing in the related art, the present disclosure provides an application display control method, device and storage medium.

[0006] According to a first aspect of an embodiment of the present disclosure, there is provided an application display control method, comprising: in response to a terminal receiving a trigger operation for split-screen display, creating multiple drawing threads and multiple rendering threads, the trigger operation being used to trigger the terminal to display different display contents of the same application in a split-screen display area; based on the multiple drawing threads, executing a drawing task for displaying the display area where the different display contents are located, and based on the multiple rendering threads, executing a rendering task for displaying the display area where the different display contents are located.

[0007] In one embodiment, creating multiple drawing threads includes: splitting the drawing thread for drawing the display area where the different display contents are located into an interface display drawing thread and an auxiliary drawing thread; and using the interface display drawing thread and the auxiliary drawing thread as multiple drawing threads for executing the drawing task of displaying the display area where the different display contents are located.

[0008] In one embodiment, the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads includes: adjusting the priority and core binding strategy of the auxiliary drawing thread, the priority and core binding strategy are used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on the display area where the different display contents are located in parallel; in response to detecting a determination signal, the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads is executed, and the determination signal is a signal for determining to execute the drawing task.

[0009] In one embodiment, creating multiple rendering threads includes: creating rendering threads with the same number as the split screens; using the rendering threads with the same number as the split screens as multiple rendering threads for executing rendering tasks for displaying the display areas where the different display contents are located.

[0010] In one embodiment, the rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads includes: constructing a drawing command tree based on the drawing task, the drawing command tree including all drawing commands of the drawing task; binding the multiple rendering threads to the display area where the different display contents are located, and adjusting the priorities of the multiple rendering threads, the priorities being used to enable the multiple rendering threads to perform rendering processing on the display area where the different display contents are located in parallel; and executing the rendering task of displaying the display area where the different display contents are located based on the drawing command tree and the multiple rendering threads.

[0011] In one embodiment, the method further includes: in response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, destroying the created multiple drawing threads and multiple rendering threads.

[0012] According to the second aspect of an embodiment of the present disclosure, an application display control device is provided, including: a creation unit, used for a terminal to receive a trigger operation for split-screen display, to create multiple drawing threads and multiple rendering threads, the trigger operation being used to trigger the terminal to display different display contents of the same application in a split-screen display area; a processing unit, used to execute a drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads, and to execute a rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads.

[0013] In one embodiment, the creation unit creates multiple drawing threads in the following manner: the drawing thread for drawing the display area where the different display contents are located is split into an interface display drawing thread and an auxiliary drawing thread; the interface display drawing thread and the auxiliary drawing thread are used as multiple drawing threads for executing the drawing task of displaying the display area where the different display contents are located.

[0014] In one embodiment, the processing unit executes the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads in the following manner: adjusting the priority and core binding strategy of the auxiliary drawing thread, wherein the priority and core binding strategy are used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on the display area where the different display contents are located in parallel; in response to detecting a determination signal, executing the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads, wherein the determination signal is a signal for determining to execute the drawing task.

[0015] In one embodiment, the creation unit creates multiple rendering threads in the following manner: creates rendering threads with the same number as the split screens; and uses the rendering threads with the same number as the split screens as multiple rendering threads for executing rendering tasks for displaying the display areas where the different display contents are located.

[0016] In one embodiment, the processing unit executes a rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads in the following manner: constructing a rendering command tree based on the drawing task, the drawing command tree including all drawing commands of the drawing task; binding the multiple rendering threads to the display area where the different display contents are located, and adjusting the priorities of the multiple rendering threads, the priorities being used to enable the multiple rendering threads to render the display area where the different display contents are located in parallel; and executing a rendering task of displaying the display area where the different display contents are located based on the drawing command tree and the multiple rendering threads.

[0017] In one embodiment, the processing unit is further configured to: in response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, destroy the created multiple drawing threads and multiple rendering threads.

[0018] According to a third aspect of an embodiment of the present disclosure, there is provided an application display control device, including:

[0019] a processor; a memory for storing instructions executable by the processor;

[0020] The processor is configured to call the instructions stored in the memory to execute the application display control method as described in the first aspect or any one of the implementations of the first aspect.

[0021] According to a fourth aspect of an embodiment of the present disclosure, a storage medium is provided, in which instructions are stored. When the instructions in the storage medium are executed by a processor of a terminal, the terminal is enabled to execute the application display control method described in the first aspect or any one of the embodiments of the first aspect.

[0022] The technical solution provided by the embodiments of the present disclosure may include the following beneficial effects: Through the technical solution provided by the present disclosure, the drawing and rendering tasks of multiple display areas can be completed in parallel, thereby avoiding the phenomenon of frame loss and freeze in the screen interface. And by decoupling the drawing and rendering processes of multiple display areas, the drawing and rendering processes of multiple display areas can be executed independently, avoiding the effect of freeze in one display area on the drawing and rendering of other display areas, improving the smoothness of the screen interface, and providing users with a better user experience.

[0023] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0025] Figure 1 The figure is a flowchart of a method for controlling application display according to an exemplary embodiment.

[0026] Figure 2 The present invention is a flow chart of a method for drawing an interface according to an exemplary embodiment.

[0027] Figure 3 The figure is a flow chart of another method for drawing an interface according to an exemplary embodiment.

[0028] Figure 4 The figure is a general flow chart of an interface drawing method according to an exemplary embodiment.

[0029] Figure 5 The present invention is a flowchart of a method for drawing an interface according to an exemplary embodiment.

[0030] Figure 6 The present invention is a flow chart of a method for interface rendering according to an exemplary embodiment.

[0031] Figure 7 The figure is a flow chart of another method for interface rendering according to an exemplary embodiment.

[0032] Figure 8 The figure is a general flow chart of an interface rendering method according to an exemplary embodiment.

[0033] Fig. 9 The present invention is a program flow chart of an interface rendering method according to an exemplary embodiment.

[0034] Fig.10The figure is a flowchart of another application display control method according to an exemplary embodiment.

[0035] Fig.11 It is a schematic diagram showing an interface before and after optimization according to an exemplary embodiment.

[0036] Fig.12 The invention is a block diagram of an application display control device according to an exemplary embodiment.

[0037] Fig.13 The invention is a block diagram showing a device for controlling application display according to an exemplary embodiment. DETAILED DESCRIPTION

[0038] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present disclosure.

[0039] The window image needs to go through the drawing, rendering, and synthesis process before it can be displayed on the screen. Drawing is essentially the process of filling pixels, including drawing text, images, and colors; rendering is the process of converting the drawn content into the corresponding content actually presented on the screen. The drawing process is completed on multiple layers. After the drawing process is completed on each layer, all layers are merged into one layer in a reasonable order and rendered on the screen, which is the synthesis process.

[0040] In related technologies, the terminal supports multiple window displays of the same application, dividing the screen into multiple display areas, each of which displays different contents of the same application. The drawing of multiple display areas is completed serially in the interface display drawing thread (UI thread), and due to the singleton nature of the rendering thread, the rendering tasks are also completed serially on the same thread. This mechanism will increase the drawing and rendering cycle of each frame, and the resulting frame loss phenomenon will be more obvious, affecting the user experience.

[0041] In view of this, the present disclosure provides an application display control method, which achieves parallel drawing and rendering effects by splitting the drawing and rendering tasks of different display areas into different threads for execution, thereby avoiding frame loss and freeze in the screen interface.

[0042] Figure 1 is a flowchart of an application display control method according to an exemplary embodiment. Figure 1 As shown, the following steps are included.

[0043] In step S11, in response to the terminal receiving a triggering operation for split-screen display, multiple drawing threads and multiple rendering threads are created.

[0044] In step S12, a drawing task of displaying a display area where different display contents are located is executed based on a plurality of drawing threads, and a rendering task of displaying a display area where different display contents are located is executed based on a plurality of rendering threads.

[0045] In the disclosed embodiment, multiple display areas of the terminal are used to display different display contents of the same application. For example, the same shopping application can be displayed in split screen on the terminal, and two application windows are displayed separately on the screen, the left window is a product selection window for displaying the shopping application, and the right window is used to display the detailed information page of a product selected by the user in the left window, and the user can operate the shopping application in the two windows at the same time.

[0046] In the disclosed embodiment, when it is detected that the terminal displays multiple display areas, multiple drawing threads and multiple rendering threads (Render Thread) are created. Drawing and rendering tasks for displaying multiple display areas are performed based on the multiple drawing threads and multiple rendering threads. When multiple display areas need to be updated at the same time, the drawing and rendering tasks of the multiple display areas are split into different threads for execution to achieve the effect of parallel drawing and rendering. Among them, the drawing and rendering processes of multiple display areas can be executed independently without relying on each other, thereby avoiding the situation where one display area is stuck and frame dropped, affecting the drawing and rendering of other display areas.

[0047] In the disclosed embodiment, the drawing tasks of multiple display areas are executed by splitting the drawing thread into an interface display drawing thread and an auxiliary drawing thread.

[0048] Figure 2 is a flow chart of a method for drawing an interface according to an exemplary embodiment. Figure 2 As shown, the following steps are included.

[0049] In step S21, in response to the terminal receiving a trigger operation for split-screen display, a drawing thread for drawing a display area where different display contents are located is split into an interface display drawing thread and an auxiliary drawing thread.

[0050] In step S22, based on the interface display drawing thread and the auxiliary drawing thread, a drawing task of displaying the display area where different display contents are located is executed.

[0051] In the embodiment of the present disclosure, when it is detected that the terminal displays multiple display areas, the interface display drawing thread is split, so that part of the drawing tasks are completed on the newly created auxiliary drawing thread. Based on the interface display drawing thread and the auxiliary drawing thread, the drawing tasks of multiple display areas are executed. Among them, there is a corresponding relationship between the number of auxiliary drawing threads and the number of display areas, for example: the electronic device is divided into two display areas, and an auxiliary drawing thread is created; the electronic device is divided into three display areas, and two auxiliary drawing threads are created, and so on.

[0052] In the embodiment of the present disclosure, it is detected that the terminal displays multiple display areas, multiple drawing threads are created, and drawing tasks for displaying display areas where different display contents are located are executed based on the multiple drawing threads.

[0053] Figure 3 is a flow chart of another method for drawing an interface according to an exemplary embodiment. Figure 3 As shown, the following steps are included.

[0054] In step S31, in response to the terminal receiving a triggering operation for split-screen display, an auxiliary drawing thread is created.

[0055] In the disclosed embodiment, the terminal receives a triggering operation for split-screen display, splits the interface display drawing thread, and creates an auxiliary drawing thread.

[0056] In step S32, the priority and core binding strategy of the auxiliary drawing thread are adjusted.

[0057] In the disclosed embodiment, the priority of the auxiliary drawing thread is adjusted by presetting the priority value of each display area. For example, the same application is displayed in split screen on the terminal, and two windows are displayed separately on the left and right sides of the screen. The auxiliary thread drawing the right window is raised from the original default priority of 110 to 98, so that the interface display drawing thread and the auxiliary drawing thread can perform drawing processing on the two display areas in parallel.

[0058] In the disclosed embodiment, the core binding strategy is also used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on multiple display areas in parallel. The core binding strategy is to bind different drawing threads to different processor cores to increase the processing speed. Among them, the processor core can be a CPU core, but it is not limited here. For example, when the same application is displayed in a left and right split screen on the terminal and an auxiliary drawing thread is created, the interface display drawing thread is bound to processor core A, and the auxiliary drawing thread is bound to processor core B to increase the drawing speed.

[0059] In step S33 , in response to detecting the determination signal, a drawing task of displaying a display area where different display contents are located is executed based on multiple drawing threads.

[0060] In the embodiment of the present disclosure, when a determination signal is detected, it is determined to start executing the drawing task, and the drawing task of displaying multiple display areas is executed based on multiple drawing threads. The determination signal may be a Vsync signal, but this is not limited here.

[0061] In the disclosed embodiment, the drawing tasks of multiple display areas are split into different threads for execution to achieve a parallel drawing effect, thereby increasing the drawing speed and effectively avoiding the phenomenon of application page freezes.

[0062] Figure 4 is a general flow chart of an interface drawing method according to an exemplary embodiment. Figure 4 As shown, the following steps are included.

[0063] In step S41, the application process starts.

[0064] In step S42, it is determined whether the terminal displays multiple display areas, for example, whether the current screen display is in a centering mode or a multi-window mode.

[0065] In step S43, if it is determined that the terminal displays multiple display areas, an auxiliary drawing thread is created.

[0066] If it is determined that the terminal displays a single display area, the original single-threaded drawing solution is maintained.

[0067] In step S44, the priority and core binding strategy of the auxiliary drawing thread are adjusted.

[0068] In step S45, a detection determination signal is sent.

[0069] In step S46, it is determined whether there are multiple rendering tasks.

[0070] In step S47, if it is determined that there are multiple drawing tasks, the interface display drawing thread is split, so that part of the drawing tasks are completed on the newly created auxiliary drawing thread.

[0071] In step S48a, the interface display drawing thread executes the drawing task.

[0072] In step S48b, the auxiliary drawing thread executes the drawing task.

[0073] In step S49a, the interface display drawing thread drawing is completed.

[0074] In step S49b, the auxiliary drawing thread drawing is completed.

[0075] Figure 5 is a program flow chart of an interface drawing method according to an exemplary embodiment. Figure 5 shown.

[0076] When the UI thread needs to perform a drawing task, the callback function (mTraversal Runnable) is passed from the top of the view hierarchy (ViewRootlmpl) to the choreographer (Choreographer), that is, the drawing task is passed.

[0077] Choreographer monitors the synchronization signal (schedule Vsync) and waits for the signal to arrive to start drawing.

[0078] When the Vsync signal arrives (on Vsync), Choreographer will determine whether there are multiple drawing tasks within this synchronization cycle.

[0079] If it exists, the callback is executed (on callback), one drawing task is executed on the UI thread, and the other drawing task is handed over to the auxiliary drawing thread for parallel execution (do Traversal).

[0080] Measure (perform Measure), layout (perform Layout) and draw (perform Draw) the display area to complete the drawing task.

[0081] In the disclosed embodiment, after the interface display drawing thread and the auxiliary drawing thread complete drawing, they pass the drawing command to the rendering thread to prepare for executing the rendering task.

[0082] Figure 6 is a flow chart of a method for interface rendering according to an exemplary embodiment. Figure 6 As shown, the following steps are included.

[0083] In step S51, in response to the terminal receiving a trigger operation for split-screen display, a number of rendering threads equal to the number of split-screens is created.

[0084] In the embodiment of the present disclosure, the terminal receives a trigger operation for split screen display and creates a rendering thread with the same number of split screens as the current number of split screens. For example, if the electronic device splits the screen into two display areas, two rendering threads are created; if the electronic device splits the screen into three display areas, three rendering threads are created, and so on.

[0085] In step S52, based on the rendering threads with the same number as the split screens, the rendering task of displaying the display areas where the different display contents are located is executed.

[0086] In the disclosed embodiment, rendering tasks of multiple display areas are executed based on multiple rendering threads, and the rendering tasks of multiple display areas are split into different threads for execution, so as to achieve a parallel rendering effect.

[0087] Figure 7 is a flow chart of another method for interface rendering according to an exemplary embodiment. Figure 7 As shown, the following steps are included.

[0088] In step S61 , a drawing command tree is constructed based on the drawing task.

[0089] In the embodiment of the present disclosure, after multiple drawing threads complete the drawing tasks of multiple display areas, they construct a command tree (tree) and pass it to the rendering thread. The drawing command tree includes all the drawing commands of the drawing task.

[0090] In step S62, a plurality of rendering threads are created, the plurality of rendering threads are bound to display areas where different display contents are located, and the priorities of the plurality of rendering threads are adjusted.

[0091] In the disclosed embodiment, the terminal receives a trigger operation for split-screen display, creates multiple rendering threads, binds the multiple rendering threads to the multiple display areas one by one, and adjusts the priorities of the multiple rendering threads so that the multiple rendering threads can render the multiple display areas in parallel.

[0092] In step S63, based on the drawing command tree and the multiple rendering threads, a rendering task of displaying the display area where different display contents are located is executed.

[0093] In the disclosed embodiment, rendering processing is performed on multiple display areas based on a drawing command tree and multiple rendering threads.

[0094] In the disclosed embodiment, the rendering processes of multiple display areas are decoupled so that the rendering processes of multiple display areas can be executed independently, thereby avoiding the impact of freezing in one area on the rendering of other areas and achieving the effect of parallel rendering.

[0095] Figure 8 is a general flow chart of an interface rendering method according to an exemplary embodiment. Figure 8 As shown, the following steps are included.

[0096] In step S71, the application process starts.

[0097] In step S72, it is determined whether the terminal displays multiple display areas.

[0098] In step S73, if it is determined that the terminal displays multiple display areas, multiple rendering threads are created.

[0099] In step S74, different display areas are bound to different rendering threads.

[0100] In step S75, multi-thread rendering is performed.

[0101] In step S76, the processing core is submitted for rendering.

[0102] The processing core may be a GPU core, but this is not limited here.

[0103] In step S77, the rendering task is completed.

[0104] In step S78, if it is determined that the terminal displays a single display area, a rendering thread is created.

[0105] In step S79, single-thread rendering is performed.

[0106] Fig. 9 is a program flow chart of an interface rendering method according to an exemplary embodiment. Fig. 9 shown.

[0107] The interface (Android_graphics_HardwareRenderer) of the hardware accelerated rendering view hierarchy creates (new) a rendering proxy (RenderProxy) object. RenderProxy obtains the RenderThread instance through the getinstance function. RenderThread detects that the current application has multiple windows, that is, multiple display areas are currently displayed, and returns multiple instances to RenderProxy, for example: instance 1 (instance1), instance 2 (instance2). RenderProxy switches the current context (setContext), binds multiple rendering thread instances (RenderThread) to the drawing thread instance (DrawFrameTask), and completes the rendering task.

[0108] The tasks passed from the UI thread to the rendering thread are in the form of DrawFrameTask instances, which are bound to different rendering thread instances according to the display area name, so the rendering tasks of multiple display areas can be completed in parallel on multiple rendering threads.

[0109] In the embodiment of the present disclosure, when the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, the created multiple drawing threads and multiple rendering threads are destroyed.

[0110] Fig.10 is a flowchart of another application display control method according to an exemplary embodiment. Fig.10 As shown, the following steps are included.

[0111] Steps S81 and S82 are the same as steps S11 and S12 and will not be described in detail here.

[0112] In step S83 , in response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, the created multiple drawing threads and multiple rendering threads are destroyed.

[0113] In the disclosed embodiment, when the terminal switches from multiple display areas to a single display area, the created multiple drawing threads and multiple rendering threads are destroyed. When the terminal needs to display multiple display areas again, multiple drawing threads and multiple rendering threads are created again.

[0114] Fig.11 is a schematic diagram showing an interface before and after optimization according to an exemplary embodiment. Fig.11 As shown, the terminal screen is divided into interface A and interface B. The numbers after A and B are used to indicate the frame number.

[0115] Before optimization, the display area is drawn and rendered based on a single thread. After processing frame A1, frame B1 can be processed, and after processing frame B1, frame A2 can be processed, and so on. This increases the drawing and rendering cycle of each frame, resulting in frame loss, which may cause the loss of frame B0, frame A1, frame B2, etc. Finally, when the screen interface is displayed (hwcomposer, HWC), a split-screen interface may freeze.

[0116] After optimization, two drawing threads and two rendering threads are created to render interface A and interface B respectively. That is, the UI thread (UI Thread) is split, the drawing task of interface B is handled by the auxiliary drawing thread (UI Thread2), and two rendering threads (Render Thread, Render Thread2) are created to render interface A and interface B respectively, thereby reducing the frame loss rate in multiple display area scenarios and avoiding freezes.

[0117] In the disclosed embodiment, the drawing and rendering tasks of multiple display areas are completed in parallel, thereby avoiding the phenomenon of frame loss and freeze in the screen interface. The drawing and rendering processes of multiple display areas are decoupled so that the drawing and rendering processes of multiple display areas can be executed independently, avoiding the effect of freeze in one display area on the drawing and rendering of other display areas, thereby improving the smoothness of the screen interface and providing users with a better user experience.

[0118] Based on the same concept, an embodiment of the present disclosure also provides an application display control device.

[0119] It is understandable that in order to realize the above functions, the application display control device provided by the embodiment of the present disclosure includes hardware structures and / or software modules corresponding to the execution of each function. In combination with the units and algorithm steps of each example disclosed in the embodiment of the present disclosure, the embodiment of the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiment of the present disclosure.

[0120] Fig.12 1 is a block diagram of an application display control device 100 according to an exemplary embodiment. Fig.12 The device includes a creating unit 101 and a processing unit 102.

[0121] The creation unit 101 is used for creating multiple drawing threads and multiple rendering threads when the terminal receives a trigger operation for split-screen display, and the trigger operation is used to trigger the terminal to display different display contents of the same application in a split-screen display area.

[0122] The processing unit 102 is used to execute drawing tasks for displaying display areas where different display contents are located based on multiple drawing threads, and to execute rendering tasks for displaying display areas where different display contents are located based on multiple rendering threads.

[0123] In the embodiment of the present disclosure, the creation unit 101 creates multiple drawing threads in the following manner: the drawing thread for drawing the display area where different display contents are located is split into an interface display drawing thread and an auxiliary drawing thread. The interface display drawing thread and the auxiliary drawing thread are used as multiple drawing threads for executing the drawing task of displaying the display area where multiple different display contents are located.

[0124] In the embodiment of the present disclosure, the processing unit 102 executes the drawing task of displaying the display area where different display contents are located based on multiple drawing threads in the following manner: adjusting the priority and core binding strategy of the auxiliary drawing thread, the priority and core binding strategy are used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on the display area where different display contents are located in parallel. In response to detecting a determination signal, the drawing task of displaying the display area where different display contents are located is executed based on multiple drawing threads, and the determination signal is a signal for determining to execute the drawing task.

[0125] In the embodiment of the present disclosure, the creation unit 101 creates multiple rendering threads in the following manner: creating rendering threads with the same number as the split screens and using the same number as the split screens as multiple rendering threads for executing rendering tasks for displaying display areas where different display contents are located.

[0126] In the embodiment of the present disclosure, the processing unit 102 executes the rendering task of displaying the display area where different display contents are located based on multiple rendering threads in the following manner: construct a rendering command tree based on the drawing task, and the drawing command tree includes all drawing commands of the drawing task. Bind multiple rendering threads to the display area where different display contents are located, and adjust the priorities of multiple rendering threads, and the priorities are used to enable multiple rendering threads to render the display area where different display contents are located in parallel. Based on the drawing command tree and multiple rendering threads, the rendering task of displaying the display area where different display contents are located is executed.

[0127] In the embodiment of the present disclosure, the processing unit 102 is further configured to: in response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, destroy the created multiple drawing threads and multiple rendering threads.

[0128] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0129] Fig.13 2 is a block diagram of an application display control device 200 according to an exemplary embodiment. For example, the device 200 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0130] Reference Fig.13 , the device 200 may include one or more of the following components: a processing component 202 , a memory 204 , a power component 206 , a multimedia component 208 , an audio component 210 , an input / output (I / O) interface 212 , a sensor component 214 , and a communication component 216 .

[0131] The processing component 202 generally controls the overall operation of the device 200, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 202 may include one or more processors 220 to execute instructions to perform all or part of the steps of the above-described method. In addition, the processing component 202 may include one or more modules to facilitate interaction between the processing component 202 and other components. For example, the processing component 202 may include a multimedia module to facilitate interaction between the multimedia component 208 and the processing component 202.

[0132] The memory 204 is configured to store various types of data to support operations on the device 200. Examples of such data include instructions for any application or method operating on the device 200, contact data, phone book data, messages, pictures, videos, etc. The memory 204 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0133] The power component 206 provides power to the various components of the device 200. The power component 206 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 200.

[0134] The multimedia component 208 includes a screen that provides an output interface between the device 200 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 208 includes a front camera and / or a rear camera. When the device 200 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0135] The audio component 210 is configured to output and / or input audio signals. For example, the audio component 210 includes a microphone (MIC), and when the device 200 is in an operation mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 204 or sent via the communication component 216. In some embodiments, the audio component 210 also includes a speaker for outputting audio signals.

[0136] I / O interface 212 provides an interface between processing component 202 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.

[0137] The sensor assembly 214 includes one or more sensors for providing various aspects of the status assessment of the device 200. For example, the sensor assembly 214 can detect the open / closed state of the device 200, the relative positioning of components, such as the display and keypad of the device 200, the sensor assembly 214 can also detect the position change of the device 200 or a component of the device 200, the presence or absence of user contact with the device 200, the orientation or acceleration / deceleration of the device 200 and the temperature change of the device 200. The sensor assembly 214 can include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 214 can also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 214 can also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor or a temperature sensor.

[0138] The communication component 216 is configured to facilitate wired or wireless communication between the device 200 and other devices. The device 200 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 216 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 216 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0139] In an exemplary embodiment, the apparatus 200 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.

[0140] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 204 including instructions, and the instructions can be executed by the processor 220 of the device 200 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0141] It is to be understood that in the present disclosure, "plurality" refers to two or more than two, and other quantifiers are similar. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. The singular forms "a", "the" and "the" are also intended to include plural forms, unless the context clearly indicates other meanings.

[0142] It is further understood that the terms "first", "second", etc. are used to describe various information, but such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other, and do not indicate a specific order or degree of importance. In fact, the expressions "first", "second", etc. can be used interchangeably. For example, without departing from the scope of the present disclosure, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information.

[0143] It will be further understood that the terms “center”, “longitudinal”, “lateral”, “front”, “back”, “up”, “down”, “left”, “right”, “vertical”, “horizontal”, “top”, “bottom”, “inside”, “outside”, etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the present embodiment and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation.

[0144] It can be further understood that, unless otherwise specified, “connection” includes a direct connection without other components between the two, and also includes an indirect connection with other components between the two.

[0145] It is further understood that, although the operations are described in a specific order in the drawings in the embodiments of the present disclosure, it should not be understood as requiring the operations to be performed in the specific order or serial order shown, or requiring the execution of all the operations shown to obtain the desired results. In certain environments, multitasking and parallel processing may be advantageous.

[0146] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any modifications, uses or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure.

[0147] It should be understood that the present disclosure is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the scope of the appended claims.

Claims

1. An application display control method, characterized in that: include: In response to the terminal receiving a trigger operation for split-screen display, creating multiple drawing threads and multiple rendering threads, wherein the trigger operation is used to trigger the terminal to display different display contents of the same application in a split-screen display area; The drawing task of displaying the display area where the different display contents are located is executed based on the multiple drawing threads, and the rendering task of displaying the display area where the different display contents are located is executed based on the multiple rendering threads.

2. The method according to claim 1, characterized in that The creating of multiple drawing threads comprises: Splitting a drawing thread for drawing the display area where the different display contents are located into an interface display drawing thread and an auxiliary drawing thread; The interface display drawing thread and the auxiliary drawing thread are used as multiple drawing threads for executing the drawing task of displaying the display area where the different display contents are located.

3. The method according to claim 1 or 2, characterized in that: The performing of the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads includes: Adjusting the priority and core binding strategy of the auxiliary drawing thread, wherein the priority and core binding strategy are used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on the display area where the different display contents are located in parallel; In response to detecting a determination signal, a drawing task for displaying the display area where the different display contents are located is executed based on the multiple drawing threads, and the determination signal is a signal for determining to execute the drawing task.

4. The method according to claim 1, characterized in that The creating of multiple rendering threads comprises: Create rendering threads equal to the number of split screens; The rendering threads having the same number as the split screen are used as multiple rendering threads for executing rendering tasks for displaying the display areas where the different display contents are located.

5. The method according to claim 1 or 4, characterized in that: The performing of the rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads includes: Building a drawing command tree based on the drawing task, wherein the drawing command tree includes all drawing commands of the drawing task; Binding the multiple rendering threads to the display areas where the different display contents are located, and adjusting the priorities of the multiple rendering threads, wherein the priorities are used to enable the multiple rendering threads to perform rendering processing on the display areas where the different display contents are located in parallel; Based on the drawing command tree and the multiple rendering threads, a rendering task of displaying the display area where the different display contents are located is executed.

6. The method according to claim 1, characterized in that The method further comprises: In response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, the created multiple drawing threads and multiple rendering threads are destroyed.

7. An application display control device, characterized in that: include: A creating unit, configured to create a plurality of drawing threads and a plurality of rendering threads when a terminal receives a triggering operation for split-screen display, wherein the triggering operation is configured to trigger the terminal to display different display contents of the same application in a split-screen display area; The processing unit is used to execute the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads, and execute the rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads.

8. The device according to claim 7, characterized in that The creation unit creates multiple drawing threads in the following manner: Splitting a drawing thread for drawing the display area where the different display contents are located into an interface display drawing thread and an auxiliary drawing thread; The interface display drawing thread and the auxiliary drawing thread are used as multiple drawing threads for executing the drawing task of displaying the display area where the different display contents are located.

9. The device according to claim 7 or 8, characterized in that The processing unit executes the drawing task of displaying the display area where the different display contents are located based on the multiple drawing threads in the following manner: Adjusting the priority and core binding strategy of the auxiliary drawing thread, wherein the priority and core binding strategy are used to enable the interface display drawing thread and the auxiliary drawing thread to perform drawing processing on the display area where the different display contents are located in parallel; In response to detecting a determination signal, a drawing task for displaying the display area where the different display contents are located is executed based on the multiple drawing threads, and the determination signal is a signal for determining to execute the drawing task.

10. The device according to claim 7, characterized in that The creation unit creates multiple rendering threads in the following manner: Create rendering threads equal to the number of split screens; The rendering threads having the same number as the split screen are used as multiple rendering threads for executing rendering tasks for displaying the display areas where the different display contents are located.

11. The device according to claim 7 or 10, characterized in that The processing unit performs the rendering task of displaying the display area where the different display contents are located based on the multiple rendering threads in the following manner: Building a drawing command tree based on the drawing task, wherein the drawing command tree includes all drawing commands of the drawing task; Binding the multiple rendering threads to the display areas where the different display contents are located, and adjusting the priorities of the multiple rendering threads, wherein the priorities are used to enable the multiple rendering threads to perform rendering processing on the display areas where the different display contents are located in parallel; Based on the drawing command tree and the multiple rendering threads, a rendering task of displaying the display area where the different display contents are located is executed.

12. The device according to claim 7, characterized in that The processing unit is also used for: In response to detecting that the display area of ​​the terminal switches from displaying different display contents to displaying a single display content, the created multiple drawing threads and multiple rendering threads are destroyed.

13. An application display control device, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to: The method is used to call the instruction stored in the memory to execute the application display control method according to any one of claims 1 to 6.

14. A storage medium, characterized in that: The storage medium stores instructions, and when the instructions in the storage medium are executed by a processor of the terminal, the terminal is enabled to execute the application display control method according to any one of claims 1 to 6.