WO2018000372A1 - 画面显示的方法和终端 - Google Patents

画面显示的方法和终端 Download PDF

Info

Publication number
WO2018000372A1
WO2018000372A1 PCT/CN2016/087996 CN2016087996W WO2018000372A1 WO 2018000372 A1 WO2018000372 A1 WO 2018000372A1 CN 2016087996 W CN2016087996 W CN 2016087996W WO 2018000372 A1 WO2018000372 A1 WO 2018000372A1
Authority
WO
WIPO (PCT)
Prior art keywords
picture
area
displayed
picture frame
frame
Prior art date
Application number
PCT/CN2016/087996
Other languages
English (en)
French (fr)
Inventor
仇建斌
阎学斌
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2016/087996 priority Critical patent/WO2018000372A1/zh
Priority to CN201680010392.7A priority patent/CN108027980A/zh
Publication of WO2018000372A1 publication Critical patent/WO2018000372A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Definitions

  • the present invention relates to the field of graphics processing, and in particular, to a method and terminal for displaying a picture.
  • graphics processing unit Graphics Processing Unit
  • CPU Central Processing Unit
  • Embodiments of the present invention provide a method and a terminal for displaying a picture, which can save power consumption.
  • a method for displaying a picture including:
  • the terminal determines location information of the difference picture area of the first picture frame and the second picture frame, and determines a refresh area of the to-be-displayed frame according to the location information, and only the refresh area Drawing, avoiding repeated drawing, can save power.
  • the screen data information is data information required when an application screen frame is displayed.
  • the picture data information may include, but is not limited to, CRC data, Vertex Number data, Shader ID data, color data, Signature data, etc.
  • the refresh area of the picture frame to be displayed is the same as the difference picture area; or the refresh area of the picture frame to be displayed includes the difference picture area.
  • the refresh area of the picture frame to be displayed is the same as the difference picture area, which means that the refresh area is the same as the position information corresponding to the difference picture area, for example, the coordinates are the same.
  • the refresh area of the picture frame to be displayed includes the difference picture area, which means that the refresh area is larger than or covers the difference picture area.
  • the picture drawing mode of the GPU may be based on the square tile drawing mode, or based on the pixel pixel drawing mode, or other reasonable drawing manner, which is not limited thereto.
  • the method before the acquiring the picture data information of the first picture frame and the second picture frame, the method further includes:
  • the step of acquiring the picture data information of the first picture frame and the second picture frame is performed.
  • the terminal monitors the screen data information of the plurality of displayed picture frames, and then determines whether the location information corresponding to the difference picture area of the plurality of displayed picture frames is the same. If the location information corresponding to the difference picture area is the same, the foregoing may perform the foregoing The step of “acquiring the picture data information of the first picture and the second picture frame”, that is, determining the refresh area of the picture frame to be displayed according to the location information of the difference picture area of the plurality of displayed picture frames. In this way, if the difference picture areas of the plurality of displayed picture frames are the same within the preset time, the picture display of the terminal prediction application is in an inertial state (ie, the area where the subsequent picture frame to be displayed changes is the refresh area). The refresh area of the subsequent picture frame to be displayed is the same as the difference picture area of the plurality of displayed picture frames.
  • the number of the plurality of displayed picture frames is a preset number of frames, or a number of frames of the plurality of displayed picture frames of the preset time period.
  • the first picture frame further includes a same picture area, where the same picture area refers to a picture area corresponding to the same picture data information between the first picture frame and the second picture frame;
  • the drawing area of the to-be-displayed picture frame is drawn and displayed, including:
  • the terminal After acquiring the refresh area of the picture frame to be displayed, the terminal needs to draw the refresh area of the picture frame to be displayed, and then combine the refresh area with the same picture area in the first picture frame to generate an overall picture of the picture frame to be displayed. Finally, the overall picture of the picture frame to be displayed is displayed, which avoids drawing of the same picture area in the first picture frame, thereby saving power consumption.
  • the method further includes:
  • the terminal may perform timing or interval drawing on an area other than the refresh area in the display picture frame, and then determine whether the area other than the refresh area is the same as the area determined by the difference picture area in the first picture frame. If it is determined that the area other than the refresh area in the to-be-displayed picture frame is different from the area other than the difference picture area in the first picture frame, the entire area of the picture frame to be displayed needs to be drawn and displayed; if the picture to be displayed is determined If the area other than the refresh area in the frame is the same as the area other than the difference picture area in the first picture frame, only the refresh area of the picture frame to be displayed is still drawn.
  • the terminal may send a detection drawing instruction to the GPU, where the detection drawing instruction is used to instruct the GPU to draw an area other than the refresh area in the frame of the to-be-displayed picture.
  • the method further includes:
  • the terminal draws all areas of the picture frame to be displayed according to the input instruction of the user by receiving an input instruction of the user, such as a touch event.
  • the terminal determines that the picture data information of each frame of the plurality of displayed picture frames is completely the same, it may be predicted that the picture data information of the picture frame to be displayed is also the picture of the displayed picture frame. The data information is completely the same, and then the screen display is directly performed according to the screen feature information of the displayed picture frame, and no repeated drawing is required, thereby saving power consumption.
  • a terminal for performing any of the above first aspect or the first aspect
  • the method in the possible implementation comprises means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
  • a terminal comprising a central processing unit CPU and a graphics processing unit GPU for performing the method of any of the first aspect or the first aspect of the first aspect.
  • the terminal comprises means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
  • a terminal comprising: a receiver, a transmitter, a memory, a processor, and a bus system.
  • the receiver, the transmitter, the memory and the processor are connected by the bus system, the memory is for storing instructions for executing the instructions stored by the memory to control the receiver to receive signals and control the sending
  • the transmitter transmits a signal, and when the processor executes the memory stored instructions, the execution causes the processor to perform the method of the first aspect or any of the possible implementations of the first aspect.
  • a computer readable medium for storing a computer program, the computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • FIG. 1A is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • FIG. 1B is a schematic diagram of an application scenario according to a graphics processor drawing
  • 1C is a schematic diagram of a tile-based rendering of a graphics processor
  • Figure 1D is a schematic diagram of an example of a screen display
  • FIG. 2 is a schematic flowchart of a method for displaying a screen according to an embodiment of the present invention
  • FIG. 3 is a schematic flow chart of a specific example according to an embodiment of the present invention.
  • FIG. 4 is a schematic view of another specific example according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of a terminal according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • a terminal device which can be, but not limited to, a mobile station (MS, Mobile Station), a mobile terminal (Mobile Terminal), a mobile phone (Mobile Telephone), and a mobile phone (handset).
  • portable devices, etc. can communicate with one or more core networks via a radio access network (eg, RAN, Radio Access Network), and the terminals can be mobile terminals, such as mobile phones (or "cellular"
  • the telephone and the computer having the mobile terminal may be portable, pocket-sized, handheld, computer-integrated or in-vehicle mobile terminals that exchange language and/or data with the wireless access network.
  • the terminal may also be various types of products with a touch screen, such as a tablet computer, a touch screen mobile phone, a touch screen device, a mobile phone terminal, etc., and no limitation is imposed thereon.
  • a touch screen such as a tablet computer, a touch screen mobile phone, a touch screen device, a mobile phone terminal, etc.
  • the terminal device performs image processing on the image data of the screen in the operating system
  • the operating system may be an iPhone operating system (iOS), Android (Android), Microsoft (Windows), Operating systems such as Symbian and Blackberry Operating System.
  • the picture drawing technology of the GPU includes a plurality of types, and the present application does not specifically limit it.
  • FIG. 1A is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • the hardware layer of the terminal may include a graphics processing unit (“GPU”) and a central processing unit (“CPU”), and may also include a memory, input/ Output device, memory, memory controller, network interface, etc.
  • the input device may include a keyboard, a mouse, a touch screen, etc.
  • the output device may include a display device such as a liquid crystal display (“LCD”), a cathode ray tube (Cathode) Ray Tube, abbreviated as "CRT”), Holographic, Projector, and the like.
  • LCD liquid crystal display
  • Cathode cathode ray tube
  • CRT Holographic, Projector
  • the core library is the core part of the operating system, including input/output services, core services, graphics device interfaces, and graphics engine (Graphics Engine) for CPU and GPU graphics processing.
  • the graphics engine may include a 2D engine, a 3D engine, a composition, a frame buffer, an Embedded Graphics Library (EGL), and the like.
  • the operating system also includes Drive layer, frame layer, and application layer.
  • the driver layer may include a CPU driver, a GPU driver, a display controller driver, and the like.
  • the framework layer may include a graphic service (Graphic Service), a system service (System service), a web service (Web Service), and a customer service (Customer Service); and the graphic service may include, for example, a widget (widget) or a canvas (Canvas). , Views, Render Script, etc.
  • the application layer may include a desktop, a media player, a browser, and the like.
  • the image resource may include various data information for generating a display screen of the application, such as display content, type, size, drawing material, and the like of each layer of the display screen.
  • FIG. 1B shows a schematic diagram of an application scenario according to a GPU drawing.
  • the flow of FIG. 1B can be implemented in the terminal device shown in FIG. 1A.
  • the application when the terminal is running an application (app), when the display system needs to perform screen display, the application sends the screen display task to the job description (Job Descriptors) through the driver, and the job description screen is displayed.
  • the job description Job Descriptors
  • the display task is sent to the Job Manager, and the job management sends the tasks displayed on the screen to the shader (Shader Cores).
  • the driver or job description puts the data information corresponding to the screen display task (which can be understood as input data Input Data) into the shared memory.
  • the shader obtains data information from the shared memory, and processes the data information (eg, calculation or conversion) in conjunction with the screen display task sent by the job management.
  • intermediate data (Intermediate Data) is generated, and the shader can temporarily store the intermediate data in the shared memory.
  • the intermediate data is bidirectional, that is, the shader can reacquire intermediate data from the shared memory when needed.
  • the shader can obtain the complete data of the screen display task (ie, Output Data), that is, the data of the synthesized complete picture frame.
  • Output Data the complete data of the screen display task
  • the output data will also be placed in shared memory.
  • the display system Display System
  • the data of the picture frame includes color data and signature data.
  • the feature data may include, but is not limited to, Cyclic Redundancy Check (CRC) data, vertex data. (Vertex Number), shading ID, etc.
  • Feature data is stored in shared memory and can be accessed by the CPU and/or GPU.
  • Figure 1C shows a tile-based rendering of a GPU.
  • the GPU will apply The picture is decomposed into a plurality of tiles, and then multiple tiles are separately calculated and synchronized, and the CPU displays a complete frame according to the plurality of tile data. As shown in FIG.
  • the processing flow of the GPU on the tile includes: acquiring geometric data of each tile (Geometry), performing vertex rendering according to the geometric data (Vertex Shader), and geometric data after rendering the vertex (for example, a triangle data list Triangle Lists)
  • geometric data for example, a triangle data list Triangle Lists
  • Each square per block data is temporarily stored in the shared memory, and then the triangle data is read (for example, including Triangle Lists, one per tile), and the specific calculation is performed according to the read triangle data, and the calculation process includes:
  • the triangle data is rasterized (Rasterizer), fragment shader (blragment shader), data blend (Blender), and then the calculated triangle data is stored in a local cache (for example, a tile buffer Tile Buffer).
  • the calculated triangle data is the tile data of each tile.
  • the GPU decomposes the picture into a plurality of tiles, and calculates tile data of each tile in parallel, such as color data and signature data (where the most common feature data is CRC data), etc.
  • the tile data is placed in the shared memory in FIG. 1B so that the GPU and the CPU can share the tile data of the picture.
  • the CPU controls the GPU to execute a rendering instruction according to the tile data of each tile of the picture, and the rendering generates a complete picture frame.
  • the GPU calculates the data of the entire picture for each picture.
  • the calculation amount of the GPU and the CPU are both Larger, resulting in higher power consumption of the terminal.
  • FIG. 1D a schematic diagram of an example of a screen display is shown in FIG. 1D.
  • the application performs a countdown reminder
  • the number for the countdown is displayed on the screen.
  • the digital display area is the difference picture of the first frame to the fourth frame.
  • the area, the area outside the digital display area is the same picture area of the first frame to the fourth frame.
  • the difference screen area is the area where the countdown numbers (3, 2, 1, 0) in the figure are located. In other words, in a period of time, the main areas of the Nth picture and the N+1th picture are the same, and only a small part of the area is different. In the prior art, when the pictures of the first frame to the fourth frame are drawn, the pictures of each frame are all drawn, regardless of whether or not there is the same picture area between them.
  • the present invention proposes a method for displaying a picture, when the application screen is used for a period of time.
  • the display is in the inertia state, that is, the display screen applied for a period of time only changes the difference screen area, and when the other areas other than the difference screen area remain unchanged, the next to be displayed is determined according to the position information of the difference screen area.
  • the terminal monitors multiple picture frames of the application, predicts a refresh area of the next to-be-displayed picture frame according to the difference picture area and the same picture area of the multiple displayed picture frames, and then only performs the refresh area in the drawing. Draw, and then synthesize the picture of the refresh area and the picture of the same picture area of the previously displayed picture frame, thereby obtaining an overall picture of the next frame to be displayed, and finally displaying the overall picture.
  • the present invention aims to solve the problem of wasted power consumption caused by repeated drawing, by judging whether the picture of the preceding and succeeding frames has a repeated part, and then determining whether it is necessary to draw the entire picture, thereby finally achieving the maximum reduction of repeated drawing, thereby saving work. Consumption.
  • the terminal can know that the changed parts of the three frames are digital displays in the figure by monitoring the picture data information of the first frame, the second frame, and the third frame of the application.
  • the digital display area is the difference screen area, and the other areas other than the digital display area are unchanged, and the areas other than the digital display area are the same screen area.
  • the refresh area of the fourth frame picture and the same picture area can be predicted based on the picture data information of the first three frames.
  • the difference picture area that is, the digital display area is predicted.
  • the terminal acquires the location information of the digital display area in the picture of the first three frames, and then draws the corresponding refresh area in the fourth frame picture according to the position information of the digital display area in the picture of the first three frames, that is, in the fourth frame picture.
  • Digital display area the terminal combines the digital display area of the newly drawn fourth frame picture with the same picture area of the first three frames, generates an overall picture of the fourth frame, and displays the entire picture.
  • the advantage of this is that the terminal only draws a small digital display area during the drawing process of the fourth frame picture, thereby avoiding wasting power consumption by repeatedly drawing the unchanged area. This is very necessary for some games or 3D screen display applications, which can save a lot of power.
  • the picture decomposition tile method in FIG. 1C may be used, or the pixel sampling method may be adopted, or other reasonable manners, which are not limited thereto.
  • FIG. 2 shows a schematic flow diagram of a method 200 of screen display in accordance with an embodiment of the present invention.
  • the method may be performed by a terminal or a terminal including a CPU, and the terminal may further include a GPU.
  • the method 200 includes:
  • the terminal may acquire picture data information of the displayed picture frame, for example, acquire picture data information of the first picture frame and the second picture frame in the displayed picture frame.
  • the picture data information is data information required when the application screen frame is applied, and the picture data information can be understood as the data information in FIG. 1B.
  • the picture data information may be calculated by the GPU and may exist in the shared memory.
  • the picture data information may include, but is not limited to, CRC data, Vertex Number data, Shader ID data, color data, signature data, and the like.
  • S220 Determine, according to the picture data information of the first picture frame and the second picture frame, location information of a difference picture area of the first picture frame and the second picture frame, where the difference picture area indicates the first picture frame and a screen area corresponding to different screen data information between the second picture frames;
  • the terminal may determine location information of the difference picture area of the first picture frame and the second picture frame in the plurality of displayed picture frames according to the first picture frame and the picture data information of the second picture frame.
  • the difference picture area refers to a picture area corresponding to different picture data information between the first picture frame and the second picture frame.
  • the location information can be characterized by coordinate values.
  • the GPU decomposes the first picture frame and the second picture frame into a plurality of tiles, and then compares the tiles of the first picture frame and the second picture frame at the same position, and determines the first picture frame and the second picture frame. If the tiles in the same position are the same, and then determine the different tiles between the first picture frame and the second picture frame, the different tiles represent the difference picture area between the two frames, and the same tile represents the same picture between the two frames. region.
  • the terminal can obtain corresponding position information according to the difference picture area. This position information can be represented using coordinate values.
  • the difference picture area can be composed of a plurality of different tiles, each tile can be regarded as a small rectangle or a small square, and the position information can be expressed as coordinates (x, y) and coordinates (w, h), wherein (x, y) represents the coordinate position of the top left corner of the tile, and (w, h) represents the width and height of the tile.
  • the terminal can determine the refresh area of the picture frame to be displayed by distinguishing the location information of the picture area. For example, the terminal determines an area corresponding to the coordinate value in the picture frame to be displayed according to the coordinate value corresponding to the location information, and then determines a refresh area of the picture frame to be displayed according to the area corresponding to the coordinate value.
  • the refresh area of the picture frame to be displayed can be understood as a partial display or change area of the picture frame to be displayed.
  • the first picture frame further includes a same picture area, where the same picture area refers to a picture area corresponding to the same picture data information between the first picture frame and the second picture frame;
  • the S240 may specifically include:
  • the terminal only draws the refresh area of the display picture frame, and then combines or combines the refresh area and the same picture area of the displayed picture frame to obtain an overall picture of the picture frame to be displayed.
  • the picture of the same picture area can follow the picture displayed by the already displayed picture frame (the first picture frame or the second picture frame) without having to re-render.
  • the overall picture of the picture frame to be displayed is obtained by combining the pictures of the refresh area and the pictures of the same picture area of the displayed picture frame.
  • the first picture frame is composed of the same picture area and the difference picture area, and the same picture area and the difference picture area of the first picture frame may not overlap each other.
  • the same picture area refers to a picture area corresponding to the same picture data information between the first picture frame and the second picture frame.
  • the terminal determines location information of the difference picture area of the first picture frame and the second picture frame, and determines a refresh area of the to-be-displayed frame according to the location information, and only performs the refresh area. Drawing, avoiding repeated drawing, can save power and reduce the burden of system performance.
  • the terminal only draws the refresh area of the picture frame to be displayed.
  • the terminal may draw a refresh area of the frame to be displayed by sending a local drawing instruction to the GPU.
  • the local drawing instruction is used to indicate coordinate information corresponding to the refresh area of the picture frame to be displayed. For example, when the local drawing instruction is partial render (x, y, w, h), the GPU draws coordinates according to the local drawing instruction (x, y, w, h) corresponding refresh area.
  • the partial rendering instruction may be generated by the terminal according to the location information of the difference picture area.
  • the terminal predicts that the location information of the difference picture area is predict(x, y, w, h)
  • the CPU sends a local to the GPU by calling the system's drawing Draw() function and combining predict(x, y, w, h).
  • the instruction part render(x, y, w, h) is drawn so that the GPU draws the refresh area according to the local drawing instruction.
  • the refresh area of the to-be-displayed picture frame is the same as the difference picture area;
  • the refresh area of the picture frame to be displayed includes the difference picture area.
  • the refresh area of the picture frame to be displayed may be the same as the difference picture area of the displayed picture frame (such as the first picture frame or the second picture frame), or may be different, for example, to prevent prediction errors, the picture frame to be displayed
  • the area of the difference picture area may be larger than the area of the picture frame difference screen area, that is, the difference picture area of the picture frame to be displayed covers the difference picture area of the displayed picture frame.
  • “Include” in "the refresh area of the picture frame to be displayed includes the difference picture area” means that the refresh area may be larger than (covering or covering) the difference picture area of the displayed picture frame.
  • the refresh area of the picture frame to be displayed may be the same as the position of the difference picture area of the displayed picture frame, which means that the position information corresponding to the refresh area of the picture frame to be displayed is the same as the position of the difference picture area of the displayed picture frame.
  • the same position is expressed as follows: the coordinates of the refresh area of the picture frame to be displayed are the same as the coordinates of the difference picture area of the displayed picture frame.
  • the predicted picture frame to be displayed will remain unchanged, and the first picture frame and the second picture frame are completely identical.
  • the picture frame to be displayed directly uses the picture that has been displayed in the first frame or the second frame, and does not have to be redrawn.
  • the terminal acquires the screen data information of the first picture frame and the second picture frame of the displayed picture frame; and then determines, according to the picture data information, the difference picture between the first picture frame and the second picture frame.
  • Position information of the area; determining a refresh area of the picture frame to be displayed according to the location information, the refresh area of the picture frame to be displayed is a partial display area of the picture frame to be displayed; drawing a refresh area of the picture frame to be displayed; and then refreshing
  • the area and the same picture area of the displayed picture frame are combined to obtain an overall picture of the picture frame to be displayed; finally, the overall picture of the picture frame to be displayed is displayed, thereby avoiding the drawing of the repeated picture, which can save power consumption and thereby reduce system performance.
  • the burden is provided to reduce the picture data information of the first picture frame and the second picture frame of the displayed picture frame.
  • the picture frame to be displayed may be multiple picture frames that are not displayed, if not There are special cases (for example, the special case may be a touch event input by the user), and the frame to be displayed may be continuously displayed according to the same screen area of the displayed picture frame and the refresh area of the picture frame to be displayed.
  • the special case may be a touch event input by the user
  • the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention.
  • the implementation process constitutes any limitation.
  • the terminal determines location information of the difference picture area of the first picture frame and the second picture frame, and determines a refresh area of the to-be-displayed frame according to the location information, and only performs the refresh area. Drawing, avoiding repeated drawing, can save power and reduce the burden of system performance.
  • the terminal determines that the picture data information in the plurality of displayed picture frames is completely the same, it may be predicted that the subsequent picture frame to be displayed will also be a repetition of the displayed picture frame, that is, the frame to be displayed is predicted.
  • the picture is the same as the picture of the displayed picture frame, so the terminal does not need to control the GPU to perform the drawing operation, and directly displays the picture of the displayed picture frame. In this way, in the case that the subsequent picture frame to be displayed overlaps with the displayed picture frame, the GPU avoids repeated drawing operations, which greatly saves power consumption.
  • the terminal determines location information of the difference picture area of the first picture frame and the second picture frame, and determines a refresh area of the frame to be displayed according to the location information, only The refresh area is drawn to avoid repeated drawing, which saves power and reduces the burden of system performance.
  • the method may further include:
  • the step of acquiring the picture data information of the first picture frame and the second picture frame is performed.
  • the terminal can monitor a plurality of displayed picture frames in a preset time to obtain picture data information of the plurality of displayed picture frames. Then, the terminal determines, according to the screen data information of the plurality of displayed picture frames, whether the location information corresponding to the difference picture area of the plurality of displayed picture frames is the same, and if it is determined that the difference picture area of the plurality of displayed picture frames corresponds to The location information is the same, then the terminal can repeatedly perform the above description of "taking the picture of the first picture frame and the second picture frame" Face data information; " specific steps. In other words, for the case of a plurality of displayed picture frames, if the difference picture areas of the plurality of displayed picture frames are the same, the method of displaying the picture of the embodiment of the present invention can also be applied. .
  • the terminal determines whether the plurality of displayed picture frames are only changed in the difference picture area, and the same picture area does not change. Then, the terminal may determine the refresh area of the picture frame to be displayed according to the position information of the different picture area of the displayed picture frame, and only need to draw the picture corresponding to the refresh area, and the repeated area does not need to be repeated. Thereby saving power.
  • inertia state may be introduced to describe the case of "a plurality of displayed picture frames".
  • the inertia state is specifically: if a plurality of displayed picture frames of the application change in the difference picture area for a period of time, and the same picture area remains unchanged, the screen change of the predicted picture frame is always the refresh area. The picture is changing.
  • the terminal determines that the screen display of the application is in an inertial state, the terminal only refreshes or draws the refresh region of the display picture frame.
  • the preset time may take a fixed value according to the characteristics of the human-machine interaction.
  • the preset time of the mobile phone is set to 5s.
  • the preset time may also take different values according to the current scene. There is no limit to this.
  • the number of the plurality of displayed picture frames may be the preset number of frames, or the number of frames of the plurality of displayed picture frames in the preset time period, which is not limited thereto.
  • the number of frames is not limited.
  • the terminal acquires the screen data information of the 10 picture frames that have been displayed by the application, and determines the difference picture area and the same picture area of the 10 picture frames based on the picture data information in the displayed 10 picture frames. If the difference picture area of the 10 picture frames is the same within the preset time t, it indicates that the applied picture display is in an inertial state. Then, the terminal determines that the refresh area of the 10 picture frames to be displayed is the difference picture area in which 10 picture frames have been displayed, and draws the refresh area, and the refresh area and the displayed 10 picture frames are the same picture.
  • the picture of the area is synthesized to obtain an overall picture of the frame frame to be displayed; or further, if the change of the difference picture area of the currently displayed 10 picture frames has a certain change rule, the terminal may draw the subsequent to be displayed according to the change rule. If the screens of the 10 screen frames are all the same, or if the 10 screens that have been displayed are all the same, it is predicted that the screens of the 10 frames to be displayed are not directly drawn, and the screens of the 10 frames that have been displayed are directly displayed repeatedly. Of course, this is just an example. It is to be understood that the invention is not limited in any way.
  • the method 200 may further include:
  • the terminal may draw or detect an area other than the refresh area in the picture frame to be displayed, and then determine whether the area other than the refresh area in the picture frame to be displayed is the same as or different from the area other than the difference picture area in the first picture frame. . If it is determined that an area other than the refresh area in the picture frame to be displayed is different from the area other than the difference picture area in the first picture frame, the terminal needs to draw and display all areas of the frame to be displayed.
  • the terminal detects the area other than the refresh area in the display picture frame, in order to determine whether the difference picture area predicted according to the displayed picture frame is accurate. If it is detected that the area other than the refresh area in the picture frame to be displayed changes, and the area other than the difference picture area in the first picture frame is different, if the predicted difference picture area is inaccurate, the frame to be displayed needs to be drawn and displayed. The entire area.
  • the terminal detects an area other than the refresh area in the display picture frame, and may send a detection drawing instruction to the GPU (can be sent at intervals or according to a preset time timing), and the detection drawing instruction is used to instruct the GPU to display Areas other than the refresh area in the picture frame are drawn. That is to say, for the determined refresh area, the terminal also needs to be updated or detected. If it is detected that the area other than the refresh area in the picture frame to be displayed changes, then all areas of the frame to be displayed need to be drawn. Of course, if the area other than the refresh area in the picture frame to be displayed does not change, the previous difference picture area can still be used for drawing.
  • the terminal may tentatively or periodically detect whether the screen display of the application is always in an inertial state.
  • the terminal “draws an area other than the refresh area in the to-be-displayed picture frame”, and the purpose is to ensure that the picture outside the refresh area can be accurately displayed when the picture other than the refresh area of the picture frame to be displayed changes. . That is to say, the refresh area in the picture frame to be displayed is predicted according to the displayed picture frame, but it is not excluded that other areas of the picture frame to be displayed may also change, or the predicted refresh area is incorrect. So by increasing the detection The mechanism can improve the method of displaying the picture of the embodiment of the present invention, so that the refreshed area of the frame to be displayed predicted by the present invention is more accurate and real-time. This is very meaningful for practical applications.
  • the method for displaying a picture in the embodiment of the present invention has strong real-time performance and high accuracy.
  • the method of screen display according to the embodiment of the present invention can be used in an animation drawing of a low frame rate, for example, 60 fps.
  • fps is the number of frames per second (Frames Per Second, referred to as "fps").
  • fps the number of frames per second
  • the method 200 may further include:
  • the terminal may respond to the input instruction of the user, thereby drawing all areas of the frame to be displayed according to the input instruction of the user.
  • the input instruction is a Touch event or other usage request.
  • the terminal may stop the currently running event and process the user's input request, thereby ensuring the user's use requirement.
  • FIG. 3 shows a schematic flow chart of a specific example according to an embodiment of the present invention. It should be understood that this is only for the convenience of those skilled in the art to understand the technical solutions of the present invention, and does not constitute a limitation of the present invention.
  • 3 can be understood as a terminal including a CPU and a GPU. Further, the terminal can further include a display system, for example, the terminal is a mobile phone with a touch screen.
  • the CPU may acquire picture data information (for example, frame signature) of a plurality of displayed picture frames from the GPU, and determine a difference picture area and a same picture area of the displayed picture frame according to the picture data information, for example, distinguish the picture.
  • the area is a difference tile, and the same picture area is a repeating tile.
  • the CPU predicts the refresh area of the picture frame to be displayed through the prediction module, and generates a corresponding partial drawing instruction.
  • the local drawing instruction is a function predict(), and the partial drawing instruction is sent to the application, and the application needs to be displayed when displaying the screen through the display system.
  • OpenGI Open Graphics library
  • draw() selects the partial rendering program
  • the GPU sends the partial drawing program to the GPU, so that the GPU only draws the difference tile corresponding. Refresh area.
  • the prediction module can also The difference tile is sent to the smart partial render module to further optimize the difference tile, for example, the square or edge of the difference tile is further modified to ensure that all the difference tiles can be covered.
  • the terminal may terminate the current drawing program in order to respond to the user's needs.
  • the method for displaying a picture in the embodiment of the present invention determines a partial picture by determining a difference picture area and a same picture area of the first picture frame and the second picture frame, and determining location information according to the difference picture area. , to avoid the drawing of repeated pictures, can save power consumption, thereby reducing the burden of system performance.
  • FIG. 4 shows a schematic diagram of another specific example according to an embodiment of the present invention.
  • the left picture shows the interface of the game application of the terminal, in which the area in the dotted line frame is always changed, and the other parts of the picture (ie, ⁇ ) are not changed.
  • the terminal predicts that the area in the frame in the left figure represents the refresh area of the picture frame to be displayed, and the refresh area is multiple
  • the area that is composed, Represents the tile of each change.
  • the picture on the right is a schematic diagram of decomposing the interface into multiple tiles.
  • the refresh area is always In part, the same screen area is ⁇ . Then, the terminal can send a local drawing instruction to the GPU, only on the screen. The area is drawn. Or, optionally, when the terminal determines that the entire screen has not changed, or is a still picture, and does not need to send a drawing instruction, the drawing does not need to be repeated, thereby saving power consumption.
  • FIG. 4 is taken as an example here.
  • the refresh area in FIG. 4 is not necessarily a complete rectangular frame in practice, and may also be an irregular shape composed of several tiles, and the shape of the refresh area. There are no restrictions.
  • the refresh area cannot be obtained from the middle layer (ie, the mobile phone manufacturer developer), and after applying the screen display method of the present invention, the refresh area can be completely obtained from the mobile phone manufacturer developer. In order to save power consumption of the mobile phone.
  • the method for displaying a picture in the embodiment of the present invention determines and displays the refresh area of the picture frame to be displayed by determining the refresh area of the picture frame to be displayed, thereby avoiding the drawing of the repeated picture, thereby saving power consumption and thereby reducing the system.
  • FIG. 5 shows a schematic block diagram of a terminal 500 in accordance with an embodiment of the present invention. As shown in FIG. 5, the terminal 500 includes:
  • the acquiring module 510 is configured to obtain picture data information of the first picture frame and the second picture frame, where the first picture frame and the second picture frame are displayed picture frames that have been displayed on the terminal;
  • the determining module 520 is configured to determine location information of the difference picture area of the first picture frame and the second picture frame according to the first picture frame and the picture data information of the second picture frame acquired by the acquiring module 510, where The difference picture area indicates a picture area corresponding to different picture data information between the first picture frame and the second picture frame;
  • the determining module 520 is further configured to determine, according to the location information, a refresh area of the picture frame to be displayed, where the refresh area of the picture frame to be displayed is a partial display area of the picture frame to be displayed;
  • the processing module 530 is configured to draw and display a refresh area of the picture frame to be displayed.
  • the terminal of the embodiment of the present invention determines location information of the difference picture area of the first picture frame and the second picture frame, and determines a refresh area of the to-be-displayed frame according to the location information, and only draws the refresh area to avoid Repeated picture rendering saves power and reduces the burden of system performance.
  • the obtaining module 510 and the determining module 520 in the terminal may be executed by a CPU in the terminal, the GPU in the terminal of the drawing module 530 is executed, and the display module 540 may It is the display in the terminal.
  • the refresh area of the to-be-displayed picture frame is the same as the difference picture area;
  • the refresh area of the picture frame to be displayed includes the difference picture area.
  • the terminal 500 may further include:
  • a monitoring module configured to: screen data information of the plurality of displayed picture frames
  • the determining module 520 is further configured to determine, according to the picture data information of the plurality of displayed picture frames, whether location information of the difference picture area of the plurality of displayed picture frames is the same;
  • the processing module 530 is configured to perform the step of acquiring the picture data information of the first picture frame and the second picture frame if the location information of the difference picture area of the plurality of displayed picture frames is the same.
  • the first picture frame further includes a same picture area, where the same picture area and the different picture area do not overlap each other, wherein the same picture area refers to the first picture frame and the first picture frame and the first picture frame a screen area corresponding to the same picture data information between the two picture frames;
  • the processing module 530 is specifically configured to:
  • processing module 530 is further configured to:
  • the terminal 500 may further include:
  • a receiving module configured to receive an input instruction of the user
  • the processing module 530 is further configured to draw and display all areas of the frame to be displayed according to the input instruction of the user received by the receiving module.
  • the terminal of the embodiment of the present invention determines and displays the refresh area of the picture frame to be displayed by determining the refresh area of the picture frame to be displayed, thereby avoiding the drawing of the repeated picture, thereby saving power consumption and reducing the burden of system performance. .
  • FIG. 6 illustrates a transposed structure of a screen display according to another embodiment of the present invention, including at least one processor 602 (eg, a CPU), at least one network interface 605 or other communication interface, a memory 606, and at least one communication bus 603. Used to implement connection communication between these terminals.
  • the processor 602 is configured to execute executable modules, such as computer programs, stored in the memory 606.
  • the memory 606 may include a high speed random access memory (RAM), and may also include a non-volatile memory such as at least one disk memory.
  • a communication connection with at least one other network element is achieved by at least one network interface 605 (which may be wired or wireless).
  • the memory 606 stores a program 6061 that can be executed by the processor 602.
  • the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention.
  • the implementation process constitutes any limitation.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention 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.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一种画面显示的方法和终端,该方法包括:获取第一画面帧和第二画面帧的画面数据信息,该第一画面帧和该第二画面帧为已在终端上显示的已显示画面帧(S210);根据该第一画面帧和该第二画面帧的画面数据信息,确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,该区别画面区域表示该第一画面帧与该第二画面帧之间不同画面数据信息对应的画面区域(S220);根据该第一画面帧和该第二画面帧的区别画面区域的位置信息,确定待显示画面帧的刷新区域,该待显示画面帧的刷新区域为该待显示画面帧的局部显示区域(S230);绘制并显示该待显示画面帧的刷新区域(S240)。该画面显示的方法和终端,能够节省功耗。

Description

画面显示的方法和终端 技术领域
本发明涉及图形处理领域,具体地,尤其涉及画面显示的方法和终端。
背景技术
随着触屏类终端(例如移动设备)的广泛普及,游戏类或画面显示类的应用(例如,各类动画游戏,3D画面软件等)受到更多用户的喜爱。但是,终端在运行游戏类或画面显示类的应用时,往往需要显示大量的画面帧。终端在绘制显示画面帧时需要调用图形处理器(Graphics Processing Unit,简称为“GPU”)、中央处理器(Central Processing Unit,简称为“CPU”)、显示系统等多个组件,功耗较高。
发明内容
本发明实施例提供了一种画面显示的方法和终端,能够节省功耗。
第一方面,提供了一种画面显示的方法,包括:
获取第一画面帧和第二画面帧的画面数据信息,所述第一画面帧和所述第二画面帧为已在终端上显示的已显示画面帧;
根据所述第一画面帧和所述第二画面帧的画面数据信息,确定所述第一画面帧和所述第二画面帧的区别画面区域的位置信息,所述区别画面区域表示所述第一画面帧与所述第二画面帧之间不同画面数据信息对应的画面区域;
根据所述第一画面帧和所述第二画面帧的区别画面区域的位置信息,确定待显示画面帧的刷新区域,所述待显示画面帧的刷新区域为所述待显示画面帧的局部显示区域;
绘制并显示所述待显示画面帧的刷新区域。
本发明实施例的画面显示的方法,终端通过确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,并根据该位置信息确定待显示帧的刷新区域,仅对该刷新区域进行绘制,避免了重复绘图,能够节省功耗。
画面数据信息为应用显示画面帧时所需的数据信息。画面数据信息可以包括但不限于CRC数据、Vertex Number数据、Shader ID数据、color数据、 signature数据等。
可选地,在本发明实施例中,该待显示画面帧的刷新区域与该区别画面区域相同;或者,该待显示画面帧的刷新区域包括该区别画面区域。
待显示画面帧的刷新区域与区别画面区域相同,是指:刷新区域与区别画面区域对应的位置信息相同,比如坐标相同。
待显示画面帧的刷新区域包括区别画面区域,是指:刷新区域大于或者覆盖区别画面区域。
在本发明实施例中,GPU的画面绘制方式可以为基于方格tile绘制方式,或者基于像素pixel绘制方式,或者其它合理的绘制方式,对此不作限定。
可选地,在一些可能的实现方式中,在该获取第一画面帧和第二画面帧的画面数据信息之前,该方法还包括:
监测多个该已显示画面帧的画面数据信息;
根据多个该已显示画面帧的画面数据信息,确定该多个已显示画面帧的区别画面区域的位置信息是否相同;
如果该多个已显示画面帧的区别画面区域的位置信息相同,则执行该获取第一画面帧和第二画面帧的画面数据信息步骤。
终端通过监测多个已显示画面帧的画面数据信息,然后判断该多个已显示画面帧的区别画面区域对应的位置信息是否是相同的,如果区别画面区域对应的位置信息相同,那么可以执行前文“获取第一画面和第二画面帧的画面数据信息步骤”,即根据多个已显示画面帧的区别画面区域的位置信息确定待显示画面帧的刷新区域。这样,如果预设时间内多个已显示画面帧的区别画面区域相同,那么终端预测应用的画面显示处于惯性状态(即后续待显示画面帧的发生变化的区域均为刷新区域)。其中,后续待显示画面帧的刷新区域与多个已显示画面帧的区别画面区域相同。
可选地,多个已显示画面帧的个数为预设帧数,或者预设时间段的多个已显示画面帧的帧数。
在一些可能的实现方式中,该第一画面帧还包括相同画面区域,该相同画面区域是指在该第一画面帧和该第二画面帧之间相同画面数据信息对应的画面区域;
其中,绘制并显示该待显示画面帧的刷新区域,包括:
绘制该待显示画面帧的刷新区域;
将该待显示画面帧的刷新区域和该相同画面区域合成,生成该待显示画面帧。
终端在获取到待显示画面帧的刷新区域后,需要对待显示画面帧的刷新区域进行绘制,然后将刷新区域与第一画面帧中的相同画面区域进行合成,生成待显示画面帧的整体画面,最后显示待显示画面帧的整体画面,避免了第一画面帧中的相同画面区域的绘制,节省了功耗。
在一些可能的实现方式中,该方法还包括:
绘制该待显示画面帧中刷新区域以外的区域;
确定该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域是否相同;
如果该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域不同,则绘制并显示该待显示画面帧的全部区域。
终端可以对待显示画面帧中刷新区域以外的区域进行定时或间隔绘制,然后判断刷新区域以外的区域是否与第一画面帧中区别画面区域以为的区域是否相同。如果判断出该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域不同,则需要对待显示画面帧的全部区域进行绘制并显示;如果判断出该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域相同,则仍然只绘制待显示画面帧的刷新区域。
在具体实现时,终端可以向GPU发送检测绘制指令,该检测绘制指令用于指示GPU绘制该待显示画面帧中刷新区域以外的区域。
在一些可能的实现方式中,该方法还包括:
接收用户的输入指令;
根据该用户的输入指令,绘制并显示待显示画面帧的全部区域。
终端通过接收用户的输入指令,例如touch事件,根据用户的输入指令,对待显示画面帧的全部区域进行绘制。
在一些可能的实现方式中,如果终端确定该多个已显示画面帧中每一帧的画面数据信息完全相同时,则可以预测待显示画面帧的画面数据信息也是与该已显示画面帧的画面数据信息完全相同的,然后直接根据该已显示画面帧的画面特征信息进行画面显示,无需进行重复绘制,从而节省了功耗。
第二方面,提供了一种终端,用于执行上述第一方面或第一方面的任意 可能的实现方式中的方法。具体地,该终端包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,提供了一种终端,该终端包括中央处理器CPU和图形处理器GPU,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该终端包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第四方面,提供了一种终端,该终端包括:接收器、发送器、存储器、处理器和总线系统。其中,该接收器、该发送器、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制接收器接收信号,并控制发送器发送信号,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第五方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明实施例的一种终端的结构示意图;
图1B是根据图形处理器绘图的应用场景示意图;
图1C是图形处理器的tile-based渲染示意图;
图1D是一个画面显示的例子的示意图;
图2是根据本发明实施例的画面显示的方法的示意性流程图;
图3是根据本发明实施例的一个具体例子的示意性流程图;
图4是根据本发明实施例的另一个具体例子的示意图;
图5是根据本发明实施例的终端的示意性框图;
图6是根据本发明实施例的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的技术方案,可以应用于终端(Terminal)设备中,终端设备可以是但不限于移动台(MS,Mobile Station)、移动终端(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portable equipment)等,可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动终端,它们与无线接入网交换语言和/或数据。或者,该终端也可以是各类带有触摸屏的产品,例如平板电脑,触屏手机,触屏设备,手机终端等,对此不作限制。为了描述方便,下文以终端为例进行描述。
在本发明实施例中,终端设备在操作系统中实现对画面的图像数据进行处理,其中该操作系统可以为苹果操作系统(iPhone Operating System,简称iOS)、安卓(Android)、微软(Windows)、塞班(Symbian)、黑莓操作系统(Black Berry Operating System)等操作系统。GPU的画面绘制技术包括多种,本申请不作具体限制。
图1A示出了根据本发明实施例的一种终端的结构示意图。如图1A所示,终端的硬件层可以包括图形处理器(Graphics Processing Unit,简称为“GPU”)和中央处理器(Central Processing Unit,简称为“CPU”),当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如液晶显示器(Liquid Crystal Display,简称为“LCD”)、阴极射线管(Cathode Ray Tube,简称为“CRT”)、全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如Android等)以及一些应用程序。核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现CPU、GPU图形处理的图形引擎(Graphics Engine)等。图形引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)、嵌入式图像库(Embedded Graphics Library,简称EGL)等。除此之外,操作系统还包括 驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括图形服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等;图形服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render Script等。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等。
在终端中安装应用程序之后,会生成用于画面显示的图像资源文件。图像资源中可以包括用于生成该应用程序的显示画面的各种数据信息,例如显示画面的各个图层的显示内容、类型、尺寸、绘图素材等信息。
为了在显示屏显示应用程序的画面,终端设备需要调用GPU进行相关画面的数据的处理,并执行绘制指令。下面结合图1B描述终端进行内部绘图流程时所需要的环节。图1B示出了根据GPU绘图的应用场景示意图。图1B的流程可以在图1A示出的终端设备中实现。如图1B所示,终端在运行应用程序(app)时,当需要在显示系统进行画面显示时,应用通过驱动(Driver)将画面显示任务下发给作业描述(Job Descriptors),作业描述将画面显示任务下发给作业管理(Job Manager),然后作业管理将画面显示的任务发送至着色器(Shader Cores)。另外,驱动或作业描述将画面显示任务对应的数据信息(可以理解为输入数据Input Data)放入共享内存中。着色器从共享内存中获取数据信息,结合作业管理发送的画面显示任务对数据信息进行处理(例如,计算或转换)。在对数据信息进行处理的过程中会产生中间数据(Intermediate Data),着色器可以将中间数据暂存入共享内存中。并且,中间数据是双向的,即着色器在有需要时也可以从共享内存中重新获取中间数据。着色器在处理完数据信息后,能够得到画面显示任务的完整数据(即输出数据Output Data),即合成后的完整画面帧的数据。当然,输出数据也会被置于共享内存中。最后,画面显示系统(Display System)根据该输出数据对完整画面帧进行显示。画面帧的数据包括颜色数据(Color data)和特征数据(signature data),具体地,特征数据可以包括但不限于循环冗余校验码(Cyclic Redundancy Check,简称为“CRC”)数据,顶点数据(Vertex Number),着色标识(Shader ID)等。特征数据被存储于共享内存中,可以被CPU和/或GPU访问。
图1C示出了GPU的tile-based渲染示意图。在图1C中,GPU将应用 的画面分解为多个方格(tile),然后对多个tile分别进行计算并同步绘图,CPU根据该多个tile数据,显示完整的一帧画面。如图1C所示,GPU对tile的处理流程包括:获取每个tile的几何数据(Geometry),根据几何数据进行顶点渲染(Vertex Shader),将顶点渲染后的几何数据(例如三角形数据列表Triangle Lists,每个方格one per tile数据)暂存入共享内存,然后读取这些三角形数据(例如,包括Triangle Lists,one per tile),根据读取到的三角形数据进行具体计算,计算过程包括:对三角形数据进行光栅化处理(Rasterizer)、片段着色(Fragment shader)、数据混合(Blender),然后将计算后的三角形数据存入本地缓存(例如,方格缓存Tile Buffer)中。其中,计算后的三角形数据即为每个tile的tile数据。
具体地,GPU将画面分解为多个tile,并行计算得到每个tile的tile数据,例如颜色数据(color data)、特征数据(signature data)(其中,最常见的特征数据为CRC数据)等,并将这些tile数据放至图1B中的共享内存(shared memory),以便于GPU和CPU能够共享画面的tile数据。CPU根据该画面每个tile的tile数据,控制GPU执行渲染指令,渲染生成完整的画面帧。
无论是在传统的画面绘制显示过程还是在tile分割渲染绘制过程,GPU对每个画面都要计算整个画面的数据,当运行应用需要绘制的画面数据量较大时,GPU和CPU的计算量均较大,造成终端的功耗较高。
但对于应用的画面显示过程,常常存在一段时间内应用的显示画面基本相同的情况。下面将结合图1D进行详细说明。例如,图1D中示出了一个画面显示的例子的示意图。如图1D所示,应用在进行倒计时提醒时,会在画面中显示用于倒计时的数字。在该应用显示的第一帧至第四帧的画面中,只有数字显示区域在变化,而数字显示区域以外的区域未发生变化,那么数字显示区域即为第一帧至第四帧的区别画面区域,数字显示区域外的区域为第一帧至第四帧的相同画面区域。区别画面区域即图中倒计时数字(3、2、1、0)所在的区域。换言之,即在一段时间内,第N帧画面和第N+1帧画面的主要区域均相同,只有小部分区域不同。现有技术在绘制第一帧到第四帧的画面时,会对每一帧的画面进行全部绘制,而不在乎它们之间是否有相同画面区域。
基于此,本发明提出一种画面显示的方法,当一段时间内,应用的画面 显示处于惯性状态时,即在一段时间内应用的显示画面仅有区别画面区域发生变化,该区别画面区域以外的其他区域保持不变时,根据该区别画面区域的位置信息,确定下一待显示画面帧的刷新区域,并在绘制该应用下一待显示画面帧的画面时,仅对该刷新区域进行绘制。由于在绘制应用下一帧待显示的画面时,没有进行全部区域的绘制,节省了终端CPU和/或GPU的计算量,从而降低了终端的功耗。
具体地,终端对应用的多个画面帧进行监测,根据多个已显示画面帧的区别画面区域和相同画面区域,预测下一待显示画面帧的刷新区域,然后在绘图时仅对刷新区域进行绘制,随后将刷新区域的画面和之前已显示画面帧的相同画面区域的画面进行合成,从而得到下一待显示帧的整体画面,最终显示该整体画面。
换言之,本发明旨在解决重复绘图时引起的浪费功耗问题,通过判断前后帧的画面是否有重复的部分,然后确定是否需要绘制整幅画面,最终实现最大程度得减少重复绘图,从而节省功耗。
为了更清楚得理解本发明的技术方案,这里将结合图1D中的例子进行描述。例如,将本发明的方案应用到图1D中,那么终端通过监测应用的第一帧、第二帧、第三帧的画面数据信息,能够获知这三帧的变化部分均为图中的数字显示区域,该数字显示区域即为区别画面区域,而数字显示区域以外的其他区域是没有变化的,则数字显示区域以外的区域为相同画面区域。应用本发明的技术方案,可以根据前三帧的画面数据信息,预测出第四帧画面的刷新区域以及相同画面区域,在该例中,预测出区别画面区域即数字显示区域。这样,终端获取前三帧的画面中数字显示区域的位置信息,然后根据前三帧的画面中数字显示区域的位置信息,绘制第四帧画面中对应的刷新区域,即第四帧画面中的数字显示区域。最后,终端将新绘制的第四帧画面的数字显示区域与前三帧画面的相同画面区域进行合成,生成第四帧的整体画面,并对该整体画面进行显示。这样带来的好处是:终端在第四帧画面的绘图过程中只绘制了一小块的数字显示区域,从而避免了因为重复绘制不变的区域而浪费功耗。而这对于一些游戏类或3D画面显示类的应用来说,是非常有必要的,能够节省大量的功耗。
应理解,GPU进行绘制时,可以采用图1C中的画面分解tile方式,也可以采用画面像素(pixel)采样方式,或者其它合理的方式,对此不作限定。
下面将结合图2详细描述根据本发明实施例的画面显示的方法。图2示出了根据本发明实施例的画面显示的方法200的示意性流程图。该方法可由终端或包含CPU的终端执行,该终端还可以包括GPU,如图2所示,该方法200包括:
S210,获取第一画面帧和第二画面帧的画面数据信息,该第一画面帧和第二画面帧为已在终端上显示的已显示画面帧;
终端可以获取已显示画面帧的画面数据信息,例如获取已显示画面帧中的第一画面帧和第二画面帧的画面数据信息。画面数据信息为应用显示画面帧时所需的数据信息,该画面数据信息可以理解为前文图1B中的数据信息。画面数据信息可以是GPU计算得到的,可存在于共享内存中。例如,画面数据信息可以包括但不限于CRC数据、Vertex Number数据、Shader ID数据、color数据、signature数据等。
S220,根据该第一画面帧和该第二画面帧的画面数据信息,确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,该区别画面区域表示该第一画面帧与该第二画面帧之间不同画面数据信息对应的画面区域;
终端可以根据第一画面帧和该第二画面帧的画面数据信息,确定出该多个已显示画面帧中第一画面帧和第二画面帧的区别画面区域的位置信息。区别画面区域是指第一画面帧和第二画面帧之间不同画面数据信息对应的画面区域。其中,位置信息可以采用坐标值表征。
具体例如,GPU将第一画面帧和第二画面帧分别分解成多个tile,然后将第一画面帧和第二画面帧相同位置的tile进行比对,判断第一画面帧和第二画面帧中相同位置的tile是否相同,然后确定出第一画面帧和第二画面帧之间的不同tile,则不同tile代表两帧之间的区别画面区域,相同的tile代表两帧之间的相同画面区域。另外,终端在确定区别画面区域后,能够根据区别画面区域得到对应的位置信息。该位置信息可使用坐标值表示。比如,区别画面区域可以由多个不同的tile组成,每个tile可以看作是一个小矩形或小方格,其位置信息可表示为坐标(x,y)和坐标(w,h),其中,(x,y)表示tile的左上角顶点所在的坐标位置,(w,h)表示tile的宽和高。
S230,根据该第一画面帧和该第二画面帧的区别画面区域的位置信息,确定待显示画面帧的刷新区域,该待显示画面帧的刷新区域为该待显示画面帧的局部显示区域;
终端通过区别画面区域的位置信息,可以确定出待显示画面帧的刷新区域。例如,终端根据位置信息对应的坐标值,在待显示画面帧中确定该坐标值对应的区域,然后根据坐标值对应的区域可以确定待显示画面帧的刷新区域。待显示画面帧的刷新区域可以理解为待显示画面帧的局部显示或变化区域。
S240,绘制并显示该待显示画面帧的刷新区域。
可选地,该第一画面帧还包括相同画面区域,该相同画面区域是指该第一画面帧与该第二画面帧之间相同画面数据信息对应的画面区域;
其中,S240可以具体包括:
绘制该待显示画面帧的刷新区域;
将该待显示画面帧的刷新区域和该相同画面区域合成,生成该待显示画面帧。
具体而言,终端仅对待显示画面帧的刷新区域进行绘制,然后将刷新区域和已显示画面帧的相同画面区域进行合成或组合,得到待显示画面帧的整体画面。这里,相同画面区域的画面可以沿用已显示画面帧(第一画面帧或第二画面帧)显示过的画面,而不必重新绘制。换言之,待显示画面帧的整体画面是根据刷新区域的画面以及已显示画面帧的相同画面区域的画面合并后得到的。
在本发明实施例中,第一画面帧由相同画面区域和该区别画面区域组成,该第一画面帧的该相同画面区域和该区别画面区域可以相互不重叠。其中,该相同画面区域是指该第一画面帧与该第二画面帧之间相同画面数据信息对应的画面区域。
因此,在本发明实施例中,终端通过确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,并根据该位置信息确定待显示帧的刷新区域,仅对该刷新区域进行绘制,避免了重复绘图,能够节省功耗,从而降低系统性能的负担。
在本发明实施例中,终端仅对该待显示画面帧的刷新区域进行绘制。在具体实现时,终端可以通过向GPU发送局部绘制指令来绘制待显示帧的刷新区域。该局部绘制指令用于指示绘制待显示画面帧的刷新区域对应的坐标信息,例如,当局部绘制指令为partial render(x,y,w,h),GPU根据该局部绘制指令绘制坐标(x,y,w,h)对应的刷新区域。
这里,局部绘制指令可以是终端根据区别画面区域的位置信息生成的。例如,当终端预测区别画面区域的位置信息为predict(x,y,w,h),CPU通过调用系统的绘图Draw()函数,并结合predict(x,y,w,h)向GPU发送局部绘制指令partial render(x,y,w,h),以便于GPU根据该局部绘制指令进行绘制刷新区域。
可选地,在本发明实施例中,该待显示画面帧的刷新区域与该区别画面区域相同;或者,
该待显示画面帧的刷新区域包括该区别画面区域。
具体而言,待显示画面帧的刷新区域可以和已显示画面帧(如第一画面帧或第二画面帧)的区别画面区域位置相同,也可以不同,例如为了防止预测失误,待显示画面帧的区别画面区域的面积可以大于已显示画面帧区别画面区域的面积,即待显示画面帧的区别画面区域覆盖已显示画面帧的区别画面区域。“待显示画面帧的刷新区域包括该区别画面区域”中的“包括”是指:刷新区域可以大于(覆盖或涵盖)已显示画面帧的区别画面区域。
这里,待显示画面帧的刷新区域可以和已显示画面帧的区别画面区域位置相同,是指:待显示画面帧的刷新区域对应的位置信息与已显示画面帧的区别画面区域的位置是相同的。例如,位置相同具体表现为:待显示画面帧的刷新区域的坐标,与已显示画面帧的区别画面区域的坐标是相同的。
另外,如果多个已显示画面帧没有发生变化(例如第一画面帧和第二画面帧完全相同),则预测待显示画面帧也将保持不变,与第一画面帧和第二画面帧完全相同,此时待显示画面帧直接使用第一帧或第二帧已经显示过的画面,不必重新绘制。
在本发明实施例中,终端通过获取已显示画面帧第一画面帧和第二画面帧的画面数据信息;然后根据该画面数据信息,确定该第一画面帧和该第二画面帧的区别画面区域的位置信息;根据该位置信息确定待显示画面帧的刷新区域,该待显示画面帧的刷新区域为该待显示画面帧的局部显示区域;绘制待显示画面帧的刷新区域;然后对该刷新区域和该已显示画面帧的相同画面区域进行合成,得到待显示画面帧的整体画面;最后显示该待显示画面帧的整体画面,避免了重复画面的绘制,能够节省功耗,从而降低系统性能的负担。
需要说明的是,待显示画面帧可以是多个没有被显示的画面帧,如果没 有特殊情况(例如,特殊情况可以是用户输入的touch事件),待显示画面帧都可以按照已显示画面帧的相同画面区域和待显示画面帧的刷新区域来持续显示。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,在本发明实施例中,终端通过确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,并根据该位置信息确定待显示帧的刷新区域,仅对该刷新区域进行绘制,避免了重复绘图,能够节省功耗,从而降低系统性能的负担。
应理解,如果终端在判断出该多个已显示画面帧中的画面数据信息完全相同时,那么可以预测后续的待显示画面帧也将是已显示画面帧的重复,即预测到待显示帧的画面与已显示画面帧的画面是相同的,那么终端无需再控制GPU进行绘图操作,直接显示已显示画面帧的画面即可。这样,在后续的待显示画面帧与已显示画面帧重复的情况下,GPU避免了重复绘图作业,大大的节省了功耗。
因此,在本发明实施例的画面显示的方法,终端通过确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,并根据该位置信息确定待显示帧的刷新区域,仅对该刷新区域进行绘制,避免了重复绘图,能够节省功耗,从而降低系统性能的负担。
可选地,在S210之前,该方法还可以包括:
监测多个该已显示画面帧的画面数据信息;
根据多个该已显示画面帧的画面数据信息,确定该多个已显示画面帧的区别画面区域的位置信息是否相同;
如果该多个已显示画面帧的区别画面区域的位置信息相同,则执行该获取第一画面帧和第二画面帧的画面数据信息步骤。
具体而言,终端可对预设时间内的多个已显示画面帧进行监测,得到多个已显示画面帧的画面数据信息。然后,终端根据该多个已显示画面帧的画面数据信息,判断该多个已显示画面帧的区别画面区域对应的位置信息是否相同,如果确定该多个已显示画面帧的区别画面区域对应的位置信息是相同的,那么终端可以重复执行前文描述的“获取第一画面帧和第二画面帧的画 面数据信息;…”具体步骤。换句话说,对于多个已显示画面帧的情况,如果多个已显示画面帧的区别画面区域是相同的,也可应用本发明实施例的画面显示的方法。
例如,在预设时间内,终端判断这些多个已显示画面帧是否都只是区别画面区域在发生变化,而相同画面区域不发生变化。那么,终端可以根据多个已显示画面帧的区别画面区域的位置信息,确定待显示画面帧的刷新区域,也只需要绘制该刷新区域对应的画面即可,对于重复的区域不必再重复绘制,从而节省功耗。
在本发明实施例中,可以引入“惯性状态”一词来描述“多个已显示画面帧”的情况。惯性状态具体即:如果在一段时间内,应用的多个已显示画面帧都是在区别画面区域发生变化,而相同画面区域一直不变,则预测待显示画面帧的屏幕变化一直是刷新区域的画面在发生变化。当终端确定应用的画面显示处于惯性状态时,终端只对待显示画面帧的刷新区域进行刷新或者绘制。
在本发明实施例中,预设时间可以根据人机交互的特点取固定值,例如,手机设置该预设时间为5s,可选地,该预设时间也可以根据当前的场景取不同的值,对此不作限定。
本发明实施例中,多个已显示画面帧的个数可以是预设帧数,或者是预设时间段内多个已显示画面帧的帧数,对此不作限定。当然,对于帧数的数目多少也是不限定的。
例如,终端获取应用已显示过的10个画面帧的画面数据信息,并根据该已显示过的10个画面帧中的画面数据信息,确定出10个画面帧的区别画面区域和相同画面区域。如果在预设时间t内,该10个画面帧的区别画面区域是相同的,则说明应用的画面显示处于惯性状态。然后,终端确定出后续待显示10个画面帧的刷新区域即为已显示10个画面帧的区别画面区域,并对刷新区域进行绘制,将刷新区域与已显示过的10个画面帧的相同画面区域的画面进行合成,得到后续待显示画面帧的整体画面;或者进一步地,如果当前已显示过的10个画面帧的区别画面区域的变化具有一定变化规律,终端可以根据变化规律绘制后续待显示10个画面帧的画面;或者是当前已显示过的10帧画面全部相同时,则预测后续待显示10个画面帧的画面不作绘制而直接重复显示已显示过的10个帧的画面。当然,这只是举例进行说 明,并不对本发明构成任何限定。
可选地,作为一个实施例,该方法200还可以包括:
绘制该待显示画面帧中刷新区域以外的区域;
确定该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域是否相同;
如果该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域不同,则绘制并显示该待显示帧的全部区域。
具体而言,终端可以对待显示画面帧中刷新区域以外的区域进行绘制或检测,然后判断待显示画面帧中刷新区域以外的区域与第一画面帧中区别画面区域以外的区域是否相同或发生变化。如果判断出待显示画面帧中刷新区域以外的区域,与第一画面帧中区别画面区域以外的区域不同,那么终端需要对待显示帧的全部区域进行绘制并显示。
在本发明实施例中,终端对待显示画面帧中刷新区域以外的区域进行检测,是为了判断根据已显示画面帧预测的区别画面区域是否准确。如果检测出待显示画面帧中刷新区域以外的区域发生了变化,与第一画面帧中区别画面区域以外的区域不同,那么说明预测的区别画面区域不准确,则需要绘制并显示该待显示帧的全部区域。
在具体实现时,终端对待显示画面帧中刷新区域以外的区域进行检测,可以通过向GPU发送检测绘制指令(可以间隔发送或按照预设时间定时发送),该检测绘制指令用于指示GPU对待显示画面帧中刷新区域以外的区域进行绘制。也就是说,对于确定的刷新区域,终端也是需要更新或者检测的,只要检测到待显示画面帧中刷新区域以外的区域发生变化,那么需要对待显示帧的全部区域进行绘制。当然,如果待显示画面帧中刷新区域以外的区域没有发生变化,则仍然可以沿用之前的区别画面区域进行绘制。
在本发明实施例中,如果应用的画面显示处于惯性状态,那么终端可以试探性地或者定时检测该应用的画面显示是否一直处于惯性状态。
在本发明实施例中,终端“绘制该待显示画面帧中刷新区域以外的区域”,目的在于保证待显示画面帧的刷新区域以外的画面发生变化时,能够对刷新区域外的画面进行准确显示。也就是说,该待显示画面帧中的刷新区域是根据已显示画面帧来预测的,但是不排除可能系统待显示画面帧的其他区域也会有发生变化,或者预测的刷新区域有误的情况,因此通过增加检测 机制,能够更完善本发明实施例的画面显示的方法,使得本发明预测的待显示帧的刷新区域更加准确和实时。这个对于实际应用是非常有意义的。
因此,本发明实施例的画面显示的方法,实时性较强,准确度较高。并且,由于本发明实施例的画面显示的方法对系统性能的负担极小,因此可以在低帧率的动画绘图中使用,例如60fps。其中,fps即每秒传输帧数(Frames Per Second,简称为“fps”)。例如,触屏机在安卓系统中运行大型3D画面游戏时,使用本发明实施例的画面显示的方法能够明显节省功耗,用户体验较好。
可选地,在本发明实施例中,该方法200还可以包括:
接收用户的输入指令;
根据该用户的输入指令,绘制并显示待显示画面帧的全部区域。
具体而言,如果终端接收到用户的输入指令时,可以响应用户的输入指令,从而根据用户的输入指令绘制待显示画面帧的全部区域。例如,输入指令为Touch事件或其他使用请求。或者,在收到用户的输入指令后,终端可以停止当前运行的事件,而处理用户的输入请求,从而保证了用户的使用需求。
下面结合图3的根据本发明实施例的具体例子的示意性流程图进行说明。图3示出了根据本发明实施例的一个具体例子的示意性流程图。应理解,这只是为了方便本领域技术人员理解本发明的技术方案,并不构成对本发明的限制。图3可以理解为包括CPU和GPU的终端,进一步地,该终端还可以包括显示系统,例如,该终端为具有触摸屏的手机。
如图3所示,CPU可以从GPU获取多个已显示画面帧的画面数据信息(例如,frame signature),根据画面数据信息确定出已显示画面帧的区别画面区域和相同画面区域,例如区别画面区域为差异tile,相同画面区域为重复tile。CPU通过预测模块预测出待显示画面帧的刷新区域,并生成相应的局部绘制指令,例如,局部绘制指令为函数predict(),将局部绘制指令发送给应用,应用在通过显示系统显示画面时需调用开放图形库(OpenGI)接口,OpenGI根据局部绘制指令调用绘图函数,例如,draw(),选择局部绘制程序(partial Render),然后将局部绘制程序发送给GPU,以便于GPU仅绘制差异tile对应的刷新区域。另外对于相同画面区域,GPU不会接到全部绘制程序(full Render),从而能够最大程度得节省功耗。可选地,预测模块还可以 将差异tile发送到优化局部绘图模块(smart partial Render)中,对差异tile进行进一步优化,比如对于差异tile所在的方格或者边缘进行进一步得修正,保证能够覆盖到所有的差异tile。可选地,当应用接收到用户输入指令时,终端可以终止当前绘图程序,以便于响应用户的需求。
因此,本发明实施例的画面显示的方法,通过确定该第一画面帧和该第二画面帧的区别画面区域和相同画面区域,并根据该区别画面区域确定位置信息,从而绘制对应的局部画面,避免了重复画面的绘制,能够节省功耗,从而降低系统性能的负担。
为了更清楚得描述本发明实施例的画面显示的方法,下面还将结合图4中根据本发明实施例的例子进行描述。图4示出了根据本发明实施例的另一个具体例子的示意图。如图4所示,左图为终端的游戏应用的界面,该界面中虚线框内的区域一直在发生改变,而画面中其他部分(即□)是不改变的。终端预测出左图中框内的区域表示待显示画面帧的刷新区域,该刷新区域为多个
Figure PCTCN2016087996-appb-000001
组成的区域,
Figure PCTCN2016087996-appb-000002
表示每个变化的tile。右图为将该界面分解成多个tile的示意图,如果在持续预设时间内,刷新区域一直是
Figure PCTCN2016087996-appb-000003
部分,相同画面区域是□。那么,终端可以向GPU发送局部绘制指令,仅对屏幕中的
Figure PCTCN2016087996-appb-000004
区域进行绘制。或者,可选地,当终端判断整个屏幕一直没有发生变化,或者是静止画面,无需发送绘制指令,则不需要重复进行绘制,从而节省了功耗。
应理解,这里仅以图4为例进行说明,图4中的刷新区域在实际中不一定是完整的一个矩形框,也有可能是其中几个tile组成的不规则的形状,对刷新区域的形状并不作限制。
在图4的现有技术中,该刷新区域是不能从中间层(即手机厂家开发者)获得的,而应用本发明的画面显示的方法后,该刷新区域可以完全从手机厂家开发者获得,以便于节省手机的功耗。
因此,本发明实施例的画面显示的方法,通过确定待显示画面帧的刷新区域,绘制并显示所述待显示画面帧的刷新区域,避免了重复画面的绘制,能够节省功耗,从而降低系统性能的负担。
上文结合图1至图4详细描述了根据本发明实施例的画面显示的方法,下面将结合图5描述根据本发明实施例的画面显示的终端500。
图5示出了根据本发明实施例的终端500的示意性框图。如图5所示,该终端500包括:
获取模块510,用于获取第一画面帧和第二画面帧的画面数据信息,该第一画面帧和该第二画面帧为已在终端上显示的已显示画面帧;
确定模块520,用于根据该获取模块510获取的该第一画面帧和该第二画面帧的画面数据信息,确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,该区别画面区域表示该第一画面帧与该第二画面帧之间不同画面数据信息对应的画面区域;
该确定模块520还用于,根据该位置信息,确定待显示画面帧的刷新区域,该待显示画面帧的刷新区域为该待显示画面帧的局部显示区域;
处理模块530,用于绘制并显示该待显示画面帧的刷新区域。
本发明实施例的终端,通过确定该第一画面帧和该第二画面帧的区别画面区域的位置信息,并根据该位置信息确定待显示帧的刷新区域,仅对该刷新区域进行绘制,避免了重复画面的绘制,能够节省功耗,从而降低系统性能的负担。
在本发明实施例中,该终端(例如手机或其他触摸屏设备)中的获取模块510和确定模块520可以是终端中的CPU来执行,绘制模块530终端中的GPU来执行,和显示模块540可以是终端中的显示屏。
可选地,该待显示画面帧的刷新区域与该区别画面区域相同;或者,
该待显示画面帧的刷新区域包括该区别画面区域。
可选地,该终端500还可以包括:
监测模块,用于多个该已显示画面帧的画面数据信息;
该确定模块520还用于,根据多个该已显示画面帧的画面数据信息,确定该多个已显示画面帧的区别画面区域的位置信息是否相同;
其中,该处理模块530用于,如果该多个已显示画面帧的区别画面区域的位置信息相同,则执行该获取第一画面帧和第二画面帧的画面数据信息步骤。
可选地,该第一画面帧还包括相同画面区域,该相同画面区域和该区别画面区域相互不重叠,其中,该相同画面区域是指该第一画面帧和该第一画面帧和该第二画面帧之间相同画面数据信息对应的画面区域;
该处理模块530具体用于:
绘制该待显示画面帧的刷新区域;
将该待显示画面帧的刷新区域和该第一画面帧的该相同画面区域合成, 生成该待显示画面帧。
可选地,该处理模块530还用于:
绘制该待显示画面帧中刷新区域以外的区域;
确定该待显示画面帧中刷新区域以外的区域与该第一画面帧中的该区别画面区域以外的区域是否相同;
如果该待显示画面帧中刷新区域以外的区域与该第一画面帧中区别画面区域以外的区域不同,则绘制并显示该待显示帧的全部区域。
可选地,该终端500还可以包括:
接收模块,用于接收用户的输入指令;
该处理模块530,还用于根据该接收模块接收的该用户的输入指令,绘制并显示待显示画面帧的全部区域。
因此,本发明实施例的终端,通过确定待显示画面帧的刷新区域,绘制并显示所述待显示画面帧的刷新区域,避免了重复画面的绘制,能够节省功耗,从而降低系统性能的负担。
图6示出了本发明另一个实施例提供的画面显示的转置结构,包括至少一个处理器602(例如CPU),至少一个网络接口605或者其他通信接口,存储器606,和至少一个通信总线603,用于实现这些终端之间的连接通信。处理器602用于执行存储器606中存储的可执行模块,例如计算机程序。存储器606可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口605(可以是有线或者无线)实现与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器606存储了程序6061,程序6061可以被处理器602执行。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (13)

  1. 一种画面显示的方法,其特征在于,包括:
    获取第一画面帧和第二画面帧的画面数据信息,所述第一画面帧和所述第二画面帧为已在终端上显示的已显示画面帧;
    根据所述第一画面帧和所述第二画面帧的画面数据信息,确定所述第一画面帧和所述第二画面帧的区别画面区域的位置信息,所述区别画面区域表示所述第一画面帧与所述第二画面帧之间不同画面数据信息对应的画面区域;
    根据所述第一画面帧和所述第二画面帧的区别画面区域的位置信息,确定待显示画面帧的刷新区域,所述待显示画面帧的刷新区域为所述待显示画面帧的局部显示区域;
    绘制并显示所述待显示画面帧的刷新区域。
  2. 根据权利要求1所述的方法,其特征在于,所述待显示画面帧的刷新区域与所述区别画面区域相同;或者,
    所述待显示画面帧的刷新区域包括所述区别画面区域。
  3. 根据权利要求1或2所述的方法,其特征在于,在所述获取第一画面帧和第二画面帧的画面数据信息之前,所述方法还包括:
    监测多个所述已显示画面帧的画面数据信息;
    根据多个所述已显示画面帧的画面数据信息,确定所述多个已显示画面帧的区别画面区域的位置信息是否相同;
    如果所述多个已显示画面帧的区别画面区域的位置信息相同,则执行所述获取第一画面帧和第二画面帧的画面数据信息步骤。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述第一画面帧还包括相同画面区域,所述相同画面区域是指所述第一画面帧与所述第二画面帧之间相同画面数据信息对应的画面区域;
    所述绘制并显示所述待显示画面帧的刷新区域,包括:
    绘制所述待显示画面帧的刷新区域;
    将所述待显示画面帧的刷新区域和所述第一画面帧的相同画面区域合成,生成所述待显示画面帧。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    绘制所述待显示画面帧中刷新区域以外的区域;
    确定所述待显示画面帧中刷新区域以外的区域与所述第一画面帧中区别画面区域以外的区域是否相同;
    如果所述待显示画面帧中刷新区域以外的区域与所述第一画面帧中区别画面区域以外的区域不同,则绘制并显示所述待显示画面帧的全部区域。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    接收用户的输入指令;
    根据所述用户的输入指令,绘制并显示待显示画面帧的全部区域。
  7. 一种终端,其特征在于,包括:
    获取模块,用于获取第一画面帧和第二画面帧的画面数据信息,所述第一画面帧和所述第二画面帧为已在终端上显示的已显示画面帧;
    确定模块,用于根据所述获取模块获取的所述第一画面帧和所述第二画面帧的画面数据信息,确定所述第一画面帧和所述第二画面帧的区别画面区域的位置信息,所述区别画面区域表示所述第一画面帧与所述第二画面帧之间不同画面数据信息对应的画面区域;
    所述确定模块还用于,根据所述位置信息,确定待显示画面帧的刷新区域,所述待显示画面帧的刷新区域为所述待显示画面帧的局部显示区域;
    处理模块,用于绘制并显示所述待显示画面帧的刷新区域。
  8. 根据权利要求7所述的终端,其特征在于,所述待显示画面帧的刷新区域与所述区别画面区域相同;或者,
    所述待显示画面帧的刷新区域包括所述区别画面区域。
  9. 根据权利要求7或8所述的终端,其特征在于,所述终端还包括:
    监测模块,用于多个所述已显示画面帧的画面数据信息;
    所述确定模块还用于,根据多个所述已显示画面帧的画面数据信息,确定所述多个已显示画面帧的区别画面区域的位置信息是否相同;
    所述处理模块还用于,如果所述多个已显示画面帧的区别画面区域的位置信息相同,则执行所述获取第一画面帧和第二画面帧的画面数据信息步骤。
  10. 根据权利要求7至9中任一项所述的终端,其特征在于,所述第一画面帧还包括相同画面区域,所述相同画面区域是指所述第一画面帧与所述第 二画面帧之间相同画面数据信息对应的画面区域;
    所述处理模块具体用于:
    绘制所述待显示画面帧的刷新区域;
    将所述待显示画面帧的刷新区域和所述第一画面帧的所述相同画面区域合成,生成所述待显示画面帧。
  11. 根据权利要求7至10中任一项所述的终端,其特征在于,所述处理模块还用于:
    绘制所述待显示画面帧中刷新区域以外的区域;
    确定所述待显示画面帧中刷新区域以外的区域与所述第一画面帧中的所述区别画面区域以外的区域是否相同;
    如果所述待显示画面帧中刷新区域以外的区域与所述第一画面帧中区别画面区域以外的区域不同,则绘制并显示所述待显示画面帧的全部区域。
  12. 根据权利要求7至11中任一项所述的终端,其特征在于,所述终端还包括:
    接收模块,用于接收用户的输入指令;
    所述处理模块,还用于根据所述接收模块接收的所述用户的输入指令,绘制并显示待显示画面帧的全部区域。
  13. 一种终端设备,其特征在于,包括:
    处理器、存储器、总线系统和显示屏,所述处理器、所述存储器和所述显示屏通过所述总线系统相连,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,使得所述终端设备执行如权利要求1至6中任一项所述的画面显示的方法。
