WO2018120992A1 - 一种窗口渲染方法及终端 - Google Patents

一种窗口渲染方法及终端 Download PDF

Info

Publication number
WO2018120992A1
WO2018120992A1 PCT/CN2017/106106 CN2017106106W WO2018120992A1 WO 2018120992 A1 WO2018120992 A1 WO 2018120992A1 CN 2017106106 W CN2017106106 W CN 2017106106W WO 2018120992 A1 WO2018120992 A1 WO 2018120992A1
Authority
WO
WIPO (PCT)
Prior art keywords
window
resolution
rendering
content
application
Prior art date
Application number
PCT/CN2017/106106
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 EP17887832.8A priority Critical patent/EP3557520A4/en
Publication of WO2018120992A1 publication Critical patent/WO2018120992A1/zh
Priority to US16/456,823 priority patent/US20190325562A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4092Image resolution transcoding, e.g. client/server architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Definitions

  • the field of graphics rendering of the present application relates in particular to window rendering techniques.
  • the resolution is higher than the resolution of the original resolution of the system.
  • the sawtooth effect generated by the polygon during 3D graphics rendering can be reduced, and the display effect can be improved.
  • the invention provides a window rendering method, device and terminal device, which can improve the compatibility of the auxiliary window display in the case of displaying the main window in a flexible manner.
  • an embodiment of the present invention provides a window rendering method, the method comprising: acquiring window information, where the window includes at least one first window and at least one second window of the same application; determining, according to the window information, the first window or the first a second window, the content of the second window is rendered according to a first resolution, and the content of the first window is rendered according to a second resolution, wherein the second resolution is different from a system original resolution.
  • the first resolution is different from the second resolution
  • the system native resolution is a default resolution used by an operating system rendering window.
  • the window information includes a type of a plurality of windows of an application and an inheritance relationship between the plurality of windows; according to types of the plurality of windows, and the plurality of windows Inherited relationship, determining at least one first window of the application; rendering, according to the first resolution, content of the window other than the first window of the application, according to the second resolution
  • the content of a window is rendered, wherein the second resolution is different from the system original resolution, the first resolution being different from the second resolution.
  • the first window can be more accurately identified by the window type and the inheritance relationship.
  • the specific type of the window is first identified based on the title name of the window.
  • the recognition window is the first window of the application based on the parent-child relationship between the windows. Wherein, if an application's activity class window has an inherited subsurfaceview window, the first window is the subsurfaceview window.
  • the first resolution is closer to the system original resolution than the second resolution.
  • the first resolution is closer to the original resolution of the system and the compatibility is higher than the second resolution, so that the rendering of the second window can be better compatible.
  • the first resolution is the system original resolution.
  • the second window is rendered at the system's native resolution, thereby improving the compatibility of the second window display.
  • the second resolution is lower than the system original resolution.
  • the first window is rendered with a resolution lower than the original resolution of the system, which can reduce the system resource usage and system power consumption of rendering the first window.
  • an embodiment of the present invention provides another window rendering method, where the method includes: acquiring window information, where the window information includes identifier information of at least one preset auxiliary window of an application; according to the window information, according to the Rendering, the content of the auxiliary window is rendered by a resolution, and the content of the window other than the auxiliary window of the application is rendered according to a second resolution, wherein the second resolution is different from the original resolution of the system Rate, the first resolution is different from the second resolution, and the system original resolution is a default resolution used by an operating system rendering window.
  • the first resolution is closer to the system original resolution than the second resolution.
  • the first resolution is closer to the original resolution of the system and the compatibility is higher than the second resolution, so that the rendering of the auxiliary window can be better compatible.
  • the first resolution is the system original resolution.
  • the auxiliary window is rendered at the system's native resolution, which improves the compatibility of the auxiliary window display.
  • the second resolution is lower than the system original resolution.
  • the main window is rendered at a lower resolution than the original resolution of the system, which can reduce the system resource usage and system power consumption of the rendering main window.
  • an embodiment of the present invention provides another window rendering method, where the method includes: acquiring window information, where the window information includes identification information of at least one preset main window of the application; and the application according to the first resolution. Rendering the contents of other windows than the main window, rendering the content of the main window according to a second resolution, wherein the second resolution is different from the system original resolution, the first resolution The rate is different from the second resolution, and the system native resolution is the default resolution used by the operating system rendering window.
  • the first resolution is closer to the system original resolution than the second resolution.
  • the first resolution is closer to the original resolution of the system and the compatibility is higher than the second resolution, so that the rendering of the auxiliary window can be better compatible.
  • the first resolution is the system original resolution.
  • the auxiliary window is rendered at the system's native resolution, which improves the compatibility of the auxiliary window display.
  • the second resolution is lower than the system original resolution.
  • the main window is rendered at a lower resolution than the original resolution of the system, which can reduce the system resource usage and system power consumption of the rendering main window.
  • the window to be rendered is not the main window
  • rendering is performed according to the original resolution of the system.
  • Non-primary windows are rendered through the system's native resolution for improved compatibility.
  • an embodiment of the present invention provides a window rendering apparatus, where the apparatus includes a plurality of logic functional units, thereby implementing the method in the foregoing implementation manner.
  • the apparatus includes an input unit and a rendering unit, and an optional processing unit for performing the various steps of the various aspects of the methods and methods described above.
  • the input unit is configured to acquire window information
  • the window includes at least one first window and at least one second window of the same application.
  • the rendering unit is configured to determine the first window or the second window according to the window information, render the content of the second window according to the first resolution, and render the content of the first window according to the second resolution, where The second resolution is different from the system original resolution, the first resolution is different from the second resolution, and the system native resolution is a default resolution used by the operating system rendering window.
  • the window information includes a type of multiple windows of an application and an inheritance relationship between the multiple windows; a processing unit is configured to use, according to the type of the multiple windows, Determining an inheritance relationship between the plurality of windows, determining at least one first window of the application; the rendering unit is configured to render, according to the first resolution, content of the window other than the first window of the application, according to The second resolution renders the content of the first window, wherein the second resolution is different from the system original resolution, the first resolution being different from the second resolution.
  • the first window can be more accurately identified by the window type and the inheritance relationship.
  • the input unit is configured to acquire window information, where the window information includes identification information of at least one preset auxiliary window of an application; and the rendering unit is configured to perform the first resolution according to the window information. Rendering the content of the auxiliary window, and rendering the content of the window other than the auxiliary window of the application according to the second resolution, wherein the second resolution is different from the original resolution of the system, The first resolution is different from the second resolution, and the system native resolution is the default resolution used by the operating system rendering window.
  • the input unit is configured to acquire window information, where the window information includes identification information of at least one preset main window of the application; and the rendering unit is configured to perform the application according to the first resolution. Rendering the content of the other window except the main window, rendering the content of the main window according to a second resolution, wherein the second resolution is different from the system original resolution, the first resolution Unlike the second resolution, the system native resolution is the default resolution used by the operating system rendering window.
  • the device may further include a processing unit, configured to determine, according to the window information to be rendered, that the window to be rendered is a main window or an auxiliary window.
  • the processing unit is specifically configured to determine, according to the window information to be rendered, that the window to be rendered is a main window or an auxiliary window, according to the window to be rendered.
  • the information determines a type of each window in the window to be rendered; according to an inheritance relationship between the windows, the main window is determined, and other windows than the main window are used as auxiliary windows.
  • the first resolution is closer to the system raw resolution than the second resolution.
  • the first resolution is the system original resolution.
  • the second resolution is lower than the original resolution of the system.
  • an embodiment of the present invention provides a terminal, including a display device, a rendering device, and a storage device, where the rendering device is configured to read an instruction or data stored in the storage device, to perform the foregoing Aspect or method of various embodiments of the present invention; the display device is configured to display the rendered content of the rendering device.
  • an embodiment of the present invention provides a computer storage medium for storing the same for the terminal.
  • Computer software instructions comprising a program designed to perform the above aspects.
  • the main window can be rendered with a more flexible second resolution, and the auxiliary window is rendered with a first resolution with better compatibility, thereby reducing system resource consumption and power consumption (When the second resolution is lower than the original resolution of the system or the rendering accuracy is improved (when the second resolution is higher than the original resolution of the system), the compatibility of the auxiliary window display is improved.
  • FIG. 1 is a schematic structural diagram of a system of a possible execution environment of the present invention
  • FIG. 2 is a flow chart of a method according to an embodiment of the present invention.
  • FIG. 3 is a flow chart of a method according to still another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a logical structure of an apparatus according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of hardware of an apparatus according to an embodiment of the present invention.
  • the hardware layer of the terminal device includes a CPU, a GPU, and the like, and may further include a memory, an input/output device, a memory, a memory controller, a network interface, and the like.
  • the input device may include a keyboard, a mouse, a touch screen, and the like.
  • the output device may include a display device such as an LCD, a CRT, a Holographic image, a Projector, and the like. Above the hardware layer you can run an operating system (such as Android) and some applications.
  • 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 EGL, and the like.
  • the terminal further includes a driving layer, a frame layer, and an 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 rendering of the window is performed by a window management service (WindowsMangerService) in the system service and a SurfaceFlinger service in the graphics service.
  • a window management service WindowsMangerService
  • SurfaceFlinger service in the graphics service.
  • Main window A window for displaying the main page of a game or application. For example, in an Android system, if an application's main activity window does not have a corresponding surface view window, then its main screen window is the main activity window; if an application's main activity window has an inherited Subsurfaceview window, then this application uses the surfaceview window, then his main screen window is this subsurfaceview window.
  • auxiliary window In addition to the main window described, other windows can be auxiliary windows.
  • an auxiliary window is often superimposed on the main window to display some additional information. For example, in a mobile game, a new window or a third-party auxiliary program window is superimposed; or another information window is superimposed in the video player. Since these new windows are often designed based on the original resolution of the system, when rendered differently than the original resolution of the system, these new windows are prone to various display errors due to incompatible resolutions.
  • the auxiliary window is limited to a window other than the main window and marked. In this case, the auxiliary window specifically refers to a window other than the main window where compatibility problems may occur. .
  • the main window and the auxiliary window are distinguished by the division of the first window and the second window in order to be closer to the implementation of the actual program.
  • the first window corresponds to the main window in the foregoing
  • the second window corresponds to the auxiliary window in the foregoing embodiment.
  • FIG. 2 is a flow chart of a method of an embodiment of the present invention. This embodiment includes:
  • a window refers to a window to which an application or a game is to be displayed, the window information including information for identifying whether the window is a main window, such as a title name of a window (title name), an inheritance relationship between windows, an identification of a window, or a window. Type, etc.
  • the window includes at least one main window and at least one auxiliary window.
  • Obtain window information which can be a one-time acquisition of multiple windows containing the main window and the auxiliary window, and follow the next steps to render; can also be obtained multiple times, each time to obtain one or more window information, and each time After obtaining, follow the next steps.
  • the main window and the auxiliary window in the window can be judged.
  • the type of each window in the window is determined according to the window information, and then the main window is determined according to the inheritance relationship between the windows, and other windows than the main window are used as auxiliary windows.
  • the specific type of the window is first recognized according to the title name of the window. Further, it is possible to identify which window is the main screen window of the application according to the parent-child relationship between the windows.
  • an application's main active window does not have a corresponding subsurface view window, then its main screen window is the main activity window; if an application's main activity window has an inherited subsurfaceview window, then the application uses the surfaceview window.
  • the main picture window is the subsurfaceview window.
  • the window information includes an auxiliary window mark, and according to the auxiliary window mark, the auxiliary window can be identified, so that the unmarked window is used as the main window.
  • the window information includes a main window mark, and according to the main window mark, the main window can be identified, so that the unmarked window is used as the auxiliary window.
  • the content of the main window is rendered at a second resolution, which is a resolution different from the original resolution of the system.
  • the system original resolution is set according to the display device of the terminal device, and is adapted to the display device.
  • the application in the system is running, it will render by the original system's native resolution by default.
  • the main window is rendered according to the second resolution, which can achieve a more flexible effect.
  • system resource consumption and system power consumption can be reduced; in other implementations, when rendering at a higher than the system original resolution, Can improve the image rendering accuracy and improve the graphics details (for example, for 3D graphics to be rendered higher than the system's original resolution and then draw according to the system's original resolution, can effectively reduce the aliasing).
  • the content of the auxiliary window is rendered according to a first resolution, which is a resolution different from the second resolution. That is, the content of the auxiliary window is rendered at a different resolution than the content of the main window. Since the second resolution is rendered with the original resolution of the system, the auxiliary window is often not designed based on the second resolution, so if the auxiliary window is also rendered according to the second resolution, compatibility problems are easily caused. Therefore, the auxiliary window is rendered at a first resolution different from the second resolution, thereby reducing the occurrence of compatibility problems.
  • the first resolution may be a better resolution than the second resolution when rendering the auxiliary window.
  • the second resolution is closer to the original resolution than the first resolution, such that the compatibility of the second resolution is better than the first resolution, and in another implementation, the first resolution Can be the system's native resolution for better compatibility.
  • the method embodiment provides a possible method for rendering a window by using a non-system raw resolution (ie, a fail size):
  • WMS creates a key class such as windowstate and windowstateanimate for each window, and adds these classes to the window manager WindowsManager for unified management. At this point, there is no window size data in these classes.
  • the window size calculation process is triggered at the time of layout.
  • the size calculation is performed according to the non-system original resolution, and the non-system default size, that is, the fake size is obtained.
  • the application prepares a frame of content according to the fake size, and places the content in the BufferQueue and transmits it to the SurfaceFlinger for unified composition.
  • the content of one frame prepared according to the fake size is displayed according to the system default size, thereby displaying the content rendered at the non-system original resolution.
  • the main window can be rendered with a more flexible second resolution, and the auxiliary window is rendered with a first resolution with better compatibility, thereby reducing system resource consumption and power consumption (When the second resolution is lower than the original resolution of the system or the rendering accuracy is improved (when the second resolution is higher than the original resolution of the system), the compatibility of the auxiliary window display is improved.
  • FIG. 4 is a flowchart of a method according to still another embodiment of the present invention.
  • an Android system is taken as an example. Provides a way to render windows. The method includes:
  • the window content system is managed by WMS, and the application adds a window, and the WMS creates a corresponding window state (WindowState) for the window.
  • WindowState window state
  • an application includes many windows such as the Activity main window and the SurfaceView sub-window.
  • the WMS creates a corresponding WindowState for each window
  • the specific type of the window is initially identified according to the titlename of the window. Then identify which window is the main screen window of the application according to the parent-child relationship between the windows. If an application's main active window does not have a corresponding subsurface view window, then its main screen window is the main activity window; if an application's main activity window has an inherited subsurfaceview window, then the application uses the surfaceview window.
  • the main picture window is the subsurfaceview window.
  • the content is rendered at a resolution different from the original resolution of the system.
  • the current window is judged to be rendered at a resolution different from the original resolution of the system, otherwise the rendering is performed according to the original resolution of the system. Therefore, when the system resource consumption and power consumption are reduced (when the second resolution is lower than the original resolution of the system) or the rendering accuracy is improved (when the second resolution is higher than the original resolution of the system), the non-main window display is improved. Compatibility.
  • FIG. 5 is a schematic diagram showing the logical structure of a window rendering apparatus 500 according to an embodiment of the present invention.
  • the window rendering device 500 may include an input unit 501 and a rendering unit 502.
  • the apparatus described in this embodiment is for performing the methods described in the foregoing two embodiments, and therefore, based on the foregoing description or explanation, can be used to understand the apparatus in the present embodiment.
  • the logical units in this embodiment are implemented by system services and graphics services in the framework layer. Among them, one possible way,
  • the input unit 501 is configured to acquire window information to be rendered.
  • the window to be rendered includes at least one main window and at least one auxiliary window.
  • the rendering unit 502 is configured to render the content of the auxiliary window for the first resolution, and render the content of the main window according to the second resolution, where the second resolution is different from the original resolution of the system.
  • the first resolution is different from the second resolution.
  • the device may further include a processing unit 503, configured to determine, according to the window information to be rendered, that the window to be rendered is a main window or an auxiliary window.
  • a processing unit 503 configured to determine, according to the window information to be rendered, that the window to be rendered is a main window or an auxiliary window.
  • the processing unit 503 is specifically configured to: when determining, according to the window information to be rendered, that the window to be rendered is a main window or an auxiliary window, specifically, according to the window information to be rendered, Determining a type of each window in the window to be rendered; determining the main window according to an inheritance relationship between the windows, and using other windows than the main window as auxiliary windows.
  • the window information includes an auxiliary window mark
  • the auxiliary window mark is used to identify the window to be rendered as an auxiliary window
  • the processing unit 503 is further configured to determine the auxiliary window according to the auxiliary window mark. , will be the window to be rendered of the auxiliary window as the main window.
  • the first resolution is closer to the system raw resolution than the second resolution.
  • first One resolution is the system's native resolution.
  • second resolution is lower than the original resolution of the system.
  • FIG. 6 is a schematic structural diagram of a terminal device 600 according to an embodiment of the present invention.
  • the terminal device 600 may include a rendering device 601 and a storage device 602, and a display device 603, and a bus 604 that connects the device.
  • the terminal device may further include a central processing unit, a graphics processor, a display controller, a memory controller, an input device, and the like as described in FIG.
  • Rendering device 601 can be a separate processing device, or can be integrated into other processors, or other processors can perform the functions of the rendering device to function as a rendering device.
  • rendering device 601 is often implemented by a graphics processor GPU, in which case rendering device 601 refers to a graphics processor GPU.
  • Memory 602 can include read only memory and random access memory and provides instructions and data directly or indirectly to rendering device 601.
  • rendering device 601 can directly read instructions and data in memory 602 to perform its functions; in another implementation, some of the instructions or data in rendering device 601 are through other processors.
  • the instructions or data in the memory 602 are read and processed and sent to the rendering device to indicate that it implements the corresponding function.
  • a portion of memory 602 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • memory 602 also stores the following elements, executable modules or data structures, or subsets thereof, or their extended sets:
  • Application includes various applications, such as the desktop (Launcher), media player (Media Player), browser (Browser) and the like shown in FIG. 1 for implementing various application services.
  • applications such as the desktop (Launcher), media player (Media Player), browser (Browser) and the like shown in FIG. 1 for implementing various application services.
  • Operating system includes various system programs, such as the framework layer, core library layer, driver layer, etc. shown in Figure 1, for implementing various basic services and processing hardware-based tasks.
  • the rendering device 601 performs the method of S201, S202 or S402, S403, and S404 in the foregoing method embodiment by calling the instruction or data stored in the memory 603, thereby implementing the effects of the foregoing method.
  • 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 through some interface, device Or an indirect coupling or communication connection of the unit, which may be in 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.) or processor 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. .

Abstract

本申请图像渲染领域,尤其涉及终端的窗口渲染技术。在一种窗口渲染的方法中,获取窗口信息,所述窗口包括同一应用的至少一个第一窗口和至少一个第二窗口。根据所述窗口信息,确定所述第一窗口或者所述第二窗口,按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。通过本申请提供的方案,可以在采用灵活的分辨率对主窗口内容进行渲染的基础上,提高辅助窗口显示时的兼容性。

Description

一种窗口渲染方法及终端
本申请要求在2016年12月30日提交中国专利局、申请号为201611265865.6、发明名称为“一种窗口渲染方法及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请图形渲染领域,尤其涉及窗口渲染技术。
背景技术
随着显示技术的发展,高分辨率的显示屏幕被越来越多的应用在各类终端上。但是,由于高分辨率的增大,带来了的渲染和显示的运算量的增加,从而造成了系统资源和功耗的增加。因此,在一些场景下,为了减少系统资源的占用以及降低功耗,会将一些应用按照低于系统原始分辨率的分辨率进行渲染,一般的,会采用在特定时间段内,或者特定应用运行中降低逻辑分辨率从而达到降低功耗和减少渲染计算了的目的。系统原始分辨率是指操作系统渲染窗口使用的默认分辨率。
在另一些显示技术中,为了提升渲染细节,提高图像的显示质量,会采用高于系统原始分辨率的分辨率进行渲染。例如,在3D图像的渲染时,采用高于系统原始分辨率的分辨率进行渲染,在缩放成系统原始分辨率,可以减低3D图形渲染时多边形产生的锯齿效应,提高显示效果。
可见,现有的渲染技术中会采用与系统原始分辨率不同的分辨率进行渲染。但是,当采用与系统原始分辨率不同的分辨率进行渲染时,由于窗口设计等原因,往往会产生兼容性问题,导致用户体验不好。
发明内容
本发明提供了一种窗口渲染的方法、装置以及终端设备,能够在以灵活的方式显示主窗口的情况下,提高辅助窗口显示的兼容性。
一方面,本发明实施例提供了一种窗口渲染方法,该方法包括,获取窗口信息,窗口包括同一应用的至少一个第一窗口和至少一个第二窗口;根据窗口信息,确定第一窗口或者第二窗口,按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在一种可能的实施方式中,所述窗口信息包括一个应用的多个窗口的类型和所述多个窗口之间的继承关系;根据所述多个窗口的类型,以及所述多个窗口之间的继承关系,确定所述应用的至少一个第一窗口;按照第一分辨率对所述应用的除所述第一窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。 由此,通过窗口类型和继承关系,能够更准确的识别第一窗口。
在该种实施方式的一种具体的实现中,根据该窗口的标题名titlename先识别出该窗口的具体类型。根据窗口之间的父子关系识别窗口是应用的第一窗口。其中,如果一个应用的activity类窗口有继承的子surfaceview窗口,第一窗口是这个子surfaceview窗口
在一种可能的实施方式中,第一分辨率比第二分辨率更接近系统原始分辨率。由此,第一分辨率由于接近系统原始分辨率从而兼容性比第二分辨率更高,使得第二窗口的渲染能够有更好的兼容性。
在一种可能的实施方式中,第一分辨率为系统原始分辨率。由此,第二窗口以系统原始分辨率进行渲染,从而提高了第二窗口显示的兼容性。
在一种可能的实施方式中,第二分辨率低于系统原始分辨率。由此,第一窗口通过低于系统原始分辨率的分辨率进行渲染,可以降低渲染第一窗口的系统资源占用以及系统功耗。
另一方面,本发明实施例提供了另一种窗口渲染方法,方法包括获取窗口信息,所述窗口信息包括一个应用的至少一个预设的辅助窗口的标识信息;根据所述窗口信息,按照第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述应用的除所述辅助窗口外的其他窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在一种可能的实施方式中,第一分辨率比第二分辨率更接近系统原始分辨率。由此,第一分辨率由于接近系统原始分辨率从而兼容性比第二分辨率更高,使得辅助窗口的渲染能够有更好的兼容性。
在一种可能的实施方式中,第一分辨率为系统原始分辨率。由此,辅助窗口以系统原始分辨率进行渲染,从而提高了辅助窗口显示的兼容性。
在一种可能的实施方式中,第二分辨率低于系统原始分辨率。由此,主窗口通过低于系统原始分辨率的分辨率进行渲染,可以降低渲染主窗口的系统资源占用以及系统功耗。
另一方面,本发明实施例提供了另一种窗口渲染方法,方法包括获取窗口信息,所述窗口信息包括应用的至少一个预设的主窗口的标识信息;按照第一分辨率对所述应用的除所述主窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述主窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在一种可能的实施方式中,第一分辨率比第二分辨率更接近系统原始分辨率。由此,第一分辨率由于接近系统原始分辨率从而兼容性比第二分辨率更高,使得辅助窗口的渲染能够有更好的兼容性。
在一种可能的实施方式中,第一分辨率为系统原始分辨率。由此,辅助窗口以系统原始分辨率进行渲染,从而提高了辅助窗口显示的兼容性。
在一种可能的实施方式中,第二分辨率低于系统原始分辨率。由此,主窗口通过低于系统原始分辨率的分辨率进行渲染,可以降低渲染主窗口的系统资源占用以及系统功耗。
在一种实现方式中,当待渲染窗口不是主窗口时,按照系统原始分辨率进行渲染。 非主窗口通过系统原始分辨率渲染从而提高了兼容性。
又一方面,本发明实施例提供了一种窗口渲染装置,所述装置包括若干逻辑功能单元,从而实现前述实现方式中的方法。
在一种实现方式中,装置包括输入单元和渲染单元,以及可选的处理单元,用于执行前述几方面方法以及方法中各个具体实现方式中的各个步骤。
在一种可能的实现中,输入单元用于获取窗口信息,窗口包括同一应用的至少一个第一窗口和至少一个第二窗口。渲染单元用于根据窗口信息,确定第一窗口或者第二窗口,按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在一种可能的实施方式中,所述窗口信息包括一个应用的多个窗口的类型和所述多个窗口之间的继承关系;处理单元用于根据所述多个窗口的类型,以及所述多个窗口之间的继承关系,确定所述应用的至少一个第一窗口;渲染单元用于按照第一分辨率对所述应用的除所述第一窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。由此,通过窗口类型和继承关系,能够更准确的识别第一窗口。
在另一种实施方式中,输入单元用于获取窗口信息,所述窗口信息包括一个应用的至少一个预设的辅助窗口的标识信息;渲染单元用于根据所述窗口信息,按照第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述应用的除所述辅助窗口外的其他窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在另一种实施方式中,输入单元用于获取窗口信息,所述窗口信息包括应用的至少一个预设的主窗口的标识信息;所述渲染单元用于按照第一分辨率对所述应用的除所述主窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述主窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
在一种实现方式中,所述装置还可以包括处理单元用于根据所述待渲染窗口信息,判断所述待渲染窗口为主窗口或辅助窗口。
在该种实现方式的一种具体的实施方式中,处理单元具体用于根据所述待渲染窗口信息,判断所述待渲染窗口为主窗口或辅助窗口时具体用于,根据所述待渲染窗口信息,确定待渲染窗口中各窗口的类型;根据所述个窗口之间的继承关系,确定所述主窗口,将除所述主窗口以外的其他窗口作为辅助窗口。
在一种实施方式中,第一分辨率比第二分辨率更接近系统原始分辨率。可选的,第一分辨率为系统原始分辨率。可选的,第二分辨率低于系统原始分辨率。
又一方面,本发明实施例提供了一种终端,包括显示设备和渲染设备和存储设备,其中,所述渲染设备用于读取所述存储设备中存储的指令或数据,用以执行前述几方面或者各个方面的具体实施方式的方法;所述显示设备用于显示所述渲染设备渲染后的内容。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端所用的 计算机软件指令,其包含用于执行上述方面所设计的程序。
通过本方法实施例,可以使得主窗口在采用更加灵活的第二分辨率进行渲染的情况下,辅助窗口采用兼容性更好的第一分辨率进行渲染,从而在降低系统资源占用和功耗(当第二分辨率低于系统原始分辨率)或者提高渲染精度(当第二分辨率高于系统原始分辨率)的情况下,提高了辅助窗口显示时的兼容性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面附图中反映的仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得本发明的其他实施方式。而所有这些实施例或实施方式都在本发明的保护范围之内。
图1为本发明的一种可能的执行环境的系统结构示意图;
图2为本发明的一种实施例的方法流程图;
图3为本发明的又一种实施例的方法流程图;
图4为本发明的又一种实施例的方法流程图;
图5为本发明的一种实施例的装置逻辑结构示意图;
图6为本发明的一种实施例的装置硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
以图1为例介绍本发明实施例提供的执行窗口渲染方法的终端的逻辑结构。该终端可以是具体可以为一智能手机。如图1所示,该终端设备的硬件层包括CPU、GPU等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如LCD、CRT、全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如Android等)以及一些应用程序。核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现CPU、GPU图形处理的图形引擎(Graphics Engine)等。图形引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)、EGL等。除此之外,该终端还包括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括图形服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等;图形服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render Script等。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等。
在本发明实施例中,结合图1所述场景,窗口的渲染是通过系统服务中的窗口管理服务(WindowsMangerService)以及图形服务中的的SurfaceFlinger服务完成的。
为了更方便的理解本发明实施例中的内容,下面首先对本发明中重要的术语进行解释:
主窗口:是用于显示游戏或者应用的主页面的窗口。例如,在安卓系统中,如果一个应用的主活动(activity)窗口没有对应的子表面视图(surfaceview)窗口,则他的主画面窗口就是主activity窗口;如果一个应用的主activity窗口有一个继承的子surfaceview窗口,那么这个应用是使用了surfaceview窗口的,则他的主画面窗口就是这个子surfaceview窗口。
辅助窗口:除所述的主窗口外,其他窗口均可以是辅助窗口。在现有的应用显示中,常常在主窗口上叠加显示辅助窗口,从而进行一些额外信息的显示。例如在手机游戏中,叠加显示新的窗口或者第三方辅助程序窗口;或者在视频播放器中叠加显示其他信息窗口等。由于这些新的窗口往往是基于系统原始分辨率进行设计的,当采用不同于系统原始分辨率进行渲染后,这些新的窗口容易出现由于分辨率不兼容而出现各类显示错误问题。在本实施例的一些具体的实现方式中,将辅助窗口限制为除主窗口外且被标记了的窗口,在这种情况下,辅助窗口特指除主窗口外的可能出现兼容性问题的窗口。
在本发明的一些实施例中,为了更贴近实际程序的实现,通过第一窗口和第二窗口的划分,来区别主窗口和辅助窗口。其中第一窗口对应的是前述中的主窗口,而第二窗口对应的是前述实施例中的辅助窗口。
结合图2,是本发明的一种实施例的方法流程图。该实施例包括:
S201、获取窗口信息。
窗口是指应用或者游戏要进行显示的窗,所述窗口信息包括用于识别窗口是否为主窗口的信息,例如窗口的标题名(titlename),窗口之间的继承关系,窗口的标识或者窗口的类型等。
窗口包括至少一个主窗口和至少一个辅助窗口。获取窗口信息,可以是一次性的获取多个包含了主窗口和辅助窗口的窗口,并按照后续步骤进行渲染;也可以分多次获取,每次获取一个或者多个窗口信息,并在每次获取后均按照后续步骤进行处理。
S202、对所述窗口的内容进行渲染,其中,按照第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述主窗口的内容进行渲染。
根据获取窗口信息,可以判断窗口中的主窗口和辅助窗口。在一种可能的实现方式中,现根据窗口信息确定窗口中各窗口的类型,再根据所述各窗口之间的继承关系,确定主窗口,将除主窗口之外的其他窗口作为辅助窗口。例如,在安卓系统下,在为每一个窗口创建对应的窗口状态的时候,根据该窗口的标题名titlename先识别出该窗口的具体类型。进一步的,可以根据窗口之间的父子关系识别那一个窗口是应用的主画面窗口。如果一个应用的主活动窗口没有对应的子表面视图窗口,则则他的主画面窗口就是主activity窗口;如果一个应用的主activity窗口有一个继承的子surfaceview窗口,那么这个应用是使用了surfaceview窗口的,则他的主画面窗口就是这个子surfaceview窗口。
在另一种可能的实现方式中,窗口信息中包含辅助窗口标记,根据该辅助窗口标记,可以识别出辅助窗口,从而将未进行标记的窗口作为主窗口。
在另一种可能的实现方式中,窗口信息中包含主窗口标记,根据该主窗口标记,可以识别出主窗口,从而将未进行标记的窗口作为辅助窗口。
对主窗口的内容按照第二分辨率进行渲染,第二分辨率是不同于系统原始分辨率的分辨率。一般而言,系统原始分辨率是根据终端设备的显示设备进行设置的,与显示设备进行适配。系统中的应用在运行时,默认都会按照原始系统原始分辨率进行渲染。在 本发明实施例中,主窗口按照第二分辨率进行渲染,可以实现更加灵活的效果。在一些实现方式中,按照低于系统原始分辨率的分辨率进行渲染时,可以减少系统资源的消耗和降低系统功耗;在另一些实现方式中,按照高于系统原始分辨率进行渲染时,可以提高图像渲染精度,提升图形细节(例如对于3D图形按照高于系统原始分辨率进行渲染后再按照系统原始分辨率进行绘制,可以有效的降低锯齿)。
对辅助窗口的内容按照第一分辨率进行渲染,第一分辨率是不同于第二分辨率的分辨率。即,辅助窗口的内容采用与主窗口内容所不同的分辨率进行渲染。由于第二分辨率采用与系统原始分辨率进行渲染,而辅助窗口往往并没有基于第二分辨率进行设计,从而如果辅助窗口也按照第二分辨率进行渲染,容易造成兼容性的问题。因此,将辅助窗口按照不同于第二分辨率的第一分辨率进行渲染,从而减少了兼容性问题的出现。
第一分辨率可以是比第二分辨率在渲染辅助窗口时兼容性更好的分辨率。在一种实现方式中,第二分辨率比第一分辨率更接近原始分辨率,从而使得第二分辨率的兼容性比第一分辨率好,在另一种实现方式中,第一分辨率可以是系统原始分辨率,从而具有更好的兼容性。
当第一分辨率或者第二分辨率不同于原始分辨率时,对其对应的窗口进行渲染时,其方式可能不同于按照系统原始分辨率对窗口进行渲染。例如,如图3所示在安卓系统下,本方法实施例提供一种可能的采用非系统原始分辨(即fake size)率对窗口进行渲染的方法:
1)应用向WMS申请创建窗口,WMS对每一个窗口创建一个windowstate、windowstateanimate等关键类,同时把这些类加到窗口管理器WindowsManager中统一管理。此时,这些类中并没有窗口的尺寸数据。
2)在布局的时候触发窗口尺寸的计算过程,在WMS进行尺寸计算的时候,按照非系统原始分辨率进行尺寸计算,得到非系统默认尺寸,即fake size。
3)将这个fake size传给surfaceflinger,让其按fakesize这个尺寸创建一个窗口对应的layer和相应的buffer。
4)通过返回surface control给WMS以及将surface返回给应用,从而使得将要显示的fake size回传给应用。由此,应用就会按fake size准备要显示内容
5)应用按fake size准备一帧内容,并把内容放在BufferQueue中传给SurfaceFlinger进行统一合成。
6)SurfaceFlinger将BufferQueue里面的信息给HWC进行合成,最后送显。在这个过程会把显示尺寸恢复到系统的默认尺寸。
通过以上步骤,将按照fake size准备的一帧的内容按照系统默认尺寸显示,从而将在非系统原始分辨率下渲染的内容进行了显示。
通过本方法实施例,可以使得主窗口在采用更加灵活的第二分辨率进行渲染的情况下,辅助窗口采用兼容性更好的第一分辨率进行渲染,从而在降低系统资源占用和功耗(当第二分辨率低于系统原始分辨率)或者提高渲染精度(当第二分辨率高于系统原始分辨率)的情况下,提高了辅助窗口显示时的兼容性。
结合图4,是本发明的又一实施例的方法流程图,在本实施例中,以安卓系统为例, 提供了一种窗口渲染的方法。该方法包括:
S401、准备窗口内容。
窗口内容系统通过是通过WMS进行管理的,应用增加一个窗口,则WMS为该窗口创建相应的窗口状态(WindowState)。
S402、识别当前窗口是否为主窗口。
安卓系统下,一个应用包括很多窗口如Activity主窗口和SurfaceView子窗口等。当WMS为每一个窗口创建对应的WindowState的时候,根据该窗口的titlename先初步识别出该窗口的具体类型。再根据窗口之间的父子关系识别那一个窗口是应用的主画面窗口。如果一个应用的主活动窗口没有对应的子表面视图窗口,则则他的主画面窗口就是主activity窗口;如果一个应用的主activity窗口有一个继承的子surfaceview窗口,那么这个应用是使用了surfaceview窗口的,则他的主画面窗口就是这个子surfaceview窗口。
S403、如果当前窗口为主窗口,则按照不同于系统原始分辨率的分辨率进行内容渲染。
S404、如果当前窗口不是主窗口,则按照系统原始分辨率进行内容渲染。
具体的渲染方式可参照前一实施例中介绍的渲染方法。
通过本实施例,在判断当前窗口为主窗口是才按照不同于系统原始分辨率的分辨率进行渲染,否则则按照系统原始分辨率进行渲染。从而在降低系统资源占用和功耗(当第二分辨率低于系统原始分辨率)或者提高渲染精度(当第二分辨率高于系统原始分辨率)的情况下,提高了非主窗口显示时的兼容性。
图5是本发明实施例提供的一种窗口渲染装置500的逻辑结构示意图。窗口渲染装置500可包括:输入单元501、渲染单元502。本实施例所述的装置用于执行前述两个实施例中所描述的方法,因此,基于前述的描述或者解释,均可用于理解本实施例中的装置。在本实施例中,结合图1的执行环境,则该实施例中的逻辑单元通过框架层中的系统服务和图形服务实现。其中,一种可能的方式下,
输入单元501,用于获取待渲染窗口信息。
待渲染窗口包括至少一个主窗口和至少一个辅助窗口。
渲染单元502,用于第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述主窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。
可选地,所述装置还可以包括处理单元503,用于根据所述待渲染窗口信息,判断所述待渲染窗口为主窗口或辅助窗口。
进一步地,在一种实施方式中,处理单元503具体用于:根据所述待渲染窗口信息,判断所述待渲染窗口为主窗口或辅助窗口时具体用于,根据所述待渲染窗口信息,确定待渲染窗口中各窗口的类型;根据所述个窗口之间的继承关系,确定所述主窗口,将除所述主窗口以外的其他窗口作为辅助窗口。
在另一种实施方式中,窗口信息包含了辅助窗口标记,辅助窗口标记用于标识待渲染窗口为辅助窗口,处理单元503还具体用于根据所述辅助窗口标记,确定所述所述辅助窗口,将不是辅助窗口的待渲染窗口作为主窗口。
在一种实施方式中,第一分辨率比第二分辨率更接近系统原始分辨率。可选的,第 一分辨率为系统原始分辨率。可选的,第二分辨率低于系统原始分辨率。
基于本实施例中的窗口渲染装置,可以实现前述实施例中方法所带来的效果,在此不再赘述。
如图6所示,是本发明实施例提供的一种终端设备600的结构示意图,终端设备600可包括,渲染设备601和存储设备602、和显示设备603,以及连接所述设备的总线604。此外,终端设备还可以包括如图1所述的中央处理器、图形处理器、显示控制器、内存控制器以及输入设备等。
渲染设备601可以是单独的处理装置,也可以集成在其他的处理器中,或者其他的处理器执行渲染设备的功能从而作为渲染设备工作。例如,在常见的智能手机终端中,渲染设备601往往通过图形处理器GPU来实现,在这种情况下,渲染设备601即指图形处理器GPU。
存储器602可以包括只读存储器和随机存取存储器,并向渲染设备601直接或者间接的提供指令和数据。例如,在一种实现方式中,渲染设备601可以直接读取存储器602中的指令和数据从而实现其功能;在另一种实现方式中,渲染设备601中的部分指令或数据是通过其他处理器读取存储器602中的指令或数据并进行处理后发送给渲染设备用以指示其实现相应的功能。存储器602的一部分还可以包括非易失性随机存取存储器(NVRAM)。
此外,存储器602还存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
应用程序:包括各种应用程序,例如图1所示的桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
操作系统:包括各种系统程序,例如图1所示的框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,渲染设备601通过调用存储器603存储的指令或数据,执行前述方法实施例中S201、S202或者S402、S403、S404的方法,从而实现前述方法所带来的效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置 或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (11)

  1. 一种窗口渲染方法,其特征在于,所述方法包括:
    获取窗口信息,所述窗口包括同一应用的至少一个第一窗口和至少一个第二窗口;
    根据所述窗口信息,确定所述第一窗口或者所述第二窗口,按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
  2. 根据权利要求1所述方法,其特征在于,
    所述窗口信息包括一个应用的多个窗口的类型和所述多个窗口之间的继承关系;
    所述根据所述窗口信息,确定所述第一窗口或者所述第二窗口具体包括:根据所述多个窗口的类型,以及所述多个窗口之间的继承关系,确定所述应用的至少一个第一窗口;
    所述按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染具体包括:按照第一分辨率对所述应用的除所述第一窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。
  3. 根据权利要求1所述方法,其特征在于,所述第一分辨率比所述第二分辨率更接近系统原始分辨率。
  4. 根据权利要求1或2所述方法,其特征在于,所述第一分辨率为系统原始分辨率。
  5. 一种窗口渲染方法,其特征在于,所述方法包括:
    获取窗口信息,所述窗口信息包括一个应用的至少一个预设的辅助窗口的标识信息;
    根据所述窗口信息,按照第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述应用的除所述辅助窗口外的其他窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
  6. 一种窗口渲染装置,其特征在于,所述装置包括:
    输入单元,用于获取窗口信息,所述窗口包括同一应用的至少一个第一窗口和至少一个第二窗口;
    渲染单元,用于根据所述窗口信息,确定所述第一窗口或者所述第二窗口,按照第一分辨率对所述第二窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲 染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
  7. 根据权利要求6所述装置,其特征在于,所述窗口信息包括一个应用的多个窗口的类型和所述多个窗口之间的继承关系;
    所述装置还包括处理单元,用于根据所述窗口信息,确定所述第一窗口或者所述第二窗口具体包括:根据所述多个窗口的类型,以及所述多个窗口之间的继承关系,确定所述应用的至少一个第一窗口;
    所述渲染单元具体用于,按照第一分辨率对所述应用的除所述第一窗口外的其他窗口的内容进行渲染,按照第二分辨率对所述第一窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率。
  8. 根据权利要求6或7所述装置,其特征在于,所述第一分辨率比所述第二分辨率更接近所述系统原始分辨率。
  9. 根据权利要求8所述装置,其特征在于,所述第一分辨率为所述系统原始分辨率。
  10. 一种窗口渲染装置,其特征在于,所述装置包括:
    输入单元,用于获取窗口信息,所述窗口信息包括一个应用的至少一个预设的辅助窗口的标识信息;
    渲染单元,用于根据所述窗口信息,按照第一分辨率对所述辅助窗口的内容进行渲染,按照第二分辨率对所述应用的除所述辅助窗口外的其他窗口的内容进行渲染,其中,所述第二分辨率不同于系统原始分辨率,所述第一分辨率不同于所述第二分辨率,所述系统原始分辨率为操作系统渲染窗口使用的默认分辨率。
  11. 一种终端,其特征在于,所述终端包括显示设备、渲染设备和存储设备,其中,
    所述渲染设备用于读取所述存储设备中存储的指令或数据,用以执行前述权利要求1-5中任一所述方法;
    所述显示设备用于显示所述渲染设备渲染后的内容。
