Image display method, image display device and electronic equipment
By drawing the focused window and the non-focused window separately, and performing synthesis processing on the hardware interface layer, the problem of stuck windows in heavy load scenarios is solved, and priority visibility and efficient rendering of the focused window are achieved.
Patent Information
- Application Number
- CN202310883194.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-01-21
AI Technical Summary
In heavy load scenarios, the user's operation focus window still has lag and stuck, affecting the user's interactive experience.
By drawing the focused window in the first frame buffer, drawing the non-focused window in the second frame buffer, and compositing each frame buffer through the hardware interface layer, we ensure priority visibility and efficient rendering of the focused window.
It effectively prevents the rendering process of the non-focused window from causing lag or impact on the drawing of the focused window, ensuring that the rendering and display of the focused window maintains continuity and smoothness, and reduces lag and freezing phenomena.
Smart Images

Figure CN119336421A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of electronic devices, and more specifically, to an image display method, an image display device, and an electronic device. Background Art
[0002] With the iteration and update of various smart devices such as mobile phones, tablets and personal computers (PCs), major software manufacturers are also constantly upgrading applications. The animation effects of applications are becoming more and more complex, and the drawing load of graphics display is also increasing. Especially in the use scenarios of PCs and tablets, the rendering load of multiple windows and multiple applications is getting heavier. Therefore, optimization technologies for this technology have also emerged. For example, the use of rendering technologies such as local refresh and occlusion culling can effectively alleviate the repeated drawing of redundant windows in heavy load scenarios.
[0003] However, when the above technology is applied in a heavy load scenario, the user still experiences freezes and freezes when operating the focus window. Therefore, how to ensure that the focus window is visible first and reduce freezes and freezes in a heavy load scenario is an urgent problem to be solved. Summary of the invention
[0004] The embodiments of the present application provide an image display method, an image display device, and an electronic device, which can ensure that the focus window is visible first in a heavy load scenario and reduce the phenomenon of the focus window being stuck or frozen.
[0005] In a first aspect, an image display method is provided, the method comprising: acquiring a first window and a second window on a first interface, the first window being a focus window and the second window being a non-focus window; drawing the first window in a first frame buffer, and drawing the second window in a second frame buffer, the drawing of the first window and the second window being executed by a process of an operating system; synthesizing the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; and controlling a display device to display a second interface according to the first synthesized frame and the second synthesized frame.
[0006] Optionally, the first window and the second window on the first interface may be in a stacked relationship, for example, the z-order of the first window is higher than the z-order of the second window.
[0007] Optionally, the first interface may further include a third window, which may be a mouse and / or system user interface (UI) window. When drawing windows, the first window and the third window may be drawn in the first frame buffer.
[0008] Optionally, the first interface may include one second window or multiple second windows. When the first interface includes multiple second windows, the multiple second windows may all be drawn in the second frame buffer during window drawing.
[0009] Optionally, the above-mentioned image display method can be used in smart devices such as mobile phones, tablet computers or personal computers. When displaying images, the above-mentioned first window can be a window corresponding to application 1 of the smart device, and the above-mentioned second window can be a window corresponding to application 2 of the smart device.
[0010] Optionally, drawing the window in the frame buffer may be understood as: drawing the visible content of the window into the frame buffer during the graphics rendering process, and the frame buffer may be a memory area for storing image data. The first frame buffer and the second frame buffer may be understood as two different memory areas for storing image data, having different memory addresses.
[0011] Optionally, the operating system process may be a rendering service process, which may receive rendering tasks sent by various applications, convert them into commands executable by the GPU, and perform data transmission with the CPU to achieve efficient graphics rendering and window drawing.
[0012] It should be understood that the name of the rendering service process is only an exemplary description, and any process that can execute the drawing of the first window and the second window in the operating system can be understood as the rendering service process in this application.
[0013] Optionally, synthesizing the frame buffer through the hardware interface layer can be understood as: the hardware interface layer combines and processes the pixel data in the frame buffer to generate a final display frame (for example, a first synthesized frame and a second synthesized frame), which can be displayed on a display device. Therefore, synthesizing the first frame buffer through the first hardware interface layer can be understood as: the first hardware interface layer processes the pixel data corresponding to the first window in the first frame buffer. When the first interface includes the first window and the third window, synthesizing the first frame buffer through the first hardware interface layer can be understood as: the first hardware interface layer processes the pixel data corresponding to the first window and the third window in the first frame buffer.
[0014] The image display method provided by the embodiment of the present application can improve the efficiency of window rendering and user experience. Specifically, in the embodiment of the present application, by drawing the focus window in the first frame buffer and drawing the non-focus window in the second frame buffer, such a window drawing method helps to avoid drawing all windows in the same frame buffer, thereby avoiding the rendering process of the non-focus window from causing jamming or affecting the drawing of the focus window. In addition, the first frame buffer is synthesized through the first hardware interface layer, and the second frame buffer is synthesized through the second hardware interface layer. Such a synthesis method ensures the priority visibility of the focus window. Even if the non-focus window is jammed or stuck, it will not affect the drawing and rendering process of the focus window.
[0015] In combination with the first aspect, in certain implementations of the first aspect, synthesizing the first frame buffer through the first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through the second hardware interface layer to obtain a second synthesized frame, include: synthesizing the first frame buffer through the first hardware interface layer at a first frame rate to obtain the first synthesized frame; synthesizing the second frame buffer through the second hardware interface layer at a second frame rate to obtain the second synthesized frame, the second frame rate being less than or equal to the first frame rate.
[0016] Optionally, the first frame rate may be 60 frames per second (FPS), and the second frame rate may be less than or equal to 60 FPS.
[0017] In an embodiment of the present application, when the drawing load of the non-focus window is heavy, the second hardware interface layer can synthesize the second frame buffer at a lower second frame rate, and the first hardware interface layer can always synthesize the first frame buffer at a higher first frame rate. In this way, when the drawing load of the non-focus window is heavy, the system can give priority to ensuring the rendering synthesis frame rate of the focus window. Since the first frame buffer is synthesized by the first hardware interface layer and operates at a higher frame rate, the rendering and display of the focus window will not be affected by the drawing load of the non-focus window. At the same time, the second hardware interface layer synthesizes the second frame buffer at a lower frame rate. In this way, the drawing pressure of the non-focus window can be reduced, ensuring that the rendering and interaction of the focus window can continue smoothly.
[0018] In combination with the first aspect, in some implementations of the first aspect, the first synthesized frame includes: the synthesized frame of the first hardware interface layer in the N+1 frame, and the second synthesized frame includes the synthesized frame of the second hardware interface layer in the N frame, where N is a positive integer; controlling the display device to display the second interface based on the first synthesized frame and the second synthesized frame includes: when in the N+1 frame, if the frame rate synthesized by the second hardware interface layer is less than or equal to a preset threshold, controlling the display device to display the second interface based on the synthesized frame of the first hardware interface layer in the N+1 frame and the synthesized frame of the second hardware interface layer in the N frame.
[0019] Optionally, the synthesis frame rate of the second hardware interface layer to the second frame buffer being less than a preset threshold can be understood as: when rendering the synthetic non-focus window, the electronic device is heavily loaded and a freeze phenomenon occurs.
[0020] Optionally, the preset threshold is 60 FPS, or the preset threshold is 30 FPS.
[0021] In an embodiment of the present application, in the N+1 frame, when the second hardware interface layer synthesizes the second frame buffer, if a jam occurs, the second hardware interface layer can send the synthesized frame of the Nth frame to the display device for display, and the first hardware interface layer still sends the synthesized frame of the N+1th frame to the display device for display. Such a processing method can ensure that when a jam occurs in the non-focus window, the display device can correctly display the second interface. Specifically, the second hardware interface layer sends the synthesized frame of the Nth frame to the display device for display, so that the user can still see the latest visual content when a jam occurs in the rendering of the non-focus window, and the picture will not stagnate. At the same time, the first hardware interface layer still sends the synthesized frame of the N+1th frame to the display device for display. This means that the rendering and display of the focus window can still maintain continuity and smoothness, and will not be affected by the jam of the non-focus window. The user can continue to interact with the focus window, and the operation response speed of the focus window will not be significantly delayed.
[0022] In combination with the first aspect, in some implementations of the first aspect, obtaining the first window and the second window on the first interface includes: detecting a first input for the first window on the first interface; and obtaining the first window and the second window in response to the first input.
[0023] Optionally, the first input may be moving or scaling the first window.
[0024] In an embodiment of the present application, when a user operates the focus window, the electronic device can obtain the first window and the second window, so as to perform subsequent layered drawing and rendering operations. In this way, the electronic device can avoid the impact of the focus window displacement and size change on the dirty area on the first interface, thereby avoiding fluctuations in the focus window rendering frame rate. This method ensures the drawing priority of the focus window, and improves the operation response and visual effect during user interaction.
[0025] In combination with the first aspect, in some implementations of the first aspect, the method also includes: detecting a second input for the second window on the second interface; drawing the second window in the first frame buffer in response to the second input, and drawing the first window in the second frame buffer; synthesizing the first frame buffer through the first hardware interface layer to obtain a third synthesized frame, and synthesizing the second frame buffer through the second hardware interface layer to obtain a fourth synthesized frame; and controlling the display device to display a third interface based on the third synthesized frame and the fourth synthesized frame.
[0026] Optionally, the second input may be moving or scaling the second window. When the second input of the second window is detected, the second window is switched to the focus window, and the first window is switched to the non-focus window.
[0027] In the embodiment of the present application, when it is detected that the user operates the second window, the electronic device can draw the second window in the first frame buffer and draw the first window in the second frame buffer. In this way, when the user operates the second window, the electronic device can ensure the priority visibility of the second window and reduce the phenomenon of the second window being stuck and stuck. In addition, the user can interact with the window of interest more smoothly, which improves the user experience and the real-time responsiveness of the operation.
[0028] In a second aspect, an image display device is provided, the device comprising: an acquisition unit, used to acquire a first window and a second window on a first interface, the first window being a focus window, and the second window being a non-focus window; a processing unit, used to: draw the first window in a first frame buffer, and draw the second window in a second frame buffer, the drawing of the first window and the second window being executed by a process of an operating system; synthesizing the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; and controlling the display device to display a second interface according to the first synthesized frame and the second synthesized frame.
[0029] In combination with the second aspect, in certain implementations of the second aspect, the processing unit is specifically used to: synthesize the first frame buffer at a first frame rate through the first hardware interface layer to obtain the first synthesized frame; synthesize the second frame buffer at a second frame rate through the second hardware interface layer to obtain the second synthesized frame, and the second frame rate is less than or equal to the first frame rate.
[0030] In combination with the second aspect, in certain implementations of the second aspect, the first synthesized frame includes: the synthesized frame of the first hardware interface layer in the N+1 frame, and the second synthesized frame includes the synthesized frame of the second hardware interface layer in the N frame, where N is a positive integer; the processing unit is specifically used to control the display device to display the second interface according to the synthesized frame of the first hardware interface layer in the N+1 frame and the synthesized frame of the second hardware interface layer in the N frame, when the frame rate synthesized by the second hardware interface layer in the N+1 frame is less than or equal to a preset threshold.
[0031] In combination with the second aspect, in some implementations of the second aspect, the processing unit is further used to detect a first input for the first window on the first interface; and the acquisition unit is specifically used to acquire the first window and the second window in response to the first input.
[0032] In combination with the second aspect, in some implementations of the second aspect, the processing unit is also used to: detect a second input for the second window on the second interface; in response to the second input, draw the second window in the first frame buffer, and draw the first window in the second frame buffer; synthesize the first frame buffer through the first hardware interface layer to obtain a third synthesized frame, and synthesize the second frame buffer through the second hardware interface layer to obtain a fourth synthesized frame; and control the display device to display a third interface based on the third synthesized frame and the fourth synthesized frame.
[0033] According to a third aspect, a rendering method is provided, the method comprising: obtaining first information sent by a CPU, the first information comprising: a first window and a second window, the first window being a focus window, and the second window being a non-focus window; a processing unit, for drawing the first window in a first frame buffer, and drawing the second window in a second frame buffer, the drawing of the first window and the second window being performed by a process of an operating system; a transceiver unit, for sending data in the first frame buffer and the second frame buffer to a hardware synthesizer.
[0034] In a fourth aspect, a rendering device is provided, which includes: an acquisition unit, used to acquire first information sent by a CPU, the first information including: a first window and a second window, the first window is a focus window, and the second window is a non-focus window; a processing unit, used to draw the first window in a first frame buffer, and draw the second window in a second frame buffer, the drawing of the first window and the second window is performed by a process of an operating system; a transceiver unit, which sends data in the first frame buffer and the second frame buffer to a hardware synthesizer.
[0035] In a fifth aspect, an image display device is provided, comprising: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is used to read and execute instructions in the memory, so that the device implements the method in any one of the implementation modes in the above-mentioned first aspect.
[0036] In a sixth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a program code, and when the computer program code runs on a computer, the computer executes a method in any one of the implementations of the first aspect or the third aspect.
[0037] In a seventh aspect, a chip is provided, the chip comprising a circuit, the circuit being used to execute the method in any one of the implementations of the first aspect or the third aspect.
[0038] In an eighth aspect, a computer program product is provided, which includes a computer program. When the computer program is executed, the computer executes the method in any one of the implementation modes of the first aspect or the third aspect.
[0039] In a ninth aspect, an electronic device is provided, comprising: a device in any one of the implementations of the second aspect or the fourth aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 is a schematic diagram of the hardware structure of an electronic device to which the embodiments of the present application are applicable;
[0041] Figure 2 This is a schematic diagram of a separate rendering architecture provided by an embodiment of the present application;
[0042] Figure 3 This is the system architecture applicable to the image display method provided in the embodiment of the present application;
[0043] Figure 4 is a schematic flow chart of an image display method provided in an embodiment of the present application;
[0044] Figure 5This is a scenario to which the image display method provided in the embodiment of the present application is applicable;
[0045] Figure 6 is a schematic diagram of independently drawing the focus layer and the non-focus layer at different frame rates provided by an embodiment of the present application;
[0046] Figure 7 It is a schematic diagram of a device provided in an embodiment of the present application;
[0047] Figure 8 This is another schematic diagram of a device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0049] The terms used in the following embodiments are only for the purpose of describing specific embodiments, and are not intended to be used as limitations on the present application. As used in the specification and the appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear contrary indication in the context. It should also be understood that in the following embodiments of the present application, "at least one", "one or more" refer to one, two or more. The term "and / or" is used to describe 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, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.
[0050] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0051] The method provided in the embodiments of the present application is applied to electronic devices, including but not limited to mobile phones, tablet computers, vehicle-mounted devices, wearable devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), smart screens, and other electronic devices with display screens. The embodiments of the present application do not impose any restrictions on the specific types of electronic devices.
[0052] For example, Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.
[0053] like Figure 1 As shown, the electronic device 100 may include: a processor 110, a memory 120, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a camera 191, a display screen 192, a button 193, etc.
[0054] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.
[0055] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0056] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory, thereby avoiding repeated access, reducing the waiting time of the processor 110, and thus improving the efficiency of the system.
[0057] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0058] For example, the processor 110 and the touch sensor 180E can communicate through an I2C bus interface to implement the touch function of the electronic device 100. The processor 110 and the camera 191 can communicate through a CSI interface to implement the shooting function of the electronic device 100. The processor 110 and the display screen 192 can communicate through a DSI interface to implement the display function of the electronic device 100.
[0059] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0060] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0061] The electronic device 100 implements the display function through a GPU, a display screen 192, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 192 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0062] The display screen 192 is used to display images, videos, etc. The display screen 192 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 192, where N is a positive integer greater than 1.
[0063] The electronic device 100 can realize the shooting function through ISP, camera 191, video codec, GPU, display screen 192 and application processor. ISP is used to process the data fed back by camera 191. Camera 191 is used to capture static images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. In some embodiments, the electronic device 100 may include 1 or N cameras 191, where N is a positive integer greater than 1.
[0064] The memory 120 is used to store data and / or instructions.
[0065] The memory 120 may include an internal memory. The internal memory is used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory. The internal memory may include a program storage area and a data storage area. Among them, the program storage area may store an operating system; the program storage area may also store one or more applications (such as a gallery, contacts, etc.). The data storage area may store data (such as images, contacts, etc.) created during the use of the electronic device 100. In addition, the internal memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage devices, flash memory devices, universal flash storage (UFS), etc. In some embodiments, the processor 110 may execute instructions stored in the internal memory, and / or instructions stored in a memory provided in the processor 110, so that the electronic device 100 executes the card sharing method provided in the embodiment of the present application.
[0066] The memory 120 may also include an external memory, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory may communicate with the processor 110 via an external memory interface to implement a data storage function, such as storing music, video and other files in the external memory.
[0067] It should be understood that in the embodiment of the present application, there is no limitation on the type of sensors included in the sensor module 180, and the sensor module 180 may include more or fewer sensors, depending on actual needs, which will not be described in detail here.
[0068] It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the electronic device. In other embodiments of the present application, the electronic device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0069] The following takes the electronic device 100 as an intelligent device as an example to introduce the technical problems to be solved by the present application and the technical solutions adopted.
[0070] With the iteration and update of various smart devices such as mobile phones, tablets and PCs, major software manufacturers are also constantly upgrading applications. The animation effects of applications are becoming more and more complex, and the drawing load of graphics display is also increasing. Especially in the use scenarios of PCs and tablets, the rendering load of multiple windows and multiple applications is getting heavier. Therefore, optimization technologies for this technology have also emerged. For example, the use of rendering technologies such as local refresh and occlusion culling can effectively alleviate the repeated drawing of redundant windows in heavy load scenarios. Among them, local refresh can be understood as: in separate rendering, each window has its own layer, and the smart device can record the drawing area of each window and only redraw the area that needs to be updated, reducing the content of window drawing; occlusion culling can be understood as: in separate rendering, the smart device can remove invisible windows from the drawing list, reducing the number of window drawing.
[0071] However, when the above technology is applied in a heavy load scenario, the user's operation of the focus window still experiences lag or freezing.
[0072] For example, Figure 2 The separated rendering architecture shown in the figure, in which each application (application, APP) can independently perform window drawing and send the drawing results to the rendering service process. The rendering service process can convert the format of the received data and transfer the data to the GPU's video memory for processing by the GPU. In a heavy-load scenario with multiple windows and multiple applications, the architecture can occlude the obscured windows, that is, the obscured windows can be not rendered, thereby improving the rendering efficiency to a certain extent. However, for multi-window scenarios (for example, 40 windows) or typical scenarios of window operations (for example, moving and zooming, etc.), after the above processing, the frame rate of the focus window is still lower than 60FPS, that is, the user still has freezes and freezes when operating the focus window, which seriously affects the user's interactive experience.
[0073] For another example, you can use a unified rendering architecture instead Figure 2The separate rendering architecture in the unified rendering has changed the original logic of separate rendering of the application process compared to the separate rendering. The unified rendering can integrate different types of rendering tasks into a unified rendering framework. In the unified rendering architecture, the application process can directly send the rendering instructions to the rendering service process (render service) of the operating system (operating system, OS) for unified rendering processing. Therefore, the unified rendering architecture can provide a more flexible rendering process and higher rendering efficiency, and can also reduce development and maintenance costs. However, under the unified rendering architecture, all windows are drawn in the same frame buffer (framebuffer). The displacement and size change of the focus window directly affects the occlusion culling benefit of the lower non-focus window. At the same time, the dirty region (DR) of the entire screen will also change, which will cause the drawing refresh rate of the focus window to fluctuate, that is, the user still has jamming and freezing when operating the focus window, which seriously affects the user's interactive experience.
[0074] It should be understood that the introduction of dirty areas is to reduce the requirements of computer performance for rendering. When drawing each frame, only the changed parts are drawn, which can save a lot of rendering resources in the software.
[0075] The embodiments of the present application provide an image display method, an image display device, and an electronic device, which can ensure that the focus window is visible first in a heavy load scenario and reduce the phenomenon of the focus window being stuck or frozen.
[0076] Figure 3 This is a system architecture applicable to the image display method provided in the embodiment of the present application. This system architecture can be applied to Figure 1 In the electronic device 100.
[0077] like Figure 3 As shown, the system architecture 300 includes an application layer, a framework layer, a system service layer and a kernel layer, each layer has a clear role and division of labor; the layers can communicate with each other through software interfaces.
[0078] The application layer can provide a network interface to the application so that the application can directly provide services to the user. The application layer can include a series of applications, such as system applications, desktops, settings, and telephones. The framework layer can provide application programming interfaces (APIs) and programming frameworks for the application layer applications. The framework layer can include some predefined functions. Figure 2As shown, the framework layer may include: a user program framework, a UI development framework, a capability framework, and a graphics subsystem. Among them, the rendering service component in the graphics subsystem may execute the image display method provided in the embodiment of the present application. The system service layer may implement the scheduling and data management of rendering tasks, and the system service layer may include: a distributed scheduling module, a distributed management module, and a graphics subsystem. The kernel layer may be an intermediate layer between software and hardware, which may pass the application's request to the hardware and act as an underlying driver to address various devices and components in the system. The hardware layer may include a kernel subsystem and a driver subsystem.
[0079] Figure 4 It is a schematic flow chart of an image display method provided in an embodiment of the present application. The execution subject of method 400 may be electronic device 100. When the execution subject of method 400 is electronic device 100, it may be executed by processor 110 in electronic device 100. Method 400 may include steps S401 to S404.
[0080] S401, obtaining a first window and a second window on a first interface.
[0081] The first window is a focus window, and the second window is a non-focus window.
[0082] Optionally, the first window and the second window on the first interface may be in a stacked relationship, for example, the z level of the first window is higher than the z level of the second window.
[0083] Optionally, the first interface may further include a third window, which may be a mouse and / or system user interface (UI) window. When drawing windows, the first window and the third window may be drawn in the first frame buffer.
[0084] Optionally, the first interface may include one second window or multiple second windows. When the first interface includes multiple second windows, the multiple second windows may all be drawn in the second frame buffer during window drawing.
[0085] Optionally, the above-mentioned image display method can be used in smart devices such as mobile phones, tablet computers or personal computers. When displaying images, the above-mentioned first window can be a window corresponding to application 1 of the smart device, and the above-mentioned second window can be a window corresponding to application 2 of the smart device.
[0086] It should be understood that the focus window may refer to the window that is currently interacting with the user, and the window is responsible for receiving key events and touch events. When starting a new activity, adding a new window, removing an old window, or splitting the screen back and forth, the focus window may be updated; the non-focus window may refer to the window that is currently inactive or not interacting with the user.
[0087] In one embodiment, step S401 includes: detecting a first input for a first window on a first interface; and acquiring the first window and the second window in response to the first input. Thus, when a user operates the first window, the electronic device can execute method 400.
[0088] Optionally, the first input may be moving or scaling the first window.
[0089] S402: Draw the first window in the first frame buffer, and draw the second window in the second frame buffer.
[0090] Optionally, drawing the window in the frame buffer can be understood as: in the graphics rendering process, drawing the visible content of the window into the frame buffer, which can be a memory area for storing image data, for temporarily storing the rendered image data, and then sending it to the display device for display. The first frame buffer and the second frame buffer can be understood as two different memory areas for storing image data, with different memory addresses.
[0091] The drawing of the first window and the second window is executed by a process of the operating system.
[0092] Optionally, the operating system process may be a rendering service process, which may receive rendering tasks sent by various applications, convert them into commands executable by the GPU, and perform data transmission with the CPU to achieve efficient graphics rendering and window drawing.
[0093] It should be understood that the name of the rendering service process is only an exemplary description, and any process that can execute the drawing of the first window and the second window in the operating system can be understood as the rendering service process in this application.
[0094] S403, synthesizing the first frame buffer through the first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through the second hardware interface layer to obtain a second synthesized frame.
[0095] In the process of window drawing, the hardware interface layer may refer to the interface between the operating system or window manager and the underlying hardware, which is used to send the drawn image data to the display device for display. Specifically, the hardware interface layer may be responsible for communicating with the graphics hardware (such as a graphics card or an integrated graphics card) and passing the drawn image data to the display device.
[0096] In one embodiment, step S403 includes: synthesizing the first frame buffer at a first frame rate through the first hardware interface layer to obtain a first synthesized frame; synthesizing the second frame buffer at a second frame rate through the second hardware interface layer to obtain a second synthesized frame, and the second frame rate is less than or equal to the first frame rate. In this way, when the drawing load of the non-focus window is heavy, the system can give priority to ensuring the rendering synthesis frame rate of the focus window. Since the first frame buffer is synthesized by the first hardware interface layer and operates at a higher frame rate, the rendering and display of the focus window will not be affected by the drawing load of the non-focus window. At the same time, the second hardware interface layer synthesizes the second frame buffer at a lower frame rate. In this way, the drawing pressure of the non-focus window can be reduced, ensuring that the rendering and interaction of the focus window can continue smoothly.
[0097] For example, the first frame rate may be 60 FPS, and the second frame rate may be less than or equal to 60 FPS.
[0098] Optionally, synthesizing the frame buffer through the hardware interface layer can be understood as: the hardware interface layer combines and processes the pixel data in the frame buffer to generate a final display frame (for example, a first synthesized frame and a second synthesized frame), which can be displayed on a display device. Therefore, synthesizing the first frame buffer through the first hardware interface layer can be understood as: the first hardware interface layer processes the pixel data corresponding to the first window in the first frame buffer. When the first interface includes the first window and the third window, synthesizing the first frame buffer through the first hardware interface layer can be understood as: the first hardware interface layer processes the pixel data corresponding to the first window and the third window in the first frame buffer.
[0099] In one embodiment, the first synthesized frame includes: the synthesized frame of the first hardware interface layer in the N+1th frame, the second synthesized frame includes the synthesized frame of the second hardware interface layer in the Nth frame, wherein N is a positive integer, and step S403 includes: in the N+1th frame, when the frame rate synthesized by the second hardware interface layer is less than or equal to the preset threshold, according to the synthesized frame of the first hardware interface layer in the N+1th frame and the synthesized frame of the second hardware interface layer in the Nth frame, controlling the display device to display the second interface. Such a processing method can ensure that the display device can correctly display the second interface when the non-focus window is stuck. Specifically, the second hardware interface layer sends the synthesized frame of the Nth frame to the display device for display, so that the user can still see the latest visual content when the non-focus window rendering is stuck, and there will be no stagnation of the picture. At the same time, the first hardware interface layer still sends the synthesized frame of the N+1th frame to the display device for display. This means that the rendering and display of the focus window can still maintain continuity and smoothness, and will not be affected by the non-focus window stuck. The user can continue to interact with the focus window, and the operation response speed of the focus window will not be significantly delayed.
[0100] Optionally, the synthesis frame rate of the second hardware interface layer to the second frame buffer being less than a preset threshold can be understood as: when rendering the synthetic non-focus window, the electronic device is heavily loaded and a freeze phenomenon occurs.
[0101] Optionally, the preset threshold is 60 FPS, or the preset threshold is 30 FPS.
[0102] S404: Control a display device to display a second interface according to the first synthesized frame and the second synthesized frame.
[0103] Alternatively, step S404 may also be replaced by sending a first instruction to the display device, where the first instruction is used to instruct the display device to display the first synthesized frame and the second synthesized frame.
[0104] The image display method provided by the embodiment of the present application can improve the efficiency of window rendering and user experience. Specifically, in the embodiment of the present application, by drawing the focus window in the first frame buffer and drawing the non-focus window in the second frame buffer, such a window drawing method helps to avoid drawing all windows in the same frame buffer, thereby avoiding the rendering process of the non-focus window from causing jamming or affecting the drawing of the focus window. In addition, the first frame buffer is synthesized through the first hardware interface layer, and the second frame buffer is synthesized through the second hardware interface layer. Such a synthesis method ensures the priority visibility of the focus window. Even if the non-focus window is jammed or stuck, it will not affect the drawing and rendering process of the focus window.
[0105] Optionally, when method 400 is executed by a processor, steps S401 , S403 , and S404 may be executed by a CPU, and step S402 may be executed by a GPU.
[0106] In method 400, if a window switch occurs, the electronic device can identify a new focus window and draw the new focus window in the first frame buffer, thereby performing subsequent synthesis operations.
[0107] In one embodiment, method 400 further includes: detecting a second input for a second window on a second interface; in response to the second input, drawing the second window in a first frame buffer, and drawing the first window in a second frame buffer; synthesizing the first frame buffer through a first hardware interface layer to obtain a third synthesized frame, and synthesizing the second frame buffer through a second hardware interface layer to obtain a fourth synthesized frame; and controlling a display device to display a third interface according to the third synthesized frame and the fourth synthesized frame. In this way, when it is detected that a user operates the second window, the electronic device can draw the second window in the first frame buffer and the first window in the second frame buffer. In this way, the electronic device can ensure the priority visibility of the second window when the user operates the second window, and reduce the phenomenon of the second window being stuck and stuck. In addition, the user can interact with the window of interest more smoothly, improving the user experience and the real-time responsiveness of the operation.
[0108] Optionally, the second input may be moving or scaling the second window. When the second input of the second window is detected, the second window is switched to the focus window, and the first window is switched to the non-focus window.
[0109] It should be understood that in the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments according to their internal logical relationships.
[0110] It should also be understood that, for different application scenarios, some steps in method 400 may be executed, or some of the executed steps may be transformed accordingly.
[0111] Figure 5 This is a scenario to which the image display method provided in the embodiment of the present application is applicable, and method 400 can be applied to this scenario.
[0112] like Figure 5As shown in (a), the email application window 511 is at the bottom layer, the chat application window 512 is in the middle layer, and the video application window 513 is at the top layer. The z level can be used to describe the stacking relationship of all windows on the user interface. Assume that the z level of the video application window 513 is z3, the z level of the chat application window 512 is z2, and the z level of the email application window 511 is z1, where z3>z2>z1. The larger the z level, the closer the window display is to the top of the display interface.
[0113] Among them, the window 513 of the video application can be called the focus window, and the window 513 of the video application can be the first window in method 400; the window 511 of the email application and the window 512 of the chat application can be called non-focus windows or windows with a z-level below the focus window, and the window 511 of the email application and the window 512 of the chat application can be the second window in method 400; in addition, windows with a z-level above the focus window can also be defined, and the windows with a z-level above the focus window can include: start and search box 514, APP icon 515, display interface 516 and mouse 517, and these windows can be the third window in method 400.
[0114] When the method 400 is applied to draw a window, the focus window and the windows at the z level above the focus window may be combined into a first hardware interface layer (also referred to as a focus layer, corresponding to Figure 5 (b) in the figure); the non-focus window and the window at the z level below the focus window are combined into a second hardware interface layer (also called the non-focus layer, corresponding to Figure 5 (c) in FIG. 1 ). The focus window is drawn in the first frame buffer, and the non-focus window is drawn in the second frame buffer. Then, the first frame buffer is synthesized through the first hardware interface layer, and the second frame buffer is synthesized through the second hardware interface layer, and finally, the synthesized interface can be displayed on the display device of the electronic device.
[0115] In addition, when the focus window switches, the electronic device can make the original focus window lose focus and draw the out-of-focus window in the second frame buffer; wherein the new focus window can be started for the first time or can be focused from a non-focus window, and the new focus window can be drawn in the first frame buffer.
[0116] In an embodiment of the present application, the focus window and the non-focus window are drawn separately. When the non-focus layer freezes or loses frames due to heavy drawing load, the focus window will not affect the drawing refresh rate due to the freeze of the non-focus layer. In this way, it can be ensured that the focus window is visible first during the window rendering process, thereby reducing the freeze and freezing of the focus window.
[0117] It should be understood that Figure 5(a) to Figure 5 The application scenario shown in (c) is only an exemplary description and should not be construed as a limitation on the present application. Method 400 can also be applied to application scenarios of other operating systems (eg, Linux system, Android system, or IOS system).
[0118] Figure 6 It is a schematic diagram of an embodiment of the present application in which a focus layer and a non-focus layer are independently drawn at different frame rates.
[0119] exist Figure 6 middle, Figure 6 (a) is the picture of the display device at the Nth frame. Figure 6 (b) is the picture of the display device at the N+1th frame. Figure 6 (c) in the figure is the picture of the N+2th frame of the display device, where N is a positive integer.
[0120] When using method 400 to perform window synthesis, if the second hardware interface layer freezes in the N+1 frame, the first hardware interface layer does not freeze in the N+1 frame. At this time, in the N+1 frame, the electronic device can control the display device to display the synthesized picture (i.e., the picture displayed by the display device in the N+1 frame) based on the synthesized frame of the second hardware interface layer in the N frame and the synthesized frame of the first hardware interface layer in the N+1 frame. In the N+2 frame, the second hardware interface layer is no longer stuck, and the electronic device can control the display device to display the synthesized picture (i.e., the picture displayed by the display device in the N+2 frame) based on the synthesized frame of the second hardware interface layer in the N+2 frame and the synthesized frame of the first hardware interface layer in the N+2 frame.
[0121] In this scenario, the first hardware interface layer can always perform rendering and synthesis at a high frame rate (for example, 60FPS). When the second hardware interface layer cannot perform full-frame rendering and synthesis, it will not cause the first hardware interface layer to be synchronously blocked. In this way, the focus window and non-focus window can be independently drawn at different frame rates to ensure that the focus window is visible first.
[0122] The above describes the image display method provided by the embodiments of the present application. Figure 7 and Figure 8 Describe the apparatus and devices of the embodiments of the present application.
[0123] Figure 77 is a schematic diagram of a device 700 provided in an embodiment of the present application. The device 700 may include an acquisition unit 710, a storage unit 720 and a processing unit 730. The acquisition unit 710 is used to acquire instructions and / or data. The acquisition unit 710 may also be referred to as a communication interface or a communication unit. The storage unit 720 is used to implement a corresponding storage function and store corresponding instructions and / or data. The processing unit 730 may read the instructions and / or data in the storage unit so that the device 700 implements the aforementioned image display method or rendering method.
[0124] Optionally, the device 700 further includes a transceiver unit for receiving and sending instructions and / or data.
[0125] As a design, the device 700 includes: an acquisition unit 710, used to acquire a first window and a second window on a first interface, the first window is a focus window, and the second window is a non-focus window; a processing unit 730, used to: draw the first window in a first frame buffer, and draw the second window in a second frame buffer, the drawing of the first window and the second window is performed by a process of the operating system; synthesize the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and synthesize the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; according to the first synthesized frame and the second synthesized frame, control the display device to display the second interface.
[0126] In one possible implementation, the processing unit 730 is specifically used to: synthesize the first frame buffer at a first frame rate through a first hardware interface layer to obtain a first synthesized frame; synthesize the second frame buffer at a second frame rate through a second hardware interface layer to obtain a second synthesized frame, and the second frame rate is less than or equal to the first frame rate.
[0127] In a possible implementation, the first synthesized frame includes: the synthesized frame of the first hardware interface layer in the N+1 frame, and the second synthesized frame includes the synthesized frame of the second hardware interface layer in the N frame, where N is a positive integer; the processing unit 730 is specifically used to control the display device to display the second interface according to the synthesized frame of the first hardware interface layer in the N+1 frame and the synthesized frame of the second hardware interface layer in the N frame when the frame rate synthesized by the second hardware interface layer in the N+1 frame is less than or equal to a preset threshold.
[0128] In a possible implementation, the processing unit 730 is further configured to detect a first input for the first window on the first interface; and the acquisition unit 710 is specifically configured to acquire the first window and the second window in response to the first input.
[0129] In one possible implementation, the processing unit 730 is further used to: detect a second input for the second window on the second interface; draw the second window in the first frame buffer and draw the first window in the second frame buffer in response to the second input; synthesize the first frame buffer through the first hardware interface layer to obtain a third synthesized frame, and synthesize the second frame buffer through the second hardware interface layer to obtain a fourth synthesized frame; and control the display device to display the third interface based on the third synthesized frame and the fourth synthesized frame.
[0130] As a design, the device 700 includes: an acquisition unit 710, used to acquire first information sent by the CPU, the first information including: a first window and a second window, the first window is a focus window, and the second window is a non-focus window; a processing unit 730, used to draw the first window in a first frame buffer, and draw the second window in a second frame buffer, and the drawing of the first window and the second window is performed by a process of the operating system; a transceiver unit, sending data in the first frame buffer and the second frame buffer to a hardware synthesizer.
[0131] Optionally, if the apparatus 700 is located in the electronic device 100, the processing unit 730 may be Figure 1 A processor 110 is shown.
[0132] Figure 8 It is a schematic diagram of another device 800 provided in an embodiment of the present application.
[0133] The device 800 includes: a memory 810, a processor 820, and a communication interface 830. The memory 810, the processor 820, and the communication interface 830 are connected through an internal connection path, the memory 810 is used to store instructions, and the processor 820 is used to execute the instructions stored in the memory 810 to control the communication interface 830 to obtain information, so that the device 800 implements the aforementioned image display method or rendering method. Optionally, the memory 810 can be coupled to the processor 820 through an interface, or can be integrated with the processor 820.
[0134] It should be noted that the communication interface 830 uses a transceiver device such as, but not limited to, a transceiver. The communication interface 830 may also include an input / output interface.
[0135] The processor 820 stores one or more computer programs, which include instructions. When the instructions are executed by the processor 820, the device 800 executes the image display method or rendering method in the above-mentioned embodiments.
[0136] In one possible implementation, the processor 820 includes: a CPU and a GPU, the CPU is used to obtain a first window and a second window on a first interface, the first window is a focus window, and the second window is a non-focus window; the GPU is used to draw the first window in a first frame buffer, and draw the second window in a second frame buffer, and the drawing of the first window and the second window is performed by a process of an operating system; the CPU is used to control a hardware synthesizer to synthesize the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and to synthesize the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; the CPU is also used to control a display device to display a second interface according to the first synthesized frame and the second synthesized frame.
[0137] In one possible implementation, the processor 820 includes: a GPU, which is used to obtain first information sent by a CPU, the first information including: a first window and a second window, the first window is a focus window, and the second window is a non-focus window; drawing the first window in a first frame buffer, and drawing the second window in a second frame buffer, the drawing of the first window and the second window is performed by a process of the operating system; sending data in the first frame buffer and the second frame buffer to a hardware synthesizer.
[0138] It should be understood that in the embodiment of the present application, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0139] It should also be understood that in the embodiment of the present application, the memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. A portion of the processor may also include a non-volatile random access memory. For example, the processor may also store information about the device type.
[0140] In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 820 or an instruction in the form of software. The method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in the processor for execution. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 810, and the processor 820 reads the information in the memory 810 and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
[0141] Optionally, Figure 8 The communication interface 830 in the embodiment can be implemented Figure 7 The acquisition unit 710 in Figure 8 The memory 810 in the embodiment can realize Figure 7 The storage unit 720, Figure 8 The processor 820 in the embodiment can implement Figure 7 The processing unit 730 in.
[0142] Optionally, the device 700 or the device 800 may be located at Figure 1 In the electronic device 100.
[0143] The embodiment of the present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a program code, and when the computer program code is executed on a computer, the computer executes the above Figures 4 to 6 Any of the methods in .
[0144] The present application also provides a computer program product, which includes a computer program. When the computer program is executed, the computer executes the above Figures 4 to 6 Any of the methods in .
[0145] The present application also provides a chip, including: a circuit, the circuit is used to execute the above Figures 4 to 6 Any of the methods in .
[0146] Optionally, the above chip may include: one or more of a CPU chip, a GPU chip, an ASIC chip, and an NPU chip.
[0147] The present application also provides an electronic device, including: Figure 7 or Figure 8 Any image display device or rendering device shown.
[0148] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0149] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0150] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0151] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0152] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0153] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0154] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. An image display method, characterized in that: The method comprises: Acquire a first window and a second window on a first interface, wherein the first window is a focus window and the second window is a non-focus window; Drawing the first window in a first frame buffer, and drawing the second window in a second frame buffer, wherein drawing of the first window and the second window is performed by a process of an operating system; Synthesizing the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; According to the first synthesized frame and the second synthesized frame, a display device is controlled to display a second interface.
2. The method according to claim 1, characterized in that The synthesizing the first frame buffer through the first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through the second hardware interface layer to obtain a second synthesized frame, comprises: synthesizing the first frame buffer at a first frame rate through the first hardware interface layer to obtain the first synthesized frame; The second frame buffer is synthesized at a second frame rate through the second hardware interface layer to obtain the second synthesized frame, where the second frame rate is less than or equal to the first frame rate.
3. The method according to claim 1 or 2, characterized in that The first synthesized frame includes: a synthesized frame of the first hardware interface layer in the N+1th frame, and the second synthesized frame includes a synthesized frame of the second hardware interface layer in the Nth frame, where N is a positive integer; The controlling the display device to display the second interface according to the first synthesized frame and the second synthesized frame includes: In the N+1th frame, when the frame rate synthesized by the second hardware interface layer is less than or equal to a preset threshold, the display device is controlled to display the second interface according to the synthesized frame of the first hardware interface layer in the N+1th frame and the synthesized frame of the second hardware interface layer in the Nth frame.
4. The method according to any one of claims 1 to 3, characterized in that The obtaining of the first window and the second window on the first interface includes: Detecting a first input to the first window on the first interface; In response to the first input, the first window and the second window are acquired.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: Detecting a second input for the second window on the second interface; In response to the second input, drawing the second window in the first frame buffer, and drawing the first window in the second frame buffer; synthesizing the first frame buffer through the first hardware interface layer to obtain a third synthesized frame, and synthesizing the second frame buffer through the second hardware interface layer to obtain a fourth synthesized frame; According to the third synthesized frame and the fourth synthesized frame, the display device is controlled to display a third interface.
6. An image display device, characterized in that: The device comprises: An acquiring unit, configured to acquire a first window and a second window on a first interface, wherein the first window is a focus window and the second window is a non-focus window; A processing unit for: Drawing the first window in a first frame buffer, and drawing the second window in a second frame buffer, wherein drawing of the first window and the second window is performed by a process of an operating system; Synthesizing the first frame buffer through a first hardware interface layer to obtain a first synthesized frame, and synthesizing the second frame buffer through a second hardware interface layer to obtain a second synthesized frame; According to the first synthesized frame and the second synthesized frame, a display device is controlled to display a second interface.
7. The device according to claim 6, characterized in that The processing unit is specifically used for: synthesizing the first frame buffer at a first frame rate through the first hardware interface layer to obtain the first synthesized frame; The second frame buffer is synthesized at a second frame rate through the second hardware interface layer to obtain the second synthesized frame, where the second frame rate is less than or equal to the first frame rate.
8. The device according to claim 6 or 7, characterized in that The first synthesized frame includes: a synthesized frame of the first hardware interface layer in the N+1th frame, and the second synthesized frame includes a synthesized frame of the second hardware interface layer in the Nth frame, where N is a positive integer; The processing unit is specifically used to control the display device to display the second interface according to the synthesized frame of the first hardware interface layer in the N+1 frame and the synthesized frame of the second hardware interface layer in the N frame when the frame rate synthesized by the second hardware interface layer in the N+1 frame is less than or equal to a preset threshold.
9. The device according to any one of claims 6 to 8, characterized in that The processing unit is further configured to detect a first input directed to the first window on the first interface; The acquisition unit is specifically configured to acquire the first window and the second window in response to the first input.
10. The device according to any one of claims 6 to 9, characterized in that The processing unit is further used for: Detecting a second input for the second window on the second interface; In response to the second input, drawing the second window in the first frame buffer, and drawing the first window in the second frame buffer; The first frame buffer is synthesized through the first hardware interface layer to obtain a third synthesized frame, and the second frame buffer is synthesized through the second hardware interface layer to obtain a fourth synthesized frame; according to the third synthesized frame and the fourth synthesized frame, the display device is controlled to display a third interface.
11. An image display device, characterized in that: include: A processor and a memory, wherein the processor is coupled to the memory and is configured to read and execute instructions in the memory to perform the method according to any one of claims 1 to 5.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a program code, and when the computer program code is executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 5.
13. A chip, characterized in that: include: A circuit for executing the method according to any one of claims 1 to 5.
14. An electronic device, characterized in that: include: An image display device as claimed in any one of claims 6 to 11.
Citation Information
Patent Citations
Rendering method and device
CN103247068A
Image processing method, apparatus and system
CN105955687A
Method for displaying multiple windows and electronic equipment
CN114040238A
Display device and window display method
CN116347166A
Systems and methods for rendering multiple levels of detail
US20170200308A1
Cited By
Image display method, image display apparatus and electronic device
EP4664280A1
Image display method, image display apparatus and electronic device
WO2025015944A1