PCT/CN2016/087996 2016-06-30 2016-06-30 画面显示的方法和终端 WO2018000372A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/087996 WO2018000372A1 (zh) 2016-06-30 2016-06-30 画面显示的方法和终端
CN201680010392.7A CN108027980A (zh) 2016-06-30 2016-06-30 画面显示的方法和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/087996 WO2018000372A1 (zh) 2016-06-30 2016-06-30 画面显示的方法和终端

Publications (1)

Publication Number Publication Date
WO2018000372A1 true WO2018000372A1 (zh) 2018-01-04

Family

ID=60785041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/087996 WO2018000372A1 (zh) 2016-06-30 2016-06-30 画面显示的方法和终端

Country Status (2)

Country Link
CN (1) CN108027980A (zh)
WO (1) WO2018000372A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111013144A (zh) * 2019-12-18 2020-04-17 北京智明星通科技股份有限公司 一种游戏画面绘制渲染方法、装置和移动终端
CN111949150A (zh) * 2020-07-01 2020-11-17 广州希科医疗器械科技有限公司 控制外设切换方法、装置、存储介质及电子设备
CN113507635A (zh) * 2021-09-08 2021-10-15 苏州华兴源创科技股份有限公司 多通道面板区域刷新方法、装置、计算机设备和存储介质
CN113672188A (zh) * 2021-08-26 2021-11-19 广东瑞德智能科技股份有限公司 基于低端mcu的oled屏高效显示方法和家用电器
CN116778046A (zh) * 2023-08-28 2023-09-19 乐元素科技(北京)股份有限公司 基于多线程的头发模型处理方法、装置、设备及介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525842B (zh) * 2018-10-30 2022-08-12 深圳威尔视觉科技有限公司 基于位置的多Tile排列编码方法、装置、设备和解码方法
CN112445315A (zh) * 2019-08-28 2021-03-05 北京小米移动软件有限公司 屏幕刷新帧率的控制方法、装置及存储介质
CN111111175A (zh) * 2019-12-18 2020-05-08 北京智明星通科技股份有限公司 一种游戏画面生成方法、装置和移动终端
CN115150638B (zh) * 2022-06-29 2024-07-09 深信服科技股份有限公司 一种基于云桌面的数据传输方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375793A (zh) * 2014-10-15 2015-02-25 武汉润凌科技有限公司 一种嵌入式系统背景图更新显示方法
CN105096365A (zh) * 2014-05-16 2015-11-25 Tcl集团股份有限公司 一种3d界面局部刷新方法及系统
CN105427366A (zh) * 2015-11-11 2016-03-23 广州华多网络科技有限公司 一种图像渲染方法和图像渲染系统
CN105487848A (zh) * 2014-10-08 2016-04-13 Tcl集团股份有限公司 一种3d应用的显示刷新方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222420A (zh) * 2011-07-21 2011-10-19 福州大学 电子书阅读器及其画面刷新实现方法
KR20160064839A (ko) * 2014-11-28 2016-06-08 삼성전자주식회사 저주파 화면 표시 방법 및 이를 수행하는 전자장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096365A (zh) * 2014-05-16 2015-11-25 Tcl集团股份有限公司 一种3d界面局部刷新方法及系统
CN105487848A (zh) * 2014-10-08 2016-04-13 Tcl集团股份有限公司 一种3d应用的显示刷新方法及系统
CN104375793A (zh) * 2014-10-15 2015-02-25 武汉润凌科技有限公司 一种嵌入式系统背景图更新显示方法
CN105427366A (zh) * 2015-11-11 2016-03-23 广州华多网络科技有限公司 一种图像渲染方法和图像渲染系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111013144A (zh) * 2019-12-18 2020-04-17 北京智明星通科技股份有限公司 一种游戏画面绘制渲染方法、装置和移动终端
CN111013144B (zh) * 2019-12-18 2023-10-27 北京智明星通科技股份有限公司 一种游戏画面绘制渲染方法、装置和移动终端
CN111949150A (zh) * 2020-07-01 2020-11-17 广州希科医疗器械科技有限公司 控制外设切换方法、装置、存储介质及电子设备
CN111949150B (zh) * 2020-07-01 2024-02-13 广州希科医疗器械科技有限公司 控制外设切换方法、装置、存储介质及电子设备
CN113672188A (zh) * 2021-08-26 2021-11-19 广东瑞德智能科技股份有限公司 基于低端mcu的oled屏高效显示方法和家用电器
CN113507635A (zh) * 2021-09-08 2021-10-15 苏州华兴源创科技股份有限公司 多通道面板区域刷新方法、装置、计算机设备和存储介质
CN116778046A (zh) * 2023-08-28 2023-09-19 乐元素科技(北京)股份有限公司 基于多线程的头发模型处理方法、装置、设备及介质
CN116778046B (zh) * 2023-08-28 2023-10-27 乐元素科技(北京)股份有限公司 基于多线程的头发模型处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108027980A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
WO2018000372A1 (zh) 画面显示的方法和终端
US9430810B2 (en) Drawing method, apparatus, and terminal
CN110209501B (zh) 图形处理器的频率调整方法、装置、终端及存储介质
WO2020147666A1 (zh) 用户界面显示方法、装置、终端及存储介质
US10565965B2 (en) Method and device for controlling refresh rate of mobile terminal and mobile terminal
US10269160B2 (en) Method and apparatus for processing image
CN107925749B (zh) 用于调整电子设备的分辨率的方法和设备
CN110377263B (zh) 图像合成方法、装置、电子设备及存储介质
WO2018161534A1 (zh) 一种显示图像的方法、双屏终端和计算机可读的非易失性存储介质
WO2018120546A1 (zh) 一种图像显示的方法及终端设备
US10698533B2 (en) Method for responding to touch operation and electronic device
WO2021008427A1 (zh) 图像合成方法、装置、电子设备及存储介质
JP5792337B2 (ja) グラフィクスのレンダリング中における電力消費の低減
US10643580B2 (en) Method and device for switching playing mode of a mobile terminal, storage medium and program
CN112596843A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
CN113672184A (zh) 屏幕扩展方法、装置、终端设备及计算机可读存储介质
CN110178111B (zh) 一种终端的图像处理方法及装置
CN111127469A (zh) 缩略图显示方法、装置、存储介质以及终端
CN113129417A (zh) 一种全景应用中图像渲染的方法及终端设备
CN108021416B (zh) 一种媒体资源加载的方法及终端
CN113034653A (zh) 一种动画渲染方法及装置
CN114115673A (zh) 车载屏幕的控制方法
US20200004386A1 (en) User interface display method, apparatus, and user interface
EP4421620A1 (en) Drawing method and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16906772

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16906772

Country of ref document: EP

Kind code of ref document: A1