PCT/CN2017/106106 2016-12-30 2017-10-13 一种窗口渲染方法及终端 WO2018120992A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17887832.8A EP3557520A4 (en) 2016-12-30 2017-10-13 WINDOW RENDERING METHOD AND TERMINAL
US16/456,823 US20190325562A1 (en) 2016-12-30 2019-06-28 Window rendering method and terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611265865.6A CN108269222A (zh) 2016-12-30 2016-12-30 一种窗口渲染方法及终端
CN201611265865.6 2016-12-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/456,823 Continuation US20190325562A1 (en) 2016-12-30 2019-06-28 Window rendering method and terminal

Publications (1)

Publication Number Publication Date
WO2018120992A1 true WO2018120992A1 (zh) 2018-07-05

Family

ID=62707685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/106106 WO2018120992A1 (zh) 2016-12-30 2017-10-13 一种窗口渲染方法及终端

Country Status (4)

Country Link
US (1) US20190325562A1 (zh)
EP (1) EP3557520A4 (zh)
CN (1) CN108269222A (zh)
WO (1) WO2018120992A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918598A (zh) * 2019-03-07 2019-06-21 四川长虹电器股份有限公司 一种基于Android电视浏览器的web页面渲染方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806912B (zh) * 2019-10-30 2024-01-30 Oppo广东移动通信有限公司 界面处理方法及相关设备
CN114637559B (zh) * 2020-12-15 2023-11-24 博泰车联网科技(上海)股份有限公司 显示开机界面的方法、系统、设备及存储介质
CN112596850A (zh) * 2021-03-03 2021-04-02 全时云商务服务股份有限公司 针对多窗口应用程序的控制方法及系统
CN113316020B (zh) * 2021-05-28 2023-09-15 上海曼恒数字技术股份有限公司 一种渲染方法、装置、介质及设备
CN113436564B (zh) * 2021-06-18 2022-07-01 海信视像科技股份有限公司 一种epos的展示方法及显示设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2053592A2 (en) * 2007-10-26 2009-04-29 Mitel Networks Corporation Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes
CN103297855A (zh) * 2012-03-02 2013-09-11 腾讯科技(深圳)有限公司 一种应用展示方法以及一种终端
CN105847938A (zh) * 2016-04-19 2016-08-10 乐视控股(北京)有限公司 一种视频显示方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613269A (en) * 1984-02-28 1986-09-23 Object Recognition Systems, Inc. Robotic acquisition of objects by means including histogram techniques
US6570595B2 (en) * 1999-06-24 2003-05-27 Xoucin, Inc. Exclusive use display surface areas and persistently visible display of contents including advertisements
US6683629B1 (en) * 2000-08-03 2004-01-27 Neoplanet, Inc. Method in a computer system for embedding a child window in a parent window
JP2012525076A (ja) * 2009-04-24 2012-10-18 デルタ・ヴィディオ・インコーポレイテッド デジタルビデオ配信システムにおける即時マルチチャネルビデオコンテンツブラウジングのためのシステム、方法、およびコンピュータ可読媒体
CN101582942A (zh) * 2009-05-31 2009-11-18 魏新成 一种浏览web网页的移动信息设备和方法
US8982151B2 (en) * 2010-06-14 2015-03-17 Microsoft Technology Licensing, Llc Independently processing planes of display data
US8538947B2 (en) * 2011-04-08 2013-09-17 Autodesk, Inc. Method of providing instructional material while a software application is in use
CN103139478B (zh) * 2013-01-30 2016-08-03 厦门美图网科技有限公司 一种主副画面实时渲染的拍照方法
CN104503655B (zh) * 2014-11-28 2017-12-08 晨星半导体股份有限公司 应用程序界面显示控制方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2053592A2 (en) * 2007-10-26 2009-04-29 Mitel Networks Corporation Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes
CN103297855A (zh) * 2012-03-02 2013-09-11 腾讯科技(深圳)有限公司 一种应用展示方法以及一种终端
CN105847938A (zh) * 2016-04-19 2016-08-10 乐视控股(北京)有限公司 一种视频显示方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3557520A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918598A (zh) * 2019-03-07 2019-06-21 四川长虹电器股份有限公司 一种基于Android电视浏览器的web页面渲染方法
CN109918598B (zh) * 2019-03-07 2022-10-18 四川长虹电器股份有限公司 一种基于Android电视浏览器的web页面渲染方法

