CN117827337A - Interface display method and display device - Google Patents

Interface display method and display device Download PDF

Info

Publication number
CN117827337A
CN117827337A CN202311615897.4A CN202311615897A CN117827337A CN 117827337 A CN117827337 A CN 117827337A CN 202311615897 A CN202311615897 A CN 202311615897A CN 117827337 A CN117827337 A CN 117827337A
Authority
CN
China
Prior art keywords
primitive
rendering
page
window
rendering engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311615897.4A
Other languages
Chinese (zh)
Inventor
何灿
岳顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN202311615897.4A priority Critical patent/CN117827337A/en
Publication of CN117827337A publication Critical patent/CN117827337A/en
Pending legal-status Critical Current

Links

Abstract

The embodiment of the application discloses an interface display method and display equipment, and the display state of a page is detected; if the page is in a continuous rolling state, controlling the rendering engine to start a rendering filtering function, wherein the rendering filtering function is used for eliminating unnecessary rendered target primitives in the page; acquiring a primitive display list generated by a rendering engine, wherein the primitive display list comprises primitive information of primitives to be displayed on a page after target primitives are removed; and generating drawing instructions according to the primitive display list, and controlling the graphic processor to render and refresh the page according to drawing execution. According to the method and the device for rendering the image element object, the rendering engine can reduce drawing instructions executed by the image processor through eliminating the image element object rendered in an unnecessary mode, so that page rendering efficiency is improved, drawing time of a single frame in a window is reduced, frame rate is improved, and particularly when a long page is rolled in rapid and continuous mode, the problems of page blocking or page partial white screen can be solved, and interface display effect and user browsing experience are improved.

Description

