CN103106058B - A kind of double-screen display method and intelligent display terminal based on android system - Google Patents

A kind of double-screen display method and intelligent display terminal based on android system Download PDF

Info

Publication number
CN103106058B
CN103106058B CN201310030743.9A CN201310030743A CN103106058B CN 103106058 B CN103106058 B CN 103106058B CN 201310030743 A CN201310030743 A CN 201310030743A CN 103106058 B CN103106058 B CN 103106058B
Authority
CN
China
Prior art keywords
gralloc
modules
display screen
equipment
frame buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310030743.9A
Other languages
Chinese (zh)
Other versions
CN103106058A (en
Inventor
孙向作
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
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 TCL Corp filed Critical TCL Corp
Priority to CN201310030743.9A priority Critical patent/CN103106058B/en
Publication of CN103106058A publication Critical patent/CN103106058A/en
Application granted granted Critical
Publication of CN103106058B publication Critical patent/CN103106058B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Digital Computer Display Output (AREA)

Abstract

The present invention is applied to the communications field there is provided a kind of double-screen display method based on android system and intelligent display terminal, the described method comprises the following steps:The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;Control the first display screen to be shown by the first Gralloc modules and the first frame buffer zone equipment and/or control second display screen to be shown with the second frame buffer zone equipment by the 2nd Gralloc modules.So, support shuangping san is achieved that, when two display screens mutually switch, the resolution ratio of two screens is fixed, and window adjustment need not be carried out after tangent screen, tangent screen efficiency is improved.

Description

A kind of double-screen display method and intelligent display terminal based on android system
Technical field
The invention belongs to the communications field, more particularly to a kind of double-screen display method and intelligence based on android system are aobvious Show terminal.
Background technology
As the technology of the communications field is continued to develop and ripe, in the communication equipment become increasingly popular, particularly intelligence is aobvious Show terminal(Such as mobile terminal, intelligent television)Middle software function application is increasingly enriched, and the individual demand of user is increasingly It is many.
Android platform has become one of most important operating system of intelligent display terminal.Although Android platform mesh Preceding directly support is that single screen is shown, multiple display screens are not supported directly, but due to SurfaceFlinger in android system Service(Service for management system frame buffer zone equipment)Multiple DisplayHardware can be supported simultaneously(For describing The object of system display), that is, there is the possibility for supporting multiple display screens simultaneously.At present, Android platform shuangping san is supported Method it is perfect not enough, its substantially in systems increase by one description display screen DisplayHardware objects, pass through The object is controlled with the original DisplayHardware objects of system to realize shuangping san and switching display screen.But due to double Shield in Display Technique, the content that usual two display screen is shown emphasizes particularly on different fields, the requirement to display effect is different, therefore usual two The resolution ratio of display screen is also different, and existing double-screen display method needs to carry out window adjustment after switching display screen, and not Two display screens are supported to show simultaneously(I.e. two display screens can only use one).
The content of the invention
In order to solve the above problems, it is an object of the invention to provide a kind of shuangping san side based on android system Method.
The present invention is achieved in that a kind of double-screen display method based on android system, and methods described includes following Step:
The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules and the first frame Buffering area equipment and the binding of the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;
The first display screen is controlled to be shown and/or passed through with the first frame buffer zone equipment by the first Gralloc modules 2nd Gralloc modules are shown with the second frame buffer zone equipment control second display screen.
Further, the first Gralloc modules are entered with the first frame buffer zone equipment and the first display screen using following steps Row binding:
The graphic buffer that application program in user's space is distributed by the first Gralloc modules application is mapped to should With in the address space of program;
The graphic buffer applied is rendered into by the application program in user's space by the first frame buffer zone equipment In first display screen correspondence frame buffer zone;
2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen using following steps:
The graphic buffer that application program in user's space is distributed by the 2nd Gralloc modules application is mapped to should With in the address space of program;
The graphic buffer applied is rendered into by the application program in user's space by the second frame buffer zone equipment In the corresponding frame buffer zone of second display screen.
Further, the figure distributed in the application program by user's space by the first Gralloc modules application Shape Buffer mapping is to also including step before the step in the address space of application program:
It is big with the screen of the first display screen to distribute one to start the first Gralloc equipment in the first Gralloc modules The small graphic buffer matched;
The graphic buffer distributed in the application program by user's space by the 2nd Gralloc modules application is reflected Being mapped to before the step in the address space of application program also includes step:
It is big with the screen of second display screen to distribute one to start the 2nd Gralloc equipment in the 2nd Gralloc modules The small graphic buffer matched.
Another object of the present invention is to provide a kind of intelligent display terminal based on android system, the intelligence shows Show that terminal includes:
Double Gralloc module loadings modules, for loading the first Gralloc modules and the 2nd Gralloc modules;Wherein, First Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are buffered with the second frame Area's equipment and second display screen binding;
Display module is controlled, controls the first display screen to carry out with the first frame buffer zone equipment by the first Gralloc modules Show and/or control second display screen to be shown with the second frame buffer zone equipment by the 2nd Gralloc modules.
Further, the intelligent display terminal also includes:
First binding module, for the first Gralloc modules and the first frame buffer zone equipment and the first display screen to be bound;
Second binding module, for the 2nd Gralloc modules and the first frame buffer zone equipment, second display screen to be bound.
Further, first binding module includes:
First Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into first The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
First Gralloc modules graphic buffer rendering module, the first frame is passed through for the application program in user's space The graphic buffer applied is rendered into the first display screen correspondence frame buffer zone by buffering area equipment;
Second binding module includes:
2nd Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into second The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
2nd Gralloc modules graphic buffer rendering module, the second frame is passed through for the application program in user's space The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by buffering area equipment.
Further, first binding module also includes:First display screen correspondence figure Buffer allocation module, is used for The first Gralloc equipment started in the first Gralloc modules matches to distribute the screen size of one and the first display screen Graphic buffer;
Second binding module also includes:
Second display screen correspondence figure Buffer allocation module, for starting second in the 2nd Gralloc modules The graphic buffer that Gralloc equipment matches to distribute one with the screen size of second display screen.
There are two independent Gralloc modules in the present invention simultaneously, wherein the first Gralloc modules are buffered with the first frame Area's equipment and the binding of the first display screen, the 2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen.Cause This, the same time individually can not only show in the first display screen or second display screen(That is the first display screen and the second display Screen is independent of one another), also support two display screens to show simultaneously.When two display screens mutually switch(Which select by display screen To show)When, the resolution ratio of two display screens is fixed, and window adjustment need not be carried out after tangent screen(When selecting the first display screen When, use the first frame buffer zone equipment;When selecting second display screen, the second frame buffer zone equipment is used, therefore not Need to carry out window adjustment), improve tangent screen efficiency.
Brief description of the drawings
Fig. 1 is the flow chart of the double-screen display method provided in an embodiment of the present invention based on android system;
Fig. 2 is the flow chart of double screen initialization provided in an embodiment of the present invention;
Fig. 3 is FrameBuffer initialization flowcharts provided in an embodiment of the present invention;
Fig. 4 is OpenGL ES initialization flowcharts provided in an embodiment of the present invention;
Fig. 5 is double screen switching flow figure provided in an embodiment of the present invention;
Fig. 6 is the structured flowchart of the intelligent display terminal provided in an embodiment of the present invention based on android system.
Embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples The present invention is further elaborated.It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, and It is not used in the restriction present invention.
In android system, the support to hardware is divided into two layers, one layer is user's space, another layer is that kernel is empty Between, kernel-driven layer operates in kernel spacing, hardware abstraction layer(That is HAL)Operate in user's space.
Hardware abstraction layer, is exactly the encapsulation that layer program is driven to linux kernel in simple terms, interface, screen is provided to upper strata Cover bottom realizes details.Kernel-driven layer only provides simple access hardware logic, for example, read and write the passage of hardware register, What what, as having read value from hardware or having write logic of the value into hardware, all it is placed in hardware abstraction layer.
The present embodiments relate to gralloc modules (gralloc is identical with Gralloc, case-insensitive) be hard Display screen in a module in part level of abstraction, android equipment is abstracted into a frame buffer zone(FrameBuffer), And gralloc modules then encapsulate all access operation to frame buffer zone.
The application program of user's space first has to load gralloc modules, secondly obtains one before using frame buffer zone Individual gralloc equipment and a fb equipment(Frame buffer zone equipment).Gralloc equipment is used for distributing graphic buffer, fb equipment For graphic buffer is rendered into frame buffer zone.
Have after gralloc equipment, the application program in user's space can just apply distributing a block graphics buffering area, And the address space of this block graphics Buffer mapping to application program is come, so as to write the picture to be drawn to the inside Content.Finally, the application program in user's space is just by fb equipment by the graphic buffer being above already prepared to It is rendered into frame buffer zone, i.e., the content of graphic buffer is plotted in display screen, realizes display function.Correspondingly, When the application program in user's space no longer needs to use a block graphics buffering area, it is possible to pass through gralloc equipment To discharge it, and by it from address space it is unmapped, so as to no longer realize display function.This is Android system The general principle that middle control display screen is shown.
In various embodiments of the present invention, the Gralloc modules that the first Gralloc modules can be carried as system are temporarily referred to as Gralloc0 modules, the first frame buffer zone equipment can be considered as the frame buffer zone equipment that system is carried(That is fb equipment), temporarily claim For fb0 equipment;2nd Gralloc modules can be considered as a newly-increased Gralloc module of various embodiments of the present invention, temporarily be referred to as Gralloc1 modules, the second frame buffer zone equipment can be considered as the newly-increased frame buffer zone of one of various embodiments of the present invention and set It is standby, temporarily it is referred to as fb1 equipment.
The embodiment of the present invention increases Gralloc1 modules and the method for acquisition fb1 equipment newly:Due to each hardware The module of level of abstraction has an ID value, the function hw_get_ for calling hardware abstraction layer to provide using these ID values as parameter Module can just arrive specified module loading internal memory, and it is corresponding to open to obtain a hw_module_t interface Equipment(Such as gralloc equipment or fb equipment), therefore can be by defining the ID values of Gralloc modules and the ID values of fb equipment To add Gralloc modules and obtain fb equipment.
The ID values of Gralloc modules are defined on android system
In hardware/libhardware/include/hardware/gralloc.h files.
The gralloc1 moulds defined in hardware/libhardware/include/hardware/gralloc.h files The ID of block is #define GRALLOC_HARDWARE_MODULE_ID1 " gralloc1 " and #define GRALLOC_ HARDWARE_GPU1"gpu1″。
(Gpu1 definition is used to pass through this grand opening gralloc equipment, i.e. function in gralloc.cpp files Gralloc_device_open () is mainly opening GRALLOC_HARDWARE_GPU(That is " gpu " equipment).
The ID values of the fb1 equipment defined in hardware/libhardware/include/hardware/fb.h files For #define GRALLOC_HARDWARE_FB0 " fb1 ".
Because the module of each hardware abstraction layer is required for export one entitled
HAL_MODULE_INFO_SYM_AS_STR symbol, that is to say, that in the module of each hardware abstraction layer Portion, it is necessary to which definition has a variable entitled
HAL_MODULE_INFO_SYM symbol, therefore in two symbols of gralloc1 module definitions:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and
HAL_MODULE_INFO_SYM_FOR_SND。
Based on above-mentioned introduction, various embodiments of the present invention are described below.
Fig. 1 shows the flow of the double-screen display method provided in an embodiment of the present invention based on android system, is described in detail such as Under:
In step S101, when android system starts, Gralloc0 modules are loaded, meanwhile, also load Gralloc1 Module.
In the present embodiment, Gralloc1 modules are that the Gralloc0 modules carried according to android system are extended, It can be identical with Gralloc0 modules.Now, just there are 2 Gralloc modules in the android system of the present embodiment.
Before the step is implemented, first Gralloc0 modules and fb0 equipment and the first display screen are bound, the present invention is used as Embodiment, it is described to include Gralloc0 modules and fb0 equipment and the binding of the first display screen:
The graphic buffer that application program in user's space is distributed by the application of Gralloc0 modules is mapped to application In the address space of program;
The graphic buffer applied is rendered into the first display screen by the application program in user's space by fb0 equipment In corresponding frame buffer zone.
As embodiments of the invention, system Gralloc0 modules Shen is passed through in the application program by user's space The graphic buffer that please be distributed, which is mapped to before the step in the address space of application program, also includes step:
Start the first Gralloc equipment in Gralloc0 modules to distribute the screen size phase of one and the first display screen The graphic buffer of matching.
Before the step is implemented, in addition it is also necessary to which Gralloc1 modules and fb1 equipment and second display screen are bound.
It is described the step of bind Gralloc1 modules and fb1 equipment and second display screen as embodiments of the invention Including:
The graphic buffer that application program in user's space is distributed by the application of Gralloc1 modules is mapped to application In the address space of program;
The graphic buffer applied is rendered into second display screen by the application program in user's space by fb1 equipment In corresponding frame buffer zone.
In the present embodiment, the figure distributed in the application program by user's space by the application of Gralloc1 modules Shape Buffer mapping is to also including step before the step in the address space of application program:
Start the 2nd Gralloc equipment in Gralloc1 modules to distribute the screen size phase of one and second display screen The graphic buffer of matching.
In step s 102, the first display screen is controlled to be shown and/or passed through by Gralloc0 modules and fb0 equipment Gralloc1 modules are shown with fb1 equipment control second display screen.
I.e. when needing to switch to the first display screen to be shown, pass through Gralloc0 modules and fb0 equipment control first Display screen is shown;When needing to switch to second display screen to be shown, controlled by Gralloc1 modules and fb1 equipment Second display screen is shown;When needing two display screens to be shown, controlled by Gralloc0 modules and fb0 equipment First display screen shown, meanwhile, control second display screen to be shown with fb1 equipment by Gralloc1 modules.
The present embodiment described in detail below controls the detailed process that the first display screen and/or second display screen are shown, Its initialization for mainly including double screen and the handoff procedure of double screen.
Refering to Fig. 2,3,4 and 5, wherein, Fig. 2 shows the implementation stream of the initialization for the double screen that inventive embodiments are provided Journey, Fig. 3 shows the FrameBuffer initialization flows that inventive embodiments are provided, and Fig. 4 shows provided in an embodiment of the present invention OpenGL ES initialize flow.
Under single display screen pattern, all display output work can only be carried out on this display screen, and in dual display Under screen pattern, due to adding gralloc1 modules within the system, and gralloc0 modules are that fb0 device maps have been arrived use Family space is simultaneously bound with the first display screen, and gralloc1 modules are then that fb1 device maps have been arrived user's space and shown with second Display screen is bound, so display output work just has three kinds of possible situations:Individually on the first display screen and second display screen Show, while showing screen displays at two.
Refering to Fig. 2, it is double screen initialization idiographic flow, all preparations before display output is completed in its initialization procedure Work, mainly includes both sides work:One is the initialization of FrameBuffer (frame buffer zone)(Refering to Fig. 3);The second is OpenGL ES(OpenGL ES are a kind of three dimentional graph display API, belong to OpenGL 3-D graphic API subset, are mainly used in The embedded devices such as mobile phone, PDA and game host)Initialization(Refering to Fig. 4).Wherein, DisplayHardware0 and The process and principle of FrameBuffer and OpenGL ES initialization in DisplayHardware1 objects are essentially the same, mainly Difference is that parameter therein is different.It is specific that details are as follows:
In step s 201, the SurfaceFlinger services to management system frame buffer zone equipment are initialized.
System_init processes are Android initialization processes, and when Android starts, it can start first.This step It is rapid to complete the establishment of SurfaceFlinger services mainly in System_init processes, and created By calling its internal status_t SurfaceFlinger when SurfaceFlinger is serviced::ReadyToRun () letter Count up into initial work.
In step S202, the object DisplayHardware0 of the display screen of description system first is initialized.
The each element created in SurfaceFlinger classes in the array of pointers that a length is 2, array is all pointed to One represent corresponding display screen DisplayHardware objects, performing status_t SurfaceFlinger:: When code in readyToRun () carries out SurfaceFlinger service initialisations, respectively the first display screen and second shows Display screen creates a DisplayHardware object, respectively DisplayHardware0 and DisplayHardware1, then Two DisplayHardware pointers for allowing SurfaceFlinger to service are respectively directed to the two DisplayHardware pairs As.
When creating DisplayHardware objects, it is by calling the void DisplayHardware of its own:: Init (uint32_t dpy) function completes initial work.
In step S203, to connection OpenGL storehouses and Android UI systems FramebufferNativeWindow0 objects are initialized.
In step S204, OpenGL ES0 are initialized.
In step S205, the DisplayHardware1 objects for describing system second display screen are initialized.
In step S206, to connection OpenGL storehouses and Android UI systems FramebufferNativeWindow1 objects are initialized.
In step S207, OpenGL ES1 are initialized.
In step S208, the drawing surface where the object for describing the display screen of system first and drawing context are set Drawing surface and the drawing context of thread are rendered for the UI of the service of management system frame buffer zone.
After the initialization is completed, it can't be used directly to the UI of rendering system to DisplayHardware objects, because Drawing surface that it is initialized and drawing context be not as the drawing surface of current thread and drawing context. This is due to that SurfaceFlinger services can be while support multiple DisplayHardware objects, i.e., while supporting multiple What display screen was caused.
It is as described above, although to be initialized in the member function readyToRun of SurfaceFlinger classes Two objects of DisplayHardware0 and DisplayHardware1, and the two objects are all in SurfaceFlinger clothes The UI of business renders what is created in thread, is shown if system is started into the first display screen of acquiescence, in order to set it as system Main display, i.e., main drawing surface, the member function readyToRun of SurfaceFlinger classes is finally called Drawing surface where it and drawing context are set to by DisplayHardware0 member function makeCurrent The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.
EGLBoolean eglMakeCurrent are called in function void makeCurrent () const (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) function will be created Drawing surface and drawing context be set to drawing surface and the drawing context of current thread, that is, be set to The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.So system completes to give tacit consent to after starting Shown by the first display screen.
It is FrameBuffer initialization flow provided in an embodiment of the present invention, when it is implemented, needing difference refering to Fig. 3 Frame buffer zone FrameBuffer0 corresponding to the first display screen initialization, and the corresponding frame buffer zone of second display screen FrameBuffer1 initialization.
In step S301, gralloc module of the loading encapsulation to the operation of frame buffer zone.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, it is loaded with encapsulation To the gralloc0 modules of frame buffer zone FrameBuffer0 operation;And carrying out the corresponding frame buffer zone of second display screen During FrameBuffer1 initialization, then loading encapsulates the gralloc1 moulds of the operation to frame buffer zone FrameBuffer1 Block.
In step s 302, frame buffer zone equipment and gralloc equipment are opened.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, fb0 equipment is opened With the first Gralloc equipment(Temporarily it is referred to as gralloc0 equipment).And carrying out the corresponding frame buffer zone of second display screen During FrameBuffer1 initialization, then fb1 equipment and the 2nd Gralloc equipment are opened(Temporarily it is referred to as gralloc1 equipment).
In step S303, by system-frame Buffer mapping into current process space.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, by fb0 equipment institute The system-frame Buffer mapping of description is into current process space.And carrying out the corresponding frame buffer zone of second display screen During FrameBuffer1 initialization, by the system-frame Buffer mapping described by fb1 equipment into current process space.
In step s 304, equipment of the encapsulation to the operation of frame buffer zone is opened.
The process of the corresponding frame buffer zone FrameBuffer0 of first display screen initialization is:Loading encapsulation is slow to the frame Rush the gralloc0 modules of area FrameBuffer0 operation, open fb0 equipment and gralloc0 equipment, and by fb0 equipment institute The system-frame Buffer mapping of description obtains and initialized the display screen in OpenGL ES storehouses into current process space, then, i.e., First display screen of DisplayHardware0 object factories.
The process of the corresponding frame buffer zone FrameBuffer1 of second display screen initialization is:Loading encapsulation is slow to the frame The module gralloc1 modules of area FrameBuffer1 operation are rushed, fb1 equipment and gralloc1 equipment are opened, and fb1 is set Standby described system-frame Buffer mapping obtains and initialized the display in OpenGL ES storehouses into current process space, then Screen, the i.e. second display screen of DisplayHardware1 object factories.
Fig. 4 shows OpenGL ES initialization flow provided in an embodiment of the present invention, and details are as follows:
In step S401, the display screen in initialization OpengGL storehouses is obtained.
In step S402, the system main drawing surface described by FramebufferNativeWindow objects is obtained Configuration information.
In step S403, main drawing surface and the context of system are created.
In the present embodiment, constructed during DisplayHardware is constructed FramebufferNativeWindow, and initialized in FramebufferNativeWindow construction process FrameBuffer.I.e. create FramebufferNativeWindow objects, and be stored in DisplayHardware classes into In member's variable mNativeWindow, for managing hardware frame buffer.There is this FramebufferNativeWindow pairs As after, it is possible to believed by the dot density and refreshing frequency of a fb equipment to obtain hardware frame buffer inside it etc. Breath.FramebufferNativeWindow classes are used to manage hardware frame buffer, for local in OpenGL storehouses and Android Connection is set up between window system, in this manner it is possible to be distributed using its member function dequeueBuffer for OpenGL storehouses Graphics adapter buffering area, and OpenGL has been had been filled with to the figure of UI data using its member function queueBuffer Shape buffering area is rendered into hardware frame buffer.
The graphic buffer that FramebufferNativeWindow classes are used is directly to be distributed in hardware frame buffer, And these graphic buffers directly can be rendered into hardware frame buffer by it.To be distributed from hardware frame buffer and Graphic buffer is rendered, just has to come the gralloc module loadings in HAL layers to the current process space, and open The gralloc equipment and fb equipment of the inside, wherein, gralloc equipment is used for distributing graphic buffer, and fb equipment is used for rendering Graphic buffer.And a type of FramebufferNativeWindow classes is alloc_device_t* member variable The member variable fbDev that grDev and type is framebuffer_device_t*, they are respectively directed in HAL layers The gralloc equipment and fb equipment of gralloc modules.
By changing FramebufferNativeWindow constructed fuction, by DisplayHardware::init Dpy parameters in (uint32_t dpy) function are used as the parameter of FramebufferNativeWindow constructed fuctions, i.e. basis Dpy value creates corresponding gralloc equipment and fb equipment(During dpy=0, gralloc0 equipment and fb0 equipment are created;dpy=1 When, create gralloc1 equipment and fb1 equipment.), so that by the first display screen described by DisplayHardware0 with Gralloc0 equipment, fb0 apparatus bounds, by the second display screen described by DisplayHardware1 and gralloc1 equipment, Fb1 apparatus bounds.The graphic buffer that the application program in user's space is distributed by the application of gralloc0 modules maps Into the address space of application program, application program in user's space is by fb0 equipment by the graphic buffer applied It is rendered into the FrameBuffer0 of frame buffer zone.So, the content of graphic buffer is plotted to DisplayHardware0 pairs In the first display screen as described in.The figure that the application program in user's space is distributed by the application of gralloc1 modules simultaneously Shape Buffer mapping is into the address space of application program, and the application program in user's space will have been applied by fb1 equipment Graphic buffer be rendered into the FrameBuffer1 of frame buffer zone, so, the content of graphic buffer is plotted to In the second display screen of DisplayHardware1 object factories.
For gralloc modules, function hw_get_module (const char*id, const struct hw_ Module_t**module effect) is to check whether to deposit successively in catalogue/system/lib/hw and/vendor/lib/hw In file:gralloc.<ro.hardware>.so、gralloc.<ro.product.board>.so、gralloc.< ro.board.platform>.so、gralloc.<ro.arch>.so, as long as one of file is present, function hw_get_ Module will stop search procedure, and call another function load that this file is loaded into internal memory.Separately On the one hand, if not depositing these files in/system/lib/hw and/vendor/lib/hw, then function hw_get_ Module will search whether the text that there is an entitled gralloc.default.so in catalogue/system/lib/hw Part.If it exists, so also can call function load load it into internal memory.
In Linux system, the file of suffix entitled " so " is dynamic link library file, can be added by function dlopen It is downloaded in internal memory.Each hardware abstraction layer module must export a designation for HAL_MODULE_ in Android INFO_SYM_AS_STR symbol.In each HAL inside modules, while in the presence of an entitled HAL_MODULE_ of variable INFO_SYM symbol, its value is corresponding with grand HAL_MODULE_INFO_SYM_AS_STR.
After gralloc module loadings are come into internal memory, it is possible to which call function dlsym accords with to obtain derived from its institute Number HMI.What it is due to the sensing of this symbol is a hw_module_t structure, and caller obtains this hw_module_t knots After structure body pointer, it is possible to create a gralloc equipment or a fb equipment.
There is the member variable methods that a type is hw_module_methods_t in hw_module_t structures, For describing the operating method list of a HAL module.Structure hw_module_methods_t has only defined an operation side Method open, for opening the equipment specified.In gralloc modules, it is designated as the function of opening designated equipment Gralloc_device_open, the gralloc equipment or fb that can be just opened by this function in gralloc modules is set It is standby.
As described above, the ID values of gralloc0 modules are GRALLOC_HARDWARE_MODULE_ID, gralloc1 modules ID values be GRALLOC_HARDWARE_MODULE_ID1, function hw_get_module opens corresponding according to dpy parameters Gralloc modules, i.e., carry out the gralloc module loadings in HAL layers to current process, and according to dpy parameter call functions Framebuffer_open and gralloc_open open fb equipment and gralloc equipment in gralloc modules respectively.
As it was previously stated, in FramebufferNativeWindow constructed fuction incoming parameter dpy, function hw_get_ Module can open gralloc0 equipment or gralloc1 equipment, framebuffer_open meetings according to incoming dpy selections Fb0 equipment or fb1 equipment are opened according to incoming dpy selections, gralloc_open can select to open according to incoming dpy Gpu0 or gpu1.After fb equipment and gralloc equipment in gralloc modules are opened, just it is stored in respectively In the member variable fbDev and grDev of FramebufferNativeWindow classes.According to above establishment two DisplayHardware objects, here gralloc0 modules and newly-increased grallco1 modules all open, in order to preserve The fb1 equipment and gralloc1 equipment opened in gralloc1 modules, are increased newly into FramebufferNativeWindow classes Member's variable fbDev4Snd and grDev4Snd.
Open after fb equipment, call function mapFrameBuffer is used for obtaining the information of system frame buffer zone, and will System-frame Buffer mapping comes to the address space of current process.And function mapFrameBuffer is called MapFrameBufferLocked () function, in mapFrameBufferLocked () function, still exists according to dpy parameters Checked in system device file/dev/graphics/fb0 ,/dev/fb0 ,/dev/graphics/fb1 or/ dev/fb1.If it exists, so opening it with regard to call function open, and obtained filec descriptor is stored in In variable fd.So, following function mapFrameBufferLocked just can by filec descriptor fd come with kernel The interaction of frame buffer zone driver.As it was previously stated, gralloc0 modules and newly-increased grallco1 modules are all opened, and two Device file fb0 and fb1 are opened.
Fig. 5 is double screen switching flow provided in an embodiment of the present invention, and its substantially process is as follows:When switching display screen event hair When raw, SurfaceComposerClient can obtain sensing SurfaceFlinger IBinder objects first, then SurfaceFlinger tangent screen processing method static native void changeScreen (int are accessed by it Screen), and using the display screen number after tangent screen as parameter SurfaceFlinger is passed to, SurfaceFlinger is according to setting Standby number is handled accordingly.
Double screen switching detailed process is described as follows:
In step S501, screen number to be shown is inputted.The screen number to be shown refers to the display screen reference numeral after tangent screen.
In the present embodiment, screen number to be shown include 0,1 or 2 these three.0 represents the first display screen, and 1, which represents second, shows Display screen, 2 represent while using first and second display screen.
Whether in step S502, it is 0 to judge screen number to be shown.When screen number to be shown is 0, step S503 is performed, it is no Then perform step S504.
In step S503, the Displayware0 objects for setting description system display are currently used display screen. Perform after the step, jumped to step S507.
Whether in step S504, it is 1 to judge screen number to be shown.If 1, then step S505 is performed, step is otherwise performed Rapid S506.
In step S505, the Displayware1 objects for setting description system display are currently used display screen. Perform after the step, jumped to step S507.
In step S506, the Displayware0 objects and Displayware1 objects for setting description system display are Currently used display screen.
In step s 507, operation processing mark is set.
In step S508, judging circular wait, whether event occurs.Continued waiting for if not(Perform repeatedly Step S508)If event occurs, step S509 is performed.
In step S509, operation processing request has been set, processing operation is carried out.
In step S510, analysis operation processing identifies and judges whether it is tangent screen event.When for tangent screen event, perform Step S511, otherwise terminates whole tangent screen flow.
In step S511, the object of corresponding description system display is found according to screen number to be shown.
In step S512, by the drawing surface where the object of description system display to be shown and drawing context The UI for being set to the service of management system frame buffer zone renders drawing surface and the drawing context of thread.
In step S513, output display content again.
For processing screens switch, SurfaceFlinger increases static native void changeScreen (int newly Screen) function is used to complete corresponding processing, and the SurfaceFlinger letter is called in SurfaceComposerClient During number, tangent screen parameter passes to the function, and the function is first by calling void setCurrentDisplayId (int32_t Dpy currently used screen) is specified, if parameter is equal to 0, specifies the first display screen of Displayware0 object factories to work as The preceding screen used.If parameter is equal to 1, the second display screen for specifying Displayware1 object factories is currently used screen Curtain.If parameter is equal to 2, specify simultaneously the first display screen of Displayware0 object factories for currently used screen with And the second display screen of specified Displayware1 object factories is currently used screen(I.e. currently used double screen).
As it was previously stated, in double screen initialization procedure, being initialized Displayware0 objects and Displayware1 pairs As, and by the first display screen of Displayware0 object factories and gralloc0 apparatus bounds, Displayware1 objects are retouched The second display screen stated and gralloc1 apparatus bounds, and open gralloc0 equipment, fb0 equipment, gralloc1 equipment and Fb1 equipment.So when parameter is equal to 2, can by the first display screen of Displayware0 object factories and The second display screen of Displayware1 object factories is all appointed as currently used screen.Then call function is passed through Uint32_t setTransactionFlags (uint32_t flags, nsecs_t delay=0) operation processing mark is set.
SurfaceFlinger enters bool threadLoop () letter as a service processes after its startup is finished The generation of circular wait event in number, due in static native void changeScreen (int screen) function In by calling uint32_tsetTransactionFlags, (function of uint32_t flags, nsecs_t delay=0) is carried Go out operation processing request, therefore bool threadLoop () will learn that event needs processing, and processing is transferred to Void handle Transaction (uint32_t transactionFlags) functions are completed.
In function void handle Transaction (uint32_t transactionFlags), it passes through first The worth of analysis transactionFlags knows that processing event is display screen handover event, then by calling void InitializeHW () function deactivates the display screen after switching.
The display screen being being currently used is deactivated by performing function void initializeHW ().In void In initializeHW () function, corresponding DisplayHardware pairs is found according to set display screen number first As then calling DisplayHardware void makeCurrent () const functions by the drawing surface where it And drawing context is set to the UI of SurfaceFlinger services and renders drawing surface and the drawing context of thread.
EGLBoolean eglMakeCurrent are called in function void makeCurrent () const (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) is by painting for creating Chart face and drawing context are set to drawing surface and the drawing context of current thread, that is, are set to The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.
After void initializeHW () function has been performed, voidSurfaceFlinger is called:: HandleRepaint () function makes SurfaceFlinger show display content on current display screen.
Fig. 6 shows the structure of the intelligent display terminal based on android system, and the intelligent display terminal includes:It is double Gralloc module loadings module 21 and control display module 24.
Double Gralloc module loadings modules 21 are used for when android system starts, and load Gralloc0 modules, meanwhile, Also load Gralloc1 modules;Display module 24 is controlled to control the first display screen to carry out by Gralloc0 modules and fb0 equipment Show and/or control second display screen to be shown with fb1 equipment by Gralloc1 modules.Wherein, Gralloc0 modules with Fb0 equipment and the binding of the first display screen;Gralloc1 modules are bound with fb1 equipment and second display screen.
As embodiments of the invention, the intelligent display terminal also includes the first binding module 22 and the second binding module 23.First binding module 22 is used to bind Gralloc0 modules and fb0 equipment and the first display screen;Second binding module 23 For Gralloc1 modules and fb1 equipment and second display screen to be bound.
As embodiments of the invention, first binding module 22 includes:Gralloc0 module figure Buffer mappings Module 221 and Gralloc0 modules graphic buffer rendering module 222.
Gralloc0 module figure Buffer mappings module 221 is used to the application program in user's space passing through system The graphic buffer of Gralloc0 modules application distribution is mapped in the address space of application program;Gralloc0 modules figure delays Application program that area's rendering module 222 is used in user's space is rushed by the first frame buffer zone equipment fb0 by the figure applied Shape buffering area is rendered into the first display screen correspondence frame buffer zone.
As embodiments of the invention, first binding module 22 also includes:First display screen correspondence graphic buffer Distribute module 220, first display screen correspondence figure Buffer allocation module 220 is used for the screen for distributing first display screen The graphic buffer that size matches.
As embodiments of the invention, second binding module 23 includes:Gralloc1 module figure Buffer mappings Module 231 and Gralloc1 modules graphic buffer rendering module 232.Gralloc1 module figure Buffer mapping modules 231, which are used for the graphic buffer of distributing the application program in user's space by the application of Gralloc1 modules, is mapped to and applies journey In the address space of sequence;The application program that Gralloc1 modules graphic buffer rendering module 232 is used in user's space passes through The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by the second frame buffer zone equipment fb1.
As embodiments of the invention, second binding module 23 also includes:Second display screen correspondence graphic buffer Distribute module 230, second display screen correspondence figure Buffer allocation module 230 is used for the screen for distributing a second display screen The graphic buffer that size matches.
In summary, after user extends a Gralloc module, due to there are two independent Gralloc simultaneously Module, the same time individually can not only show in the first display screen or second display screen(That is the first display screen and second shows Display screen is independent of one another), also support two display screens to show simultaneously, and when showing simultaneously, can show identical content or Different contents.And the first frame buffer zone equipment fb0 and the first display screen are bound, the second frame buffer zone equipment fb1 and second shows Display screen is bound.When two display screens mutually switch(Which select to be shown by display screen)When, the resolution ratio of two screens is fixed, Window adjustment need not be carried out after tangent screen(When selecting the first display screen, the first frame buffer zone equipment fb0 is used;When When selecting second display screen, the second frame buffer zone equipment fb1 is used, therefore window adjustment need not be carried out), improve tangent screen effect Rate.
The foregoing is merely illustrative of the preferred embodiments of the present invention, is not intended to limit the invention, all essences in the present invention Any modifications, equivalent substitutions and improvements made within refreshing and principle etc., should be included in the scope of the protection.

Claims (7)

1. a kind of double-screen display method based on android system, it is characterised in that the described method comprises the following steps:
The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules are buffered with the first frame Area's equipment and the binding of the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;
The first display screen is controlled to be shown and/or by second with the first frame buffer zone equipment by the first Gralloc modules Gralloc modules control second display screen to be shown with the second frame buffer zone equipment, specifically:
The 3-D view engine API of first frame buffer zone, the second frame buffer zone and the android system is carried out initially Change, the android system completion is given tacit consent to after starting and shown by the first display screen;
When switching the generation of display screen event, by the SurfaceComposer of the android system
Client obtains sensing SurfaceFlinger Ibinder objects, then passes through the Ibinder object accesses The tangent screen processing method static native changeScreen of the SurfaceFlinger, and by the display screen after tangent screen Number the SurfaceFlinger is passed to as parameter, the SurfaceFlinger is carried out phase according to the display screen number The processing answered;
Wherein, the first Gralloc modules are the Gralloc modules that system is carried, and first frame buffer zone equipment is to be The frame buffer zone equipment that system is carried, the 2nd Gralloc modules are a newly-increased Gralloc modules, and second frame delays It is a newly-increased frame buffer zone equipment to rush area's equipment;The first Gralloc modules of loading and the 2nd Gralloc modules respectively Also include before:
The 2nd Gralloc modules are added by defining the ID values of Gralloc modules and the ID values of frame buffer zone and the second frame is slow Rush area's equipment, and two symbols of definition in the 2nd Gralloc modules:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and HAL_MODULE_INFO_SYM_FOR_SND.
2. the double-screen display method according to claim 1 based on android system, it is characterised in that the first Gralloc Module is bound with the first frame buffer zone equipment and the first display screen using following steps:
The graphic buffer that application program in user's space is distributed by the first Gralloc modules application, which is mapped to, applies journey In the address space of sequence;
The graphic buffer applied is rendered into first by the application program in user's space by the first frame buffer zone equipment In display screen correspondence frame buffer zone;
2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen using following steps:
The graphic buffer that application program in user's space is distributed by the 2nd Gralloc modules application, which is mapped to, applies journey In the address space of sequence;
The graphic buffer applied is rendered into second by the application program in user's space by the second frame buffer zone equipment In the corresponding frame buffer zone of display screen.
3. the double-screen display method according to claim 2 based on android system, it is characterised in that will be used described The graphic buffer that application program in the space of family is distributed by the first Gralloc modules application is mapped to the address of application program Also include step before step in space:
Start the first Gralloc equipment in the first Gralloc modules to distribute the screen size phase of one and the first display screen The graphic buffer of matching;
The graphic buffer distributed in the application program by user's space by the 2nd Gralloc modules application is mapped to Also include step before step in the address space of application program:
Start the 2nd Gralloc equipment in the 2nd Gralloc modules to distribute the screen size phase of one and second display screen The graphic buffer of matching.
4. a kind of intelligent display terminal based on android system, it is characterised in that the intelligent display terminal includes:
Double Gralloc module loadings modules, for loading the first Gralloc modules and the 2nd Gralloc modules;Wherein, first Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are set with the second frame buffer zone The binding of standby and second display screen;
Display module is controlled, controls the first display screen to be shown with the first frame buffer zone equipment by the first Gralloc modules And/or shown by the 2nd Gralloc modules with the second frame buffer zone equipment control second display screen, specifically:
The 3-D view engine API of first frame buffer zone, the second frame buffer zone and the android system is carried out initially Change, the android system completion is given tacit consent to after starting and shown by the first display screen;
When switching the generation of display screen event, by the SurfaceComposer of the android system
Client obtains sensing SurfaceFlinger Ibinder objects, then passes through the Ibinder object accesses The tangent screen processing method static native changeScreen of the SurfaceFlinger, and by the display screen after tangent screen Number the SurfaceFlinger is passed to as parameter, the SurfaceFlinger is carried out phase according to the display screen number The processing answered;
Wherein, the first Gralloc modules are the Gralloc modules that system is carried, and first frame buffer zone equipment is to be The frame buffer zone equipment that system is carried, the 2nd Gralloc modules are a newly-increased Gralloc modules, and second frame delays It is a newly-increased frame buffer zone equipment to rush area's equipment;Described pair of Gralloc module loadings module is loading the first Gralloc moulds It is additionally operable to before block and the 2nd Gralloc modules:
The 2nd Gralloc modules are added by defining the ID values of Gralloc modules and the ID values of frame buffer zone and the second frame is slow Rush area's equipment, and two symbols of definition in the 2nd Gralloc modules:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and HAL_MODULE_IN
FO_SYM_FOR_SND。
5. the intelligent display terminal according to claim 4 based on android system, it is characterised in that the intelligence shows Show that terminal also includes:
First binding module, for the first Gralloc modules and the first frame buffer zone equipment and the first display screen to be bound;
Second binding module, for the 2nd Gralloc modules and the first frame buffer zone equipment, second display screen to be bound.
6. the intelligent display terminal according to claim 5 based on android system, it is characterised in that described first ties up Cover half block includes:
First Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into first The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
First Gralloc modules graphic buffer rendering module, is buffered for the application program in user's space by the first frame The graphic buffer applied is rendered into the first display screen correspondence frame buffer zone by area's equipment;
Second binding module includes:
2nd Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into second The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
2nd Gralloc modules graphic buffer rendering module, is buffered for the application program in user's space by the second frame The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by area's equipment.
7. the intelligent display terminal according to claim 6 based on android system, it is characterised in that described first ties up Cover half block also includes:
First display screen correspondence figure Buffer allocation module, sets for starting the first Gralloc in the first Gralloc modules The standby graphic buffer matched to distribute one with the screen size of the first display screen;
Second binding module also includes:
Second display screen correspondence figure Buffer allocation module, sets for starting the 2nd Gralloc in the 2nd Gralloc modules The standby graphic buffer matched to distribute one with the screen size of second display screen.
CN201310030743.9A 2013-01-25 2013-01-25 A kind of double-screen display method and intelligent display terminal based on android system Expired - Fee Related CN103106058B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310030743.9A CN103106058B (en) 2013-01-25 2013-01-25 A kind of double-screen display method and intelligent display terminal based on android system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310030743.9A CN103106058B (en) 2013-01-25 2013-01-25 A kind of double-screen display method and intelligent display terminal based on android system

Publications (2)

Publication Number Publication Date
CN103106058A CN103106058A (en) 2013-05-15
CN103106058B true CN103106058B (en) 2017-08-25

Family

ID=48313950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310030743.9A Expired - Fee Related CN103106058B (en) 2013-01-25 2013-01-25 A kind of double-screen display method and intelligent display terminal based on android system

Country Status (1)

Country Link
CN (1) CN103106058B (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390397B (en) * 2013-07-24 2017-02-08 福州瑞芯微电子股份有限公司 Double screen display device and method based on Android system
CN103646638B (en) * 2013-12-25 2017-10-10 厦门雅迅网络股份有限公司 A kind of double-screen display method based on Android platform
CN105786479B (en) * 2014-12-23 2019-05-28 联芯科技有限公司 A kind of synthesis EMS memory management process and system
CN105930123B (en) * 2016-04-29 2020-02-21 联想(北京)有限公司 Display adjusting method and electronic equipment
CN106293584A (en) * 2016-08-05 2017-01-04 深圳市金立通信设备有限公司 A kind of double-screen display method and terminal
CN106354458B (en) * 2016-08-26 2019-09-20 青岛海信移动通信技术股份有限公司 Double-screen display method and device
CN107817960A (en) * 2016-09-14 2018-03-20 中兴通讯股份有限公司 A kind of screen display method and mobile terminal
CN107870794B (en) * 2016-09-23 2021-01-19 深圳联友科技有限公司 Vehicle machine sub-region display method and device
WO2018119709A1 (en) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 Memory access method, device, and electronic apparatus for multi-os system
CN106873932B (en) * 2017-02-17 2020-03-03 浙江大学 Android system server side and remote desktop image redirection method and system
CN108694028B (en) * 2017-03-15 2022-01-07 成都理想智美科技有限公司 Android system-based double-screen display method and electronic equipment
CN107423012B (en) * 2017-03-31 2018-08-07 掌阅科技股份有限公司 A kind of data display method, device and electronic equipment
CN109284151B (en) * 2017-07-19 2022-06-07 龙芯中科技术股份有限公司 Display method, display device and readable storage medium
CN107783749A (en) * 2017-11-09 2018-03-09 青岛海信移动通信技术股份有限公司 A kind of display methods of view data, device and mobile terminal
CN109978748A (en) * 2017-12-28 2019-07-05 上海擎感智能科技有限公司 Intelligent terminal and its map sharing method and automatic driving vehicle
CN108536503A (en) * 2018-03-15 2018-09-14 北京雷石天地电子技术有限公司 A kind of method and system of switching display content based on android system
CN109167875A (en) * 2018-07-20 2019-01-08 重庆宝力优特科技有限公司 Interface display method, electronic equipment and computer readable storage medium
CN111182356A (en) * 2019-12-31 2020-05-19 珠海六点智能科技有限公司 Method and system for realizing double-screen different display of Android video playing
CN112631536B (en) * 2020-12-30 2024-03-15 南京能瑞自动化设备股份有限公司 LCD (liquid crystal display) control system and method for energy controller
CN112988357B (en) * 2021-04-14 2021-07-27 湖北亿咖通科技有限公司 Panoramic image display method, computer storage medium and electronic device
CN114466231B (en) * 2021-12-15 2024-01-23 瑞芯微电子股份有限公司 Method for receiving and playing hardware source, electronic equipment and display device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102768621A (en) * 2011-11-14 2012-11-07 深圳市三索科技发展有限公司 Display method and system of dual-screen electronic device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102768621A (en) * 2011-11-14 2012-11-07 深圳市三索科技发展有限公司 Display method and system of dual-screen electronic device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《android双屏显示的一些修改与尝试》;Xandy;《C博客》;http://blog.csdn.net/sfrysh/article/details/7463335;20120415;第1-19页,附图 *

Also Published As

Publication number Publication date
CN103106058A (en) 2013-05-15

Similar Documents

Publication Publication Date Title
CN103106058B (en) A kind of double-screen display method and intelligent display terminal based on android system
US11895184B2 (en) Peer to peer remote application discovery
CN110795195B (en) Webpage rendering method and device, electronic equipment and storage medium
Huang et al. Programming situational mobile web applications with cloud-mobile convergence: an internetware-oriented approach
CN105554015B (en) The management network and method of multi-tenant container cloud computing system
US11838335B2 (en) Virtual computing system providing local screen sharing from hosted collaboration applications and related methods
KR102622820B1 (en) First-in-first-out functionality for segmented data stream processing
CN103067468B (en) Cloud dispatching method and system thereof
CN109076304A (en) The Application Programming Interface presented for adaptive audio
CN108496198A (en) A kind of image processing method and equipment
CN110032413A (en) A kind of desktop virtualization method, relevant device and computer storage medium
CN107292807A (en) A kind of figure synthetic method, window method to set up and system
CN112988400B (en) Video memory optimization method and device, electronic equipment and readable storage medium
US9195429B2 (en) Multi-user display system and method
CN108304234A (en) A kind of page display method and device
CN105847332A (en) Desktop virtualization method, client device and server-side device
CN106445500A (en) Method, system and terminal equipment for providing user interface
CN106354546A (en) Virtual machine remote control method and system
CN106658142A (en) Interface configuration method and device
CN116320469A (en) Virtualized video encoding and decoding system and method, electronic equipment and storage medium
CN105653496A (en) Electronic equipment and data transmission method thereof
Savidis et al. Distributed interface bits: dynamic dialogue composition from ambient computing resources
CN109039686A (en) A kind of method and device of mix of traffic layout
CN103530180B (en) Method and device for switching storage space of application programs
JP2023538916A (en) Wi-Fi virtualization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170825