Also Published As

Publication number Publication date
EP3557520A4 (en) 2020-01-08
US20190325562A1 (en) 2019-10-24
CN108269222A (zh) 2018-07-10
EP3557520A1 (en) 2019-10-23

Similar Documents

Publication Publication Date Title
WO2018120992A1 (zh) 一种窗口渲染方法及终端
US10949154B2 (en) Systems and methods for using screen sampling to detect display changes
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US9070211B1 (en) Webview tag for a sandboxed multiprocess browser
US20130063473A1 (en) System and method for layering using tile-based renderers
CN103677777B (zh) 调用应用程序组件的方法及装置
US11443490B2 (en) Snapping, virtual inking, and accessibility in augmented reality
US20140281897A1 (en) Switching to and from native web applications
US20130063445A1 (en) Composition System Thread
US20190080017A1 (en) Method, system, and device that invokes a web engine
CN110781067A (zh) 一种启动耗时的计算方法、装置、设备和存储介质
US10592063B1 (en) Controlling actions for browser extensions
CN113655975B (zh) 图像显示方法、装置、电子设备和介质
US9460481B2 (en) Systems and methods for processing desktop graphics for remote display
US9058759B2 (en) Virtual display device drivers compatible with windows display driver model
CN110941408B (zh) 一种kvm虚拟机图形界面输出方法及装置
CN111460342B (zh) 页面的渲染展示方法、装置、电子设备及计算机存储介质
US9830202B1 (en) Storage and process isolated web widgets
CN113888684A (zh) 图形渲染方法、设备及计算机存储介质
US11599599B1 (en) Emulating a transparency effect for a display element
CN115698988A (zh) 用于经由远程浏览器实例查看不兼容网页的系统和方法
CN112367295A (zh) 插件展示方法及装置、存储介质及电子设备
CN117234655B (zh) 基于安卓系统运行Linux桌面程序的方法、装置、设备及介质
CN111054072A (zh) 一种角色模型拖尾的方法、装置、设备及存储介质
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction

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: 17887832

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017887832

Country of ref document: EP

Effective date: 20190715