Interface display method and display device
Technical Field
The application relates to the technical field of display equipment, in particular to an interface display method and display equipment.
Background
When any interface is displayed by the display device, UI drawing and rendering are required according to the interface data, so that the interface data are presented on a screen in a form of being visualized and viewable by a user. For the display equipment configured with the android system, the android system draws the UI of each process independently and indiscriminately, and only if the UI content is updated, the UI is rendered according to drawing instructions, so that the single-frame drawing duration is longer, the requirements of high-refresh rate scenes cannot be met, and especially when pages are continuously rolled, the problems of page blocking or partial white screen and the like can be caused due to the fact that the rendering speed is not kept up with the rolling speed, and the interface display effect and the user browsing experience are affected.
Disclosure of Invention
Some embodiments of the present invention provide an interface display method and a display device, which can implement that when a page is continuously scrolled, unnecessary rendered target primitives are removed, so that a GPU cannot draw and render the removed target primitives, thereby improving page rendering efficiency, reducing drawing time of a single frame in a window, further improving frame rate, and especially when a long page is rapidly and continuously scrolled, solving problems of page blocking or page part white screen, and improving interface display effect and user browsing experience.
In a first aspect, some embodiments of the present application provide a display device, including:
a display for displaying a user interface;
a graphics processor for rendering a user interface;
a controller comprising a rendering engine, the controller to perform:
detecting the display state of a page displayed by a display;
if the page is in a continuous rolling state, controlling a rendering engine to start a rendering filtering function, wherein the rendering filtering function is used for eliminating unnecessary rendered target primitives in the page;
acquiring a primitive display list generated by the rendering engine, wherein the primitive display list comprises primitive information of primitives to be displayed on the page after the target primitive is removed;
and generating a drawing instruction according to the primitive display list, and controlling a graphic processor to render and refresh the page according to the drawing execution.
In some embodiments, the controller is further configured to perform: when the page is detected to exit from the continuous scrolling state, controlling the rendering engine to close the rendering filtering function; and rendering the page according to a conventional rendering mode, wherein the conventional rendering mode refers to that unnecessary rendered target graphic elements in the page are not removed.
In some embodiments, the controller includes a system detection service, and prior to detecting a display state of a page displayed by the display, the controller is further configured to perform: after an operating system is started, starting the system detection service; when receiving an operation of starting a first application by a user, starting a drawing application for drawing the page of the first application; the drawing application starts a first activity corresponding to the first application and configures first activity information, and starts a first window corresponding to the first activity and configures first window information; the first window is used for displaying the page, the first activity information comprises an identifier of the first activity, and the first window information comprises an identifier, a size, a window attribute and a window layout of the first window; the drawing application sends the first activity information and the first window information to the system detection service so that the system detection service adds the first activity information to an activity information list and adds the first window information to a window information list; wherein the activity information list can be used for recording activity information of an activity started by the display device, and the window information list can be used for recording window information of a started window.
In some embodiments, the display apparatus further comprises a communicator for communication connection with the control device, the controller further being configured to perform, prior to controlling the rendering engine to initiate the rendering filtering function: the system detection service starts a timer when receiving a direction key instruction sent by the control device; when the timing time reaches the preset time, the system detection service sends a first state indication message to the rendering engine, and synchronizes the active information list and the window information list to the rendering engine; the first state is used for indicating the page to enter a continuous scrolling state; the rendering engine receives the first state indication message and marks that the rendering engine is in a rapid filtering state; the rapid filtering state is used for indicating the rendering engine to start a rendering filtering function so as to reject the target graphic element by using a filtering algorithm according to the active information list and the window information list.
In some embodiments, the controller is further configured to perform: the system detection service sends a second state indication message to the rendering engine when receiving the direction key release message; the control device sends the direction key release message to the display device when the user releases the long-pressed direction key, and the second state indication message is used for indicating the page to exit from the continuous scrolling state; the rendering engine receives the second state indication message, clears the mark of the rapid filtering state, and enables the rendering engine to switch to a conventional rendering mode, wherein the conventional rendering mode is to not reject target primitives which are unnecessarily rendered in a page.
In some embodiments, after controlling the rendering engine to initiate the rendering filtering function, the controller is further to perform: the rendering engine sequentially records the display position and Alpha value of the drawing primitives to be drawn according to the activity information list and the window information list and a preset sequence; wherein the Alpha value is used to characterize the transparency of the primitive to be depicted; if the current position of the first primitive to be drawn covers the previous primitive and the Alpha value of the first primitive to be drawn is not less than the transparency threshold, the rendering engine determines the previous primitive which is blocked by the first primitive to be drawn as the target primitive and deletes the primitive information of the target primitive from the primitive display list.
In some embodiments, after controlling the rendering engine to initiate the rendering filtering function, the controller is further to perform: if the position of the first primitive to be drawn does not cover the previous primitive, or the Alpha value of the first primitive to be drawn is smaller than a transparency threshold, the rendering engine screens the first primitive from the primitives to be drawn based on primitive attributes, wherein the first primitive is a primitive which needs to use a dynamic algorithm when drawing the primitive; the rendering engine sets an algorithm filtering identifier in the primitive information of the first primitive, wherein the algorithm filtering identifier is used for indicating the rendering engine to generate a drawing instruction which does not use a dynamic algorithm for the first primitive so that the GPU does not use the dynamic algorithm to render the first primitive.
In some embodiments, after controlling the rendering engine to initiate the rendering filtering function, the controller is further to perform: the rendering engine acquires a first shielding area, wherein the first shielding area refers to an area of the first window shielded by other non-full-screen windows; the first shielding area is determined by the system detection service according to the window information list and is notified to the rendering engine, or the first shielding area is determined by the rendering engine according to the window information list; and the rendering engine acquires a second primitive existing in the first shielding area, determines the second primitive as the target primitive, and deletes the primitive information of the target primitive from the primitive display list.
In some embodiments, after controlling the rendering engine to initiate the rendering filtering function, the controller is further to perform:
acquiring micro primitives and/or edge primitives; the size of the micro primitive is smaller than a size threshold, and the distance between the edge primitive and the first window is not larger than a distance threshold;
and determining the micro primitive and/or the edge primitive as the target primitive, and deleting the primitive information of the target primitive from the primitive display list.
In a second aspect, some embodiments of the present application further provide an interface display method, including:
detecting the display state of the page;
if the page is in a continuous rolling state, controlling a rendering engine to start a rendering filtering function, wherein the rendering filtering function is used for eliminating unnecessary rendered target primitives in the page;
acquiring a primitive display list generated by the rendering engine, wherein the primitive display list comprises primitive information of primitives to be displayed on the page after the target primitive is removed;
and generating a drawing instruction according to the primitive display list, and controlling a graphic processor to render and refresh the page according to the drawing execution.
In a third aspect, some embodiments of the present application also provide a computer storage medium having stored therein program instructions which, when run on a computer, cause the computer to perform the methods involved in the above aspects and their respective implementations.
In the embodiment of the application, by monitoring the display state of the page and starting the rendering filtering function when the page is in the continuous scrolling state, unnecessary rendered target graphic elements are removed, wherein the target graphic elements comprise but are not limited to blocked graphic elements, tiny graphic elements, edge graphic elements and the like. In this way, the rendering engine generates the primitive display list after filtering the target primitives, and the drawing instruction is generated based on the primitive display list, so that the drawing instruction for the target primitives is not generated, the GPU does not draw and render the rejected target primitives, the page rendering efficiency is improved, the drawing time of a single frame in a window is reduced, the frame rate is further improved, the problems of page blocking or page partial white screen can be solved especially when a long page is rolled rapidly and continuously, and the interface display effect and the user browsing experience are improved.
Drawings
In order to more clearly illustrate some embodiments of the present application or the technical solutions in the prior art, the following description will briefly introduce the drawings that are needed in the embodiments or the description of the prior art, it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is an operation scenario between a display device and a control apparatus 100 provided in some embodiments of the present application;
fig. 2 is a block diagram of a hardware configuration of a control device 100 according to some embodiments of the present application;
fig. 3 is a block diagram of a hardware configuration of a display device 200 provided in some embodiments of the present application;
fig. 4 is a software configuration diagram of a display device 200 according to some embodiments of the present application;
FIG. 5 is a software configuration diagram of another display device 200 according to some embodiments of the present application;
FIG. 6 illustrates a page scrolling display schematic in some embodiments;
FIG. 7 illustrates a schematic diagram of a partial white screen that appears when pages are continuously scrolled in some embodiments;
FIG. 8 is a flowchart of an interface display method according to some embodiments of the present disclosure;
FIG. 9 is a flowchart of another method for displaying an interface according to some embodiments of the present application;
FIG. 10 is a process flow diagram of a rendering filtering mechanism provided in some embodiments of the present application.
FIG. 11 is a schematic diagram of the relationship between primitive a and primitive b provided in some embodiments of the present application;
fig. 12 is a schematic diagram of an edge primitive filtering rule according to some embodiments of the present application.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the exemplary embodiments of the present application more apparent, the technical solutions in the exemplary embodiments of the present application will be clearly and completely described below with reference to the drawings in the exemplary embodiments of the present application, and it is apparent that the described exemplary embodiments are only some embodiments of the present application, but not all embodiments.
All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present application, are intended to be within the scope of the present application based on the exemplary embodiments shown in the present application. Furthermore, while the disclosure has been presented in terms of an exemplary embodiment or embodiments, it should be understood that various aspects of the disclosure can be practiced separately from the disclosure in a complete subject matter.
It should be understood that the terms "first," "second," "third," and the like in the description and in the claims and in the above-described figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate, such as where appropriate, implementations other than those illustrated or otherwise described in accordance with some embodiments of the present application.
Furthermore, the terms "comprise" and "have," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or apparatus that comprises a list of elements is not necessarily limited to those elements expressly listed, but may include other elements not expressly listed or inherent to such product or apparatus.
The display device provided in some embodiments of the present application may have various implementation forms, for example, may be a television, a smart television, a laser projection device, a display (monitor), an electronic whiteboard (electronic bulletin board), an electronic desktop (electronic table), and the like. Fig. 1 and 2 are specific embodiments of a display device of the present application.
Fig. 1 is a schematic diagram of an operation scenario between a display device and a control device according to some embodiments of the present application. As shown in fig. 1, a user may operate the display device 200 through the smart device 300 or the control apparatus 100.
In some embodiments, the control apparatus 100 may be a remote controller, and the communication between the remote controller and the display device includes infrared protocol communication or bluetooth protocol communication, and other short-range communication modes, and the display device 200 is controlled by a wireless or wired mode. The user may control the display device 200 by inputting user instructions through keys on a remote control, voice input, control panel input, etc.
In some embodiments, a smart device 300 (e.g., mobile terminal, tablet, computer, notebook, etc.) may also be used to control the display device 200. For example, the display device 200 is controlled using an application running on a smart device.
In some embodiments, the display device may receive instructions not using the smart device or control device described above, but rather receive control of the user by touch or gesture, or the like.
In some embodiments, the display device 200 may also perform control in a manner other than the control apparatus 100 and the smart device 300, for example, the voice command control of the user may be directly received through a module configured inside the display device 200 device for acquiring voice commands, or the voice command control of the user may be received through a voice control apparatus configured outside the display device 200 device.
In some embodiments, the display device 200 is also in data communication with a server 400. The display device 200 may be permitted to make communication connections via a Local Area Network (LAN), a Wireless Local Area Network (WLAN), and other networks. The server 400 may provide various contents and interactions to the display device 200. The server 400 may be a cluster, or may be multiple clusters, and may include one or more types of servers.
Fig. 2 is a block diagram illustrating a configuration of a control apparatus 100 according to some embodiments of the present application. As shown in fig. 2, the control device 100 includes a controller 110, a communication interface 130, a user input/output interface 140, a memory, and a power supply. The control apparatus 100 may receive an input operation instruction of a user and convert the operation instruction into an instruction recognizable and responsive to the display device 200, and function as an interaction between the user and the display device 200.
Fig. 3 is a block diagram of a hardware configuration of a display device 200 provided in some embodiments of the present application. As shown in fig. 3, the display apparatus 200 includes at least one of a modem 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.
In some embodiments the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, a first interface for input/output to an nth interface.
The display 260 includes a display screen component for presenting a picture, and a driving component for driving an image display, a component for receiving an image signal from the controller output, displaying video content, image content, and a menu manipulation interface, and a user manipulation UI interface.
The display 260 may be a liquid crystal display, an OLED display, a projection device, or a projection screen.
The communicator 220 is a component for communicating with external devices or servers according to various communication protocol types. For example: the communicator may include at least one of a Wifi module, a bluetooth module, a wired ethernet module, or other network communication protocol chip or a near field communication protocol chip, and an infrared receiver. The display apparatus 200 may establish transmission and reception of control signals and data signals with the control device 100 or the server 400 through the communicator 220.
A user interface, which may be used to receive control signals from the control device 100 (e.g., an infrared remote control, etc.).
The detector 230 is used to collect signals of the external environment or interaction with the outside. For example, detector 230 includes a light receiver, a sensor for capturing the intensity of ambient light; alternatively, the detector 230 includes an image collector such as a camera, which may be used to collect external environmental scenes, user attributes, or user interaction gestures, or alternatively, the detector 230 includes a sound collector such as a microphone, or the like, which is used to receive external sounds.
The external device interface 240 may include, but is not limited to, the following: high Definition Multimedia Interface (HDMI), analog or data high definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. The input/output interface may be a composite input/output interface formed by a plurality of interfaces.
The modem 210 receives broadcast television signals through a wired or wireless reception manner, and demodulates audio and video signals and EPG data signals from a plurality of wireless or wired broadcast television signals.
In some embodiments, the controller 250 and the modem 210 may be located in separate devices, i.e., the modem 210 may also be located in an external device to the main device in which the controller 250 is located, such as an external set-top box or the like.
The controller 250 controls the operation of the display device and responds to the user's operations through various software control programs stored on the memory. The controller 250 controls the overall operation of the display apparatus 200. For example: in response to receiving a user command to select a UI object to be displayed on the display 260, the controller 250 may perform an operation related to the object selected by the user command.
In some embodiments the controller includes at least one of a central processing unit (Central Processing Unit, CPU), video processor, audio processor, graphics processor (Graphics Processing Unit, GPU), RAM (Random Access Memory, RAM), ROM (Read-Only Memory, ROM), first to nth interfaces for input/output, a communication Bus (Bus), etc.
The user may input a user command through a Graphical User Interface (GUI) displayed on the display 260, and the user input interface receives the user input command through the Graphical User Interface (GUI). Alternatively, the user may input the user command by inputting a specific sound or gesture, and the user input interface recognizes the sound or gesture through the sensor to receive the user input command.
A "user interface" is a media interface for interaction and exchange of information between an application or operating system and a user, which enables conversion between an internal form of information and a user-acceptable form. A commonly used presentation form of the user interface is a graphical user interface (Graphic User Interface, GUI), which refers to a user interface related to computer operations that is displayed in a graphical manner. It may be an interface element such as an icon, a window, a control, etc. displayed in a display screen of the electronic device, where the control may include a visual interface element such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a Widget, etc.
Fig. 4 is a software configuration diagram of a display device 200 according to some embodiments of the present application. As shown in fig. 4, in some embodiments, the system is divided into four layers, from top to bottom, an application layer (application layer), an application framework layer (Application Framework layer), a An Zhuoyun row (Android run) and a system library layer (system runtime layer), and a kernel layer, respectively.
In some embodiments, at least one application program is running in the application program layer, and these application programs may be a Window (Window) program of an operating system, a system setting program, a clock program, or the like; or may be an application developed by a third party developer. In particular implementations, the applications in the application layer are not limited to the above examples.
The framework layer provides an application programming interface (application programming interface, API) and programming framework for the application. The framework layer includes some predefined functions. The application framework layer corresponds to a processing center that decides to let the applications in the application layer act. Through the API interface, the application program can access the resources in the system and acquire the services of the system in the execution.
As shown in fig. 4, the framework layer includes a manager (manager), a Content Provider (Content Provider), a view system, and the like. Wherein the manager comprises at least one of the following modules: an Activity Manager (Activity Manager) for interacting with all activities running in the system; a Location Manager (Location Manager) for providing system services or applications with access to system Location services; a Package Manager (Package Manager) for retrieving various information about an application Package currently installed on the device; a notification manager (Notification Manager) for controlling the display and clearing of notification messages; a Window Manager (Window Manager) for managing icons, windows, toolbars, wallpaper, desktop components, etc. on the user interface.
In some embodiments, the activity manager is used to manage the lifecycle of the individual applications as well as the usual navigation rollback functions, such as controlling the exit, opening, fallback, etc. of the applications. The window manager is used for managing all window programs, such as obtaining the size of a display screen, judging whether a status bar exists or not, locking the screen, intercepting the screen, controlling the change of a display window (such as window scaling, dithering display, distortion display and the like), and the like.
In some embodiments, the system runtime layer provides support for upper layers (i.e., the framework layer), and when the framework layer is in use, the android operating system runs the C/C++ libraries contained in the system runtime layer to implement the functions to be implemented by the framework layer. The system runtime layer includes, but is not limited to, databases and virtual machines, wherein the databases include, but are not limited to, browser engines, specialized graphical program interfaces, and the like.
In some embodiments, the kernel layer is a layer between hardware and software. As shown in fig. 4, the kernel layer contains at least one of the following drivers: audio drive, display drive, bluetooth drive, camera drive, WIFI drive, USB drive, HDMI drive, sensor drive (e.g., fingerprint sensor, temperature sensor, pressure sensor, etc.), and power supply drive, etc.
Because the android operating system performs indiscriminate drawing on the UI, namely, only the UI content is updated, drawing and rendering can be performed according to drawing instructions, and therefore in a high refresh rate scene, the frame rate is not obviously improved. In addition, in the multi-window display state, a plurality of processes draw simultaneously, window information of a plurality of windows cannot be transmitted to the current drawing application, and when the windows are blocked, the drawing application still draws blocked parts in the windows, so that the drawing efficiency of a single frame is low, and the frame rate is low. To solve these technical problems, the following embodiments of the present application provide related solutions.
Fig. 5 is a software configuration diagram of another display device 200 according to some embodiments of the present application. Referring to fig. 5, on the basis of the software architecture illustrated in fig. 4, the system runtime layer may further include a system detection service, and the database may further include a rendering engine. In an android operating system, a Skia rendering engine may be used, skia being a two-dimensional graphics processing engine, being one of the core components in the android operating system for handling graphics rendering, image processing, and vector graphics display, skia may utilize CPU and GPU acceleration to manipulate bitmap and vector images, and provide a variety of rendering and animation effects.
In some embodiments, when the application layer starts any one application a (non-drawing application), the activity manager of the framework layer is configured to start an activity a corresponding to the application a, record an identification string (typically including a package name and a class name) of the activity a, and manage a life cycle of the activity a; the window manager of the framework layer is used for starting the window A corresponding to the activity A, recording the identification of the window A, and acquiring window information of the window A, wherein the window information comprises, but is not limited to, window size (comprising width and height of the window), window attribute, layout and the like, and the window attribute comprises, but is not limited to, background color of the window, view/control, alpha value and the like.
Taking RGBA color space as an example, besides the color values of red (R), green (G) and blue (B), alpha (a) is included, where Alpha value is used to represent the transparency of a pixel, the smaller the Alpha value is, the higher the transparency of the pixel is, the more obvious the color below is, the interval range of Alpha value is [0,255], alpha value of 0 represents that the pixel is completely transparent, and Alpha value of 255 represents that the pixel is completely opaque (can completely block and cover the lower element).
In some embodiments, the application layer may launch a rendering application for rendering window a, where the rendering application is equivalent to a process created when rendering and rendering a window page of application a, where the rendering application performs page rendering for only a single application (e.g., application a), and cannot compromise the rendering of multiple applications, where the rendering application may communicate with the framework layer, system detection service, and rendering engine communications via IPC (Inter-Process Communication ), etc.
In some embodiments, the window a may include at least one View (e.g., surface View, etc.), by laying out views to be rendered to form a "View tree" of a tree structure, and performing graphics rendering based on the View tree, the first-step rendering application builds a displaylest (View display list) in units of views contained in the View tree, and groups and rearranges the displaylest to obtain rendering positions and rendering contents consistent with actual UI rendering and display, which is generally performed by Main Thread of the rendering application; the rendering application may then invoke a rendering engine interface (e.g., a Skia interface) to cause the rendering engine to generate rendering instructions from the displayList and provide the rendering instructions to the GPU, which may be executed by a Render Thread of the rendering application in response to the rendering instructions to Render and Render the graphical content and ultimately rendered within window A. Wherein, window A can be a full screen window or a non-full screen window, the window width of the full screen window is equal to the screen width, and the window height is equal to the screen height; a non-full screen window is a window smaller than the screen size, such as a window displayed in the form of a Dialog, half screen, popup, or the like.
In some embodiments, displayist may be viewed as a buffer for recording a sequence of drawing instructions to be executed, which are ultimately translated into Open GL commands for execution by the GPU. When the Canvas (Canvas) API is called by the drawing application to draw the UI, the Canvas API call and its parameters may be recorded in DisplayList, and when the next Vsync signal arrives, the drawing instruction in DisplayList is converted into an Open GL command and executed by the GPU. In this way, when the content of the View is not changed in the next frame of the drawing window, the Canvas API related to the View is not required to be executed, that is, the member function onDraw is not required to be executed, and the displayist constructed last time is directly multiplexed; in addition, when the next frame of the window is drawn, if only some simple attributes (such as position, transparency, etc.) of the content of the View change, it is not necessary to reconstruct the displaylest corresponding to the View, but the related attributes in the displaylest constructed last time are modified, so as to avoid performing onDraw.
In some embodiments, after the android operating system is started, a system service (SystemServer) may start a system detection service of a system runtime layer. When the application A is started, a corresponding hook point is added in the system service, the activity manager transmits the unique identification character string of the activity A to the system detection service, and the system detection service can store the identification character string of the activity A into an activity list which is used for dynamically controlling and filtering and debugging the user interface. For example, when the subsequent rendering engine executes the filtering mechanism, when the game interface of the third party application is mapped by the identification character string of the activity a in the activity list, the game interface generally has higher requirements on image quality and rendering effect, if some primitives (such as micro primitives and edge primitives) in the game interface are filtered by using the filtering algorithm, or a complex dynamic rendering algorithm (such as dither algorithm) is skipped, the filtering mechanism may be triggered to fail to achieve the desired display effect or abnormal game interface, and the game interface mapped by the activity a may not be filtered.
In some embodiments, the rendering application may recursively traverse any node on the entire View tree through the root node, and perform measurement, layout, and draw on the entire View tree, thereby completing content rendering of the active window corresponding to the View tree. Where measurement is the width and height of the measurement View, layout is the position of the determination View, and draw is the call on draw function to draw the View.
In some embodiments, the window may include at least one View, where the View may include at least one graphic element (hereinafter referred to as a primitive), where the primitive is a minimum drawing unit of a graphic, and the primitive types include, but are not limited to, text, images, buttons (buttons), pads, curves, etc., and the drawing application displays different graphic elements within the window by drawing the primitive, each primitive having a separate display position and display content, where the display position is located in coordinates in units of pixels, and the display content is a visual representation of RGBA values of each pixel within the primitive coverage area.
In some embodiments, when the rendering engine starts to draw the View tree, first drawing a first primitive, where the drawing object corresponding to the first primitive is typically a window background, where textures, filler contents, and the like need to be drawn, and setting an Alpha value of the first primitive, where if the Alpha value of the first primitive is greater than a first threshold, it indicates that the window background is near an opaque state, and thus other windows below the window may be fully or partially blocked. The first threshold is an Alpha value close to a first transparency value (e.g., 255), and the first threshold is, for example, 240.
Therefore, according to the size, display position and background Alpha value of the window, the occluded area of the window can be determined; based on the size, display location, and Alpha value of the primitive, the occluded region of the primitive may be determined. In this way, the screening granularity of the occluded area can be refined from the window to the primitives in the window, so that the occluded area is accurately extracted, and the occluded area comprises non-visual content in the user interface. Because the user can not watch the content in the shielded area by naked eyes, the shielded area can be filtered during drawing and rendering, namely, the content in the shielded area is not drawn, so that drawing instructions executed by a GPU are reduced, the drawing time consumption of a single frame in a window is reduced, and the frame rate of display equipment is improved. Thus, the embodiment of the application proposes a fast filtering mechanism during rendering to filter out unnecessary drawing objects.
In some embodiments, the window manager of the framework layer may pass window information of a window currently displayed by the screen to a system detection service of the system runtime layer through an IPC interface (e.g., a binder or socket, etc.), where the window information includes information of a window size, a window display position, a window attribute, etc., and the window attribute may include a View in the window and a related attribute value (e.g., an identification, a size, a position, an Alpha value, etc.) of the primitive. In this way, the system detection service may identify, based on the window information, occlusion object information during the UI rendering process (including single window and multi-window scenes), the occlusion object information including the size and location of the occluded region, which may contain one or more primitives. The system detection service can send the shielding object information to a rendering engine, and the rendering engine filters and eliminates the shielded primitive according to the shielding object information when drawing the graph, so that the shielded primitive is not drawn to the window. Wherein the occlusion object information is dynamically variable instead of fixed information.
In some embodiments, the area of the screen visualization is limited, and the long page may contain more resources, such as a waterfall page, a browser webpage, etc., and if the user wants to browse more page contents outside the visualization area, the user may click a direction key (for example, a down key and an up key) to move the page along a specified direction, so that the application program loads more page resource data, and the drawing application draws and renders according to the newly loaded page resource data, and fills the new page resource data at the bottom of the page, thereby realizing page refreshing.
The user can click or long press the directional key to adjust the distance and speed of page scrolling. When the direction key is pressed for a long time, the page is rolled in the opposite direction to the direction key, so that a continuous rolling state is presented until the page stops rolling when the user releases the direction key. Fig. 6 shows a schematic view of a page scrolling display in some embodiments, see fig. 6, in which the page is continuously scrolled upwards when the user presses the down key of the control device for a long time.
When the page is in a continuous rolling state, because the page rolling speed is higher, if the page drawing and rendering time is longer, page clamping or page part white screen caused by untimely rendering is easy to occur. Fig. 7 is a schematic diagram showing that a part of white screen appears when a page in some embodiments is continuously scrolled, referring to fig. 7, when a user presses a key of a control device for a long time, the page continuously scrolls upwards, and because of low rendering speed, new resource content at the bottom is not rendered and displayed, so that a white-left area appears at the bottom, the effect of the part of white screen is presented, and the display effect of the page and the browsing experience of the user are affected.
In some embodiments, to solve the above problem caused by the slow rendering speed when the page is scrolled in rapid succession, the system detection service in the embodiments of the present application is further configured to detect the display state of the page in the window. The system detection service can detect the page moving distance in unit time, and if the page moving distance in unit time is greater than the displacement threshold value, the page displayed by the window is determined to be in a continuous rolling state.
In some embodiments, the system detection service may detect a page scroll speed and determine that the page displayed by the window is in a continuous scroll state if the page scroll speed is greater than a speed threshold.
In some embodiments, when receiving a control instruction sent by the control device, the controller identifies a key value included in the control instruction, and if the key value is a direction key value (for example, a down key value), sends the direction key value to the system detection service. After receiving the direction key value, the system detection service starts a timer, and if the timing time of the timer reaches the preset time, the system detection service does not receive the direction key release message sent by the controller, and the direction key is indicated to be pressed for a long time, the page displayed by the window is determined to be in a continuous rolling state. The preset time is not limited, and may be 300ms (milliseconds), for example.
In some embodiments, when the system detection service detects that the page is in the continuous scrolling state, the system detection service may send, through the IPC interface, occlusion object information and a first status indication message to the rendering engine, where the first status indication message is used to indicate that the page displayed by the target window enters the continuous scrolling state, and in the multi-window scenario, the target window is typically a focus window or a window selected by the selector. The rendering engine receives the first status indication message, records that the rendering engine enters a fast filtering state, and triggers execution of a rendering filtering mechanism, which may be configured as a filtering algorithm or a filtering model, or may be configured as a set of at least one rendering rule.
In some embodiments, by executing the rendering filtering mechanism, unnecessary rendered primitives may be filtered and culled, and finally a primitive display list is obtained that includes primitive information for primitives that may be drawn and rendered that remain after executing the rendering filtering mechanism, which may include, but is not limited to, the identification, size, location, RGBA value of the pixels, etc. of the primitives. The rendering engine generates drawing instructions corresponding to the primitive information in the primitive display list according to the primitive display list, transmits the drawing instructions to the GPU, and the GPU responds to the drawing instructions to draw and render the primitives and outputs the drawing instructions to the screen for display. After the rendering engine executes the rendering filtering mechanism, drawing instructions executed by the GPU can be reduced, rendering time is further reduced, the rendering speed of a single frame is improved, and the page refreshing speed is further improved.
In some embodiments, when the user releases the direction key, the control device may send a release direction key instruction to the display device, and the controller receives the release direction key instruction and sends a release direction key message to the system detection service. The system detection service receives the release direction key message, records that the page displayed by the window is in a discontinuous rolling state or a static state, and sends a second state indication message to the rendering engine through the IPC interface, wherein the second state indication message is used for indicating that the page displayed by the target window exits from the continuous rolling state. The rendering engine receives the second status indication message, may clear the fast filtering status, and terminate the rendering filtering mechanism, and revert to the normal rendering mode.
Fig. 8 is a flowchart of an interface display method according to some embodiments of the present application. Based on the foregoing related embodiments, referring to fig. 8, the method may be performed by the controller 250 of the display device, including the steps of:
step S81, detecting a display state of the page.
Step S82, if the page is in a continuous scrolling state, the rendering engine is controlled to start a rendering filtering function so as to acquire and reject unnecessary rendered target graphic elements in the page.
Step S83, obtaining a primitive display list generated by the rendering engine. The primitive display list comprises primitive information of primitives to be displayed on a page after target primitives are removed.
Step S84, generating drawing instructions according to the primitive display list, and controlling a Graphic Processor (GPU) to render and refresh the page according to the drawing instructions.
And step S85, when the page is detected to exit the continuous scrolling state, controlling the rendering engine to close the rendering filter function, and rendering the page according to the conventional rendering mode. Wherein, the conventional rendering mode refers to the process of not acquiring and rejecting unnecessary rendered primitives in the page.
In the embodiment illustrated in fig. 8, by monitoring the display state of the page and starting the rendering filtering function when the page is in the continuous scrolling state, unnecessary rendered target primitives are removed, where the target primitives include, but are not limited to, occluded primitives, micro primitives, edge primitives, and the like. In this way, the rendering engine generates the primitive display list after filtering the target primitives, and the drawing instruction is generated based on the primitive display list, so that the drawing instruction for the target primitives cannot be generated, the GPU cannot draw and render the rejected target primitives, the page rendering efficiency is improved, the drawing time of a single frame in a window is reduced, the frame rate is further improved, the problems of page clamping or page partial white screen can be solved especially when a long page is rolled rapidly and continuously, and the interface display effect and the user browsing experience are improved.
Fig. 9 is a flowchart of another interface display method according to some embodiments of the present application. Based on the foregoing related embodiments, referring to fig. 9, the method includes the steps of:
in step S91, after the operating system is started, the system detection service is started.
Step S92, when receiving an operation of starting the first application by the user, starting a drawing application for drawing a page of the first application.
In step S93, the drawing application starts a first activity corresponding to the first application and configures first activity information, and starts a first window corresponding to the first activity and configures first window information. Wherein the first activity information includes, but is not limited to, an identification of the first activity, and the first window information includes, but is not limited to, an identification of the first window, a size, a window attribute, a layout, and the like.
In step S94, the drawing application transmits the first activity information and the first window information to the system detection service, so that the system detection service adds the first activity information to the activity information list and the first window information to the window information list. Wherein the activity information list can be used for recording activity information of an activity started by the display device, the activity information comprises an identification of the activity, a life cycle state and the like, and the window information list can be used for recording window information of a started window. The active information list and the window information list are dynamically updateable.
In step S95, the system detection service starts a timer when receiving a direction key instruction through the user interface.
In step S96, the system detection service determines whether the counted time reaches a preset time.
If the counted time does not reach the preset time, step S97 is performed. If the counted time reaches the preset time, step S99 is executed.
In step S97, the system detects whether the service receives a direction key release message.
If the system detection service receives a direction key release message (i.e., the user releases the direction key) through the user interface, step S98 is performed. If the system detection service does not receive the direction key release message (i.e., the user is still pressing the direction key for a long time), then execution continues with step S96.
In step S98, the rendering engine stops scrolling the page displayed by the first window and remains in the normal rendering mode. Wherein, the conventional rendering mode refers to the process of not eliminating unnecessary rendered primitives in the page.
In step S99, the system detection service sends a first status indication message to the rendering engine and synchronizes the active information list and the window information list to the rendering engine. The first status indication message is used for indicating that the page displayed by the first window enters a continuous scrolling state.
In step S910, the rendering engine receives the first status indication message, marks the rendering engine in a fast filtering state, and uses a filtering algorithm to remove the target primitives rendered unnecessarily according to the active information list and the window information list, and generates a primitive display list.
In step S911, the rendering engine generates a drawing instruction corresponding to each primitive in the primitive display list, and transmits the drawing instruction to the image processor (GPU).
In step S912, the system detects whether the service receives a direction key release message.
If the system detection service receives a direction key release message (i.e., the user releases the direction key), step S913 is performed. If the system detects that the service has not received the direction key release message (i.e. the user has still pressed the direction key for a long time), the filtering algorithm flow in step S910 and its subsequent steps are continued.
In step S913, the system detection service sends a second status indication message to the rendering engine. The second status indication message is used for indicating that the page displayed by the first window exits the continuous scrolling state.
In step S914, the rendering engine receives the second status indication message, stops scrolling the page, clears the flag of the fast filter status, and resumes the normal rendering mode.
In the embodiment illustrated in fig. 9, the system bottom layer realizes accurate control of application page drawing and rendering displayed at the front end through cooperation of a drawing application, a system detection service and a rendering engine, and the system detection service enables the rendering engine to synchronously control the working mode and the state of the rendering engine by monitoring the display state of the page, for example, when the current page is in a continuous rolling state, the rendering engine marks a rapid filtering state and enters a rapid filtering rendering mode, namely, after unnecessary rendered target primitives are removed, the rendering engine controls the GPU to execute drawing instructions according to a display primitive list; if the current page exits the continuous scrolling state, the rendering engine may eliminate the fast filtering state flag, or may flag the unfiltered state/normal rendering state, etc., to restore the rendering engine to a normal rendering mode. Therefore, the rendering engine does not generate a drawing instruction for the target graphic element, the GPU does not draw and render the rejected target graphic element, the page rendering efficiency is improved, the drawing time of a single frame in a window is reduced, the frame rate is further improved, the problem of page blocking or partial white screen of the page can be solved especially when a long page is rolled in a quick continuous mode, and when the page exits from a continuous rolling state, for example, when the page stops rolling or slides slowly, the rendering speed requirement is relatively low, the conventional rendering mode can be restored to achieve the completeness of graphic element drawing in the page.
FIG. 10 is a process flow diagram of a rendering filtering mechanism provided in some embodiments of the present application. Referring to fig. 10, the process flow executed after the rendering engine triggers the rendering filter mechanism may include the following steps S101 to S108:
step S101, according to the activity information list and the window information list, the display position and Alpha value of the drawing primitive to be drawn are recorded in sequence according to a preset sequence.
In some embodiments, the preset order is, for example, the precedence order of primitive drawing, or other ordering manner. In the following embodiment of the application, the first primitive to be drawn is denoted as Element (i), where i represents sequential encoding of the primitives, i.ltoreq.i.ltoreq.N, and N represents the total amount of primitives to be drawn.
Step S102, judging whether the position of the Element (i) covers the previous primitive.
If the location of Element (i) covers the previous primitive, step S103 is performed. If the location of Element (i) does not cover any preceding primitive, step S105 is performed.
Step S103, judging whether the Alpha value of the Element (i) is smaller than the transparency threshold.
In some embodiments, the preceding primitive refers to the primitive to be drawn that is ordered before Element (i), e.g., the current primitive to be drawn is Element (3), then the preceding primitive of Element (3) is Element (1) and Element (2).
Fig. 11 is a schematic diagram of a relationship between a primitive a and a primitive b according to some embodiments of the present application. Referring to fig. 11, taking primitive a and primitive b as an illustrative example, occlusion judgment between primitives may consider two angles:
angle (1): the primitives have position coverage. For example, the primitive a is an image, the primitive b is a dialog box, and it is assumed that the primitive a is a preceding primitive of the primitive b, the primitive b is located at an upper layer of the primitive a in a depth direction, and the primitive b and the primitive a have a position intersection (which may be represented as full coverage or partial coverage) on a screen plane.
Angle (2): referring to fig. 12, based on the positional relationship of the primitive a and the primitive b, if the primitive b is higher in transparency, the primitive a is more easily seen through the primitive b; if the transparency of the primitive b is low, the primitive a is less visible or seen through the primitive b, and then the primitive b obscures the primitive a. The Alpha value can be used to measure the transparency, so that the display position of the primitives and the Alpha value can be used to determine whether occlusion occurs between the primitives.
In some embodiments, the Alpha value ranges from [0,255], where 0 is a lower transparency value, indicating that the primitive is completely transparent when the Alpha value of the primitive is equal to 0; 255 is the transparency upper limit, and when the Alpha value of the primitive is equal to 255, it indicates that the primitive is completely opaque. A transparency threshold value can be preset in the rendering filtering mechanism, the transparency threshold value is smaller than but close to the transparency upper limit value, for example, the transparency threshold value can be set to 240 and 245 equivalent, so that a certain difference value exists between the transparency threshold value and the transparency upper limit value, and if the rendering engine detects that the Alpha value of the Element (i) is not smaller than the transparency threshold value, the rendering engine determines the prior primitive blocked by the Element (i) as the target primitive, and rejects the target primitive. Referring to fig. 12, assuming that the Alpha value of the primitive b is 250, which is greater than the transparency threshold, the primitive a may be rejected because the primitive b is covered by the location of the primitive b, which may cause occlusion to the primitive a. In fig. 11, the element a is hidden by the element b, and the element a is invisible to the naked eye of a user, and is schematically represented by a dotted line in order to express the coverage relationship between the element a and the element b.
In some embodiments, the rendering engine may obtain a set of primitives that include primitives with Alpha values that are greater than a transparency threshold. The rendering engine can construct or expand a shielding area according to the display positions of the primitives in the primitive set, and then the primitives in the coverage area of the shielding area are determined to be target primitives which can be removed, so that the target primitives can be filtered more quickly, the one-to-one position comparison and shielding judgment between the primitives (especially smaller primitives) are reduced, the primitive filtering efficiency of the rendering engine is further improved, and the rendering speed is improved.
If the Alpha value of Element (i) is not less than (including greater than or equal to) the transparency threshold, then step S104 is performed; if the Alpha value of Element (i) is less than the transparency threshold, step S105 is performed.
Step S104, determining the previous primitive which is blocked by the Element (i) as a target primitive, and eliminating the target primitive.
In some embodiments, the so-called culling the target primitive may be deleting primitive information for the target primitive from a primitive display list.
Step S105, based on the primitive attribute, the first primitive is filtered from the primitives to be drawn, and the dynamic algorithm used in drawing the first primitive is filtered.
In some embodiments, primitive attributes may include, but are not limited to, the type of primitive, display effect, and the like. Some special attribute primitives (first primitive for short) may be configured with complex dynamic algorithms when pages are continuously scrolled.
In some embodiments, the graphical element may fade as the page is continuously scrolled, e.g., the navigation bar may be completely transparent when the page is stationary, the transparency of the navigation bar may fade progressively as the page is scrolled down, the transparency of the navigation bar may fade progressively as the page is scrolled up, and the navigation bar may then be rendered transparent as the page is continuously scrolled. In order to achieve such a gradient effect, a dynamic algorithm needs to be set on the navigation bar primitive, for example, a dither algorithm, a fuzzy algorithm, a gaussian filtering algorithm, etc., and if any dynamic algorithm is used in the rendering engine for drawing the navigation bar, the rendering speed of the page is slow, so the navigation bar can be selected as the first primitive.
In some embodiments, after the first primitive is filtered out, the rendering engine does not reject the first primitive, but performs algorithm filtering on the first primitive, where the algorithm filtering refers to skipping a dynamic algorithm used when drawing the first primitive, so that the first primitive is only displayed basically, for example, ignoring a gradual effect of the navigation bar, and the navigation bar is displayed statically when the page is continuously scrolled. Therefore, the time consumption for executing the complex dynamic algorithm when the rendering engine draws the primitives can be reduced, and the rendering speed can be increased on the premise of ensuring that the primitives can be normally displayed.
In some embodiments, after the rendering engine filters the first primitive, the rendering engine may set an algorithm filtering identifier in the primitive information of the first primitive, so that when the rendering engine generates a drawing instruction, the rendering engine queries the primitive information with the algorithm filtering identifier and generates a drawing instruction for the first primitive without using a dynamic algorithm, and thus the GPU renders the first primitive without using the dynamic algorithm, so that the first primitive is only basically displayed.
And S106, judging whether a second graphic primitive exists in the first shielding area.
In some embodiments, the system detection service may determine a first occlusion region according to the window information list, generate corresponding first occlusion region information according to the first occlusion region, and send the first occlusion region information to the rendering engine, so that the rendering engine knows the first occlusion region. The first shielding area refers to an area where a first window (a page in the window is continuously scrolled) is shielded by other small windows, and the small windows refer to windows with a window size smaller than a screen size, namely non-full-screen windows or thumbnail windows, and the small windows can be, for example, floating windows, popup windows, menus or other windows with non-full-screen display.
In some embodiments, the system detection service may also send the window information to the rendering engine, which automatically analyzes the first occlusion region according to the window information.
In some embodiments, the first occlusion region includes a region covered by a location of a target widget having an Alpha value not less than a transparency threshold. In this way, the rendering engine may determine whether a primitive (referred to as a second primitive) is present within the first occlusion region. If there is a second primitive in the first occlusion region, then step S107 is performed; if no second primitive is present in the first occlusion region, step S108 is performed.
Step S107, the second primitive is rejected.
Because the second graphic element is blocked by the small window, the user cannot see the content of the second graphic element on the screen by naked eyes, in order to reduce invalid rendering, the rendering engine can determine the second graphic element as a target graphic element which is not necessarily rendered and reject the second graphic element, so that the rendering engine cannot generate a drawing instruction aiming at the second graphic element, the GPU cannot draw and render the second graphic element, the rendering speed is improved, the time consumption of single frame rendering is reduced, and the frame rate is improved. Step S107 is followed by step S108.
Step S108, acquiring and rejecting micro primitives and/or edge primitives.
In some embodiments, the micro primitives refer to primitives with smaller sizes, and are limited by the sizes, and UI content contained in the micro primitives is usually little or impossible for a user to clearly identify the content, so that the rendering engine can filter the micro primitives, and the rendering efficiency can be improved to a certain extent after the micro primitives are removed.
In some embodiments, the rendering engine may preset a size threshold for the micro-primitives, which may include a width threshold and a height threshold, and the filtering rules for the micro-primitives may be configured to: taking the primitive a as an example, if the width of the primitive a is smaller than the width threshold and/or the height of the primitive a is smaller than the height threshold, determining that the primitive a is a micro primitive, that is, the size of the micro primitive is smaller than the size threshold. The width threshold value and the height threshold value are not limited, and may be set to 5 pixels, for example.
In some embodiments, the edge primitives refer to primitives located at edge/boundary positions of the window display area, and it is understood that the main content in the window is mostly concentrated in non-edge areas (such as a central area, etc.), the edge primitives generally include less or more unimportant content, and the visual focus of the user mainly falls in the non-edge areas, so that the content focus of the edge positions is low, and therefore, the rendering engine can filter the edge primitives, thereby improving the rendering efficiency to a certain extent.
In some embodiments, the rendering engine may preset a distance threshold for the edge primitive mapping, which is not limited and may be set to 10 pixels, for example. Fig. 12 is a schematic diagram of an edge primitive filtering rule provided in some embodiments of the present application, referring to fig. 12, since the first window 12a is generally rectangular, and based on four boundary lines of the first window 12a, a distance threshold is used to determine the first limit rectangle 12b, a distance between an upper boundary line of the first limit rectangle 12b and an upper boundary line of the first window 12a is equal to the distance threshold, a distance between a lower boundary line of the first limit rectangle 12b and a lower boundary line of the first window 12a is equal to the distance threshold, a distance between an upper boundary line of the first limit rectangle 12b and a left boundary line of the first window 12a is equal to the distance threshold, and a distance between an upper boundary line of the first limit rectangle 12b and a right boundary line of the first window 12a is equal to the distance threshold, so that an edge region 12c is formed between the first window 12a and the first limit rectangle 12b, and the edge primitive filtering rule may be configured as follows: and determining the primitives contained in the edge area 12c as edge primitives, namely acquiring the primitives contained in the range of the distance threshold value of the window edge, wherein the distance between the edge primitives and the first window is not greater than the distance threshold value.
Through the rendering filtering mechanism, the primitives which are blocked by the primitives, the primitives which are blocked by the small window, the micro primitives and the edge primitives can be filtered and removed, and a complex dynamic algorithm used when the primitives are drawn can be skipped, so that a final primitive display list is obtained, the number of drawing instructions executed by the GPU is reduced, the rendering speed of the GPU is improved, the single-frame drawing time is reduced, the frame rate is further improved, the method is particularly suitable for a scene with a high refresh rate, and page clamping and partial white screen problems are reduced when pages are continuously rolled. For a multi-window display scene, the drawing application can acquire window information of each window, then a system detection service determines an occlusion region according to the window information, and a rendering engine eliminates the primitives covered in the occlusion region, so that the problems of low rendering speed and the like caused by drawing the occluded primitives in the multi-window display scene are avoided, and the single-frame drawing efficiency is improved.
In the rendering filtering mechanism, five filtering rules are provided, including: filtering a previous primitive which is blocked by a current primitive to be drawn, filtering a dynamic algorithm of a first primitive, filtering a second primitive which is blocked by a small window, filtering a micro primitive and filtering an edge primitive. It should be noted that, the rendering filtering mechanism is not limited to the above filtering rules, and the execution order of the filtering rules is not limited to the examples of the embodiments of the present application, and the rendering engine may configure at least one filtering rule, or may combine multiple filtering rules. In addition, the software function configuration of the drawing application, the system detection service and the rendering engine is not limited to the embodiment of the present application, and specific procedures of UI drawing and rendering of the android system may be implemented with reference to related technologies, which are not repeated in the embodiment of the present application.
In some embodiments, some embodiments of the present application also provide a computer storage medium, which may store a program. When the computer storage medium is configured in the display device 200, the program may include program steps included in the interface display method in the above embodiment when executed. The computer storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
The foregoing description, for purposes of explanation, has been presented in conjunction with specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the embodiments to the precise forms disclosed above. Many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the disclosure and to enable others skilled in the art to best utilize the embodiments.

Claims (10)

1. A display device, characterized by comprising:
a display for displaying a user interface;
a graphics processor for rendering a user interface;
a controller comprising a rendering engine, the controller to perform:
detecting the display state of a page displayed by a display;
if the page is in a continuous rolling state, controlling a rendering engine to start a rendering filtering function, wherein the rendering filtering function is used for eliminating unnecessary rendered target primitives in the page;
acquiring a primitive display list generated by the rendering engine, wherein the primitive display list comprises primitive information of primitives to be displayed on the page after the target primitive is removed;
and generating a drawing instruction according to the primitive display list, and controlling a graphic processor to render and refresh the page according to the drawing execution.
2. The display device of claim 1, wherein the controller is further configured to perform:
when the page is detected to exit from the continuous scrolling state, controlling the rendering engine to close the rendering filtering function;
and rendering the page according to a conventional rendering mode, wherein the conventional rendering mode refers to that unnecessary rendered target graphic elements in the page are not removed.
3. The display device of claim 1, wherein the controller includes a system detection service, the controller further configured to perform, prior to detecting a display state of a page displayed by the display:
after an operating system is started, starting the system detection service;
when receiving an operation of starting a first application by a user, starting a drawing application for drawing the page of the first application;
the drawing application starts a first activity corresponding to the first application and configures first activity information, and starts a first window corresponding to the first activity and configures first window information; the first window is used for displaying the page, the first activity information comprises an identifier of the first activity, and the first window information comprises an identifier, a size, a window attribute and a window layout of the first window;
the drawing application sends the first activity information and the first window information to the system detection service so that the system detection service adds the first activity information to an activity information list and adds the first window information to a window information list; wherein the activity information list can be used for recording activity information of an activity started by the display device, and the window information list can be used for recording window information of a started window.
4. A display device as claimed in claim 3, characterized in that the display device further comprises a communicator for communication connection with the control means, the controller being further adapted to perform, before controlling the rendering engine to initiate the rendering filter function:
the system detection service starts a timer when receiving a direction key instruction sent by the control device;
when the timing time reaches the preset time, the system detection service sends a first state indication message to the rendering engine, and synchronizes the active information list and the window information list to the rendering engine; the first state is used for indicating the page to enter a continuous scrolling state;
the rendering engine receives the first state indication message and marks that the rendering engine is in a rapid filtering state; the rapid filtering state is used for indicating the rendering engine to start a rendering filtering function so as to reject the target graphic element by using a filtering algorithm according to the active information list and the window information list.
5. The display device of claim 4, wherein the controller is further configured to perform:
The system detection service sends a second state indication message to the rendering engine when receiving the direction key release message; the control device sends the direction key release message to the display device when the user releases the long-pressed direction key, and the second state indication message is used for indicating the page to exit from the continuous scrolling state;
the rendering engine receives the second state indication message, clears the mark of the rapid filtering state, and enables the rendering engine to switch to a conventional rendering mode, wherein the conventional rendering mode is to not reject target primitives which are unnecessarily rendered in a page.
6. The display device of claim 4, wherein after controlling the rendering engine to initiate a rendering filter function, the controller is further to perform:
the rendering engine sequentially records the display position and Alpha value of the drawing primitives to be drawn according to the activity information list and the window information list and a preset sequence; wherein the Alpha value is used to characterize the transparency of the primitive to be depicted;
if the current position of the first primitive to be drawn covers the previous primitive and the Alpha value of the first primitive to be drawn is not less than the transparency threshold, the rendering engine determines the previous primitive which is blocked by the first primitive to be drawn as the target primitive and deletes the primitive information of the target primitive from the primitive display list.
7. The display device of claim 6, wherein after controlling the rendering engine to initiate the rendering filter function, the controller is further to perform:
if the position of the first primitive to be drawn does not cover the previous primitive, or the Alpha value of the first primitive to be drawn is smaller than a transparency threshold, the rendering engine screens the first primitive from the primitives to be drawn based on primitive attributes, wherein the first primitive is a primitive which needs to use a dynamic algorithm when drawing the primitive;
the rendering engine sets an algorithm filtering identifier in the primitive information of the first primitive, wherein the algorithm filtering identifier is used for indicating the rendering engine to generate a drawing instruction which does not use a dynamic algorithm for the first primitive so that the GPU does not use the dynamic algorithm to render the first primitive.
8. The display device of claim 6, wherein after controlling the rendering engine to initiate the rendering filter function, the controller is further to perform:
the rendering engine acquires a first shielding area, wherein the first shielding area refers to an area of the first window shielded by other non-full-screen windows; the first shielding area is determined by the system detection service according to the window information list and is notified to the rendering engine, or the first shielding area is determined by the rendering engine according to the window information list;
And the rendering engine acquires a second primitive existing in the first shielding area, determines the second primitive as the target primitive, and deletes the primitive information of the target primitive from the primitive display list.
9. The display device of claim 6, wherein after controlling the rendering engine to initiate the rendering filter function, the controller is further to perform:
acquiring micro primitives and/or edge primitives; the size of the micro primitive is smaller than a size threshold, and the distance between the edge primitive and the first window is not larger than a distance threshold;
and determining the micro primitive and/or the edge primitive as the target primitive, and deleting the primitive information of the target primitive from the primitive display list.
10. An interface display method, comprising:
detecting the display state of the page;
if the page is in a continuous rolling state, controlling a rendering engine to start a rendering filtering function, wherein the rendering filtering function is used for eliminating unnecessary rendered target primitives in the page;
acquiring a primitive display list generated by the rendering engine, wherein the primitive display list comprises primitive information of primitives to be displayed on the page after the target primitive is removed;
And generating a drawing instruction according to the primitive display list, and controlling a graphic processor to render and refresh the page according to the drawing execution.
CN202311615897.4A 2023-11-29 2023-11-29 Interface display method and display device Pending CN117827337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311615897.4A CN117827337A (en) 2023-11-29 2023-11-29 Interface display method and display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311615897.4A CN117827337A (en) 2023-11-29 2023-11-29 Interface display method and display device

Publications (1)

Publication Number Publication Date
CN117827337A true CN117827337A (en) 2024-04-05

Family

ID=90503604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311615897.4A Pending CN117827337A (en) 2023-11-29 2023-11-29 Interface display method and display device

Country Status (1)

Country Link
CN (1) CN117827337A (en)

Similar Documents

Publication Publication Date Title
KR20160037647A (en) User Terminal Device and Method for controlling the user terminal device thereof
CN111597000B (en) Small window management method and terminal
US11039196B2 (en) Method and device for displaying a screen shot
CN112672199B (en) Display device and multi-layer overlapping method
CN112698905B (en) Screen saver display method, display device, terminal device and server
CN114297436A (en) Display device and user interface theme updating method
CN113645494A (en) Screen fusion method, display device, terminal device and server
CN113747078B (en) Display device and focal length control method
CN113038141B (en) Video frame processing method and electronic equipment
TW201237730A (en) Method of adjusting windows and electronic device using same
CN117827337A (en) Interface display method and display device
CN112926420B (en) Display device and menu character recognition method
CN115083343A (en) Display apparatus and resolution adjusting method
CN116801027A (en) Display device and screen projection method
CN114760513A (en) Display device and cursor positioning method
CN114546219A (en) Picture list processing method and related device
CN114299100A (en) Screen positioning method, terminal device and display device
WO2022156729A1 (en) Display device and display method
CN114296841A (en) Display device and AI enhanced display method
CN117807337A (en) Display equipment and browser page resource rendering method
CN116347166A (en) Display device and window display method
CN114302131A (en) Display device and black screen detection method
CN116647627A (en) Display method and display device
CN116934770A (en) Display method and display device for hand image
CN117615184A (en) Display apparatus and display method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination