Application dynamic screen rendering method and device
By integrating applications into a layered architecture of window applications and rendering dynamic visuals in a unified manner, the problem of high resource consumption in independent window processes of different applications is solved, and more efficient resource utilization is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG GEELY HLDG GRP CO LTD
- Filing Date
- 2026-02-05
- Publication Date
- 2026-05-26
AI Technical Summary
When different applications render dynamic images in their own independent window processes, they need to frequently handshake and synchronize, resulting in excessive system resource consumption.
By integrating applications into a single window application, a layered architecture consisting of data modules, intermediate modules, and rendering modules is used to uniformly render dynamic screens, reducing timing handshakes and synchronization issues.
By rendering dynamic visuals in a unified manner, the overhead of system resources is reduced and the efficiency of resource utilization is improved.
Smart Images

Figure CN121639890B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a method and apparatus for rendering dynamic images in an application. Background Technology
[0002] With the continuous development of computer technology, the number of applications available to people is becoming increasingly rich.
[0003] These applications can typically display stunning dynamic visuals, but this also creates another problem: each application runs in its own independent window process. When rendering and displaying dynamic visuals from different applications simultaneously, each application's window process needs to constantly handshake and synchronize, which incurs significant system resource overhead. Summary of the Invention
[0004] In view of the above, one or more embodiments of this specification provide a method and apparatus for rendering dynamic images of an application, an electronic device, and a storage medium to solve the problems existing in the related art.
[0005] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:
[0006] According to a first aspect of the embodiments of this specification, a method for rendering dynamic scenes of an application is provided, wherein a window application is used to render dynamic scenes of at least two applications, and the window application performs the following steps:
[0007] The data module of the window application responds to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, and transmits the application data of each application to the intermediate module of the window application;
[0008] In response to the received application data, the intermediate module of the window application executes the application data according to the function corresponding to each application registered in the intermediate module, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application;
[0009] The rendering module of the window application opens the display viewports corresponding to each of the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
[0010] Optionally, the data module of the window application also provides a data receiving queue;
[0011] The intermediate module for transferring application data from each application to the window application includes:
[0012] Add the application data of each application to the data receiving queue;
[0013] In response to a call request for the data receiving queue, application data of each application in the data receiving queue is transmitted to the intermediate module of the window application.
[0014] Optionally, the method further includes:
[0015] The rendering module of the window application responds to control commands for the target application displayed in the display interface by calling the data forwarding interface provided by the intermediate module to send the control commands to the target application; wherein the target application includes any one of the at least two applications.
[0016] Optionally, the data module provides a data interaction interface including a data sending interface, and the data module also provides a data sending queue;
[0017] The step of calling the data forwarding interface provided by the intermediate module to send the control command to the target application includes:
[0018] The control command is added to the data transmission queue provided by the data module by calling the data forwarding interface provided by the intermediate module.
[0019] In response to a call request for the data sending interface, the data module sends control instructions from the data sending queue to the target application, so that the target application generates application data based on the control instructions.
[0020] Optionally, the data interaction interface may further include a data receiving interface;
[0021] The data module of the window application responds to application data uploaded by the at least two applications through the data interaction interface provided by the data module, including:
[0022] The window application's data module responds to application data uploaded by the at least two applications through the data receiving interface provided by the data module.
[0023] Optionally, the method further includes:
[0024] In response to a new application accessing the window application, the rendering module of the window application registers a function with the intermediate module to invoke the service functions provided by the new application.
[0025] Optionally, the intermediate module provides a registration function for the rendering module to call;
[0026] The step of registering the function for calling the service functions provided by the new application with the intermediate module includes:
[0027] The rendering module calls the registration function provided by the intermediate module to send the new application's function and application identifier to the intermediate module;
[0028] The intermediate module responds to the function and application identifier of the new application sent by the rendering module through the registration function, and stores the application identifier and function after associating them.
[0029] Optionally, in response to the received application data, the intermediate module of the window application executes the respective application data according to the function registered in the intermediate module corresponding to each application, including:
[0030] The intermediate module of the window application responds to the received application data, retrieves the function associated with the application identifier from storage according to the application identifier in the application data, and executes the application data according to the function.
[0031] Optionally, the dynamic image includes a three-dimensional dynamic image or a two-dimensional dynamic image.
[0032] Optionally, in a vehicle infotainment system, the window displays a rendered dynamic image on the display screen of the infotainment system, and the application includes applications installed on the infotainment system.
[0033] According to a second aspect of the embodiments of this specification, a dynamic screen rendering apparatus for an application is provided, the apparatus utilizing window application uniformity to render dynamic screens of at least two applications, the apparatus comprising:
[0034] The receiving unit, in response to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, transmits the application data of each application to the intermediate module of the window application;
[0035] The execution unit, in response to the received application data, executes the respective application data according to the function registered in the intermediate module corresponding to each application, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application;
[0036] The rendering unit, the rendering module of the window application, opens the display viewports corresponding to the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
[0037] According to a third aspect of the embodiments of this specification, an electronic device is provided, including a processor; a memory for storing processor-executable instructions; wherein the processor implements the above-described method by executing the executable instructions.
[0038] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided, wherein computer-readable instructions are stored on the computer-readable storage medium, and the computer-readable instructions, when executed by a processor, implement the above-described method.
[0039] The technical solutions provided in the embodiments of this specification may include the following beneficial effects:
[0040] This approach integrates applications that originally ran in separate window processes into a single window application, which then unifies the rendering of dynamic visuals from each application. Specifically, the execution logic for rendering dynamic visuals in the window application is broken down into a data module, a middleware module, and a rendering module. The data module uniformly receives application data uploaded by each application; the middleware module executes the application data received by the data module; and the rendering module partitions and opens display viewports corresponding to each application, rendering the corresponding dynamic visuals for each application's execution result in its respective viewport. Because the dynamic visuals of each application are rendered uniformly by the window application, these applications do not need to constantly handshake and synchronize in terms of timing, thus reducing system resource overhead. Attached Figure Description
[0041] Figure 1 A schematic diagram of a layered architecture provided for an exemplary embodiment of this specification;
[0042] Figure 2 A flowchart illustrating a dynamic screen rendering method for an application provided as an exemplary embodiment of this specification;
[0043] Figure 3 An execution flowchart of a data module provided as an exemplary embodiment of this specification;
[0044] Figure 4 An execution flowchart of an intermediate module provided as an exemplary embodiment of this specification;
[0045] Figure 5A schematic diagram of the structure of an electronic device containing a dynamic screen rendering device for an application provided as an exemplary embodiment of this specification;
[0046] Figure 6 This is a block diagram of a dynamic screen rendering apparatus for an application provided as an exemplary embodiment of this specification. Detailed Implementation
[0047] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0048] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.
[0049] As previously mentioned, in existing technologies, different applications run in their own independent window processes. When rendering and displaying the dynamic screens of different applications simultaneously, the window processes of these applications need to constantly handshake and synchronize in terms of timing, which generates a large amount of system resource overhead.
[0050] Therefore, this specification aims to provide a dynamic screen rendering solution for applications to solve the aforementioned technical problems.
[0051] The dynamic screen rendering scheme of the application in this manual will be described in detail below with reference to the accompanying drawings.
[0052] Please refer to Figure 1 , Figure 1 This flowchart illustrates an exemplary embodiment of a method for rendering dynamic scenes of an application, utilizing a window application to render dynamic scenes of at least two applications. The window application performs the following steps:
[0053] Step 110: In response to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, the data module of the window application transmits the application data of each application to the intermediate module of the window application.
[0054] Step 120: In response to the received application data, the intermediate module of the window application executes the respective application data according to the function corresponding to each application registered in the intermediate module, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application;
[0055] Step 130: The rendering module of the window application opens the display viewports corresponding to the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
[0056] In this embodiment of the specification, applications that originally ran in their own independent window processes are merged into a single window application, which is then used to uniformly render the dynamic screens of each application.
[0057] Specifically, in order to achieve the goal of uniformly rendering dynamic screens across various applications, such as Figure 2 The execution logic for rendering dynamic images in this window application can be divided into a data module, an intermediate module, and a rendering module. The data module uniformly receives application data uploaded by various applications, the intermediate module executes the application data received by the data module, and the rendering module opens display viewports corresponding to each application and renders the dynamic images corresponding to the execution results in the respective display viewports of each application.
[0058] Since the dynamic visuals of each application are rendered uniformly by the window application, these applications do not need to constantly handshake and synchronize in terms of timing, thereby reducing system resource overhead.
[0059] In this specification, the display viewport refers to the visible area of the content displayed in a display window. In the computer field, the display viewport is usually called a viewport, which is used to define the display range of rendered dynamic images.
[0060] It should be noted that when opening the display viewports corresponding to at least two applications in the display interface, the display viewports corresponding to each application may not overlap, may partially overlap, or may completely overlap; in practical applications, the configuration can be flexibly adjusted according to actual needs.
[0061] It is understood that the method embodiments of this specification can be applied to different device terminals, such as rendering dynamic images of at least two applications on the display screen of a vehicle; or rendering dynamic images of at least two applications on the lenses of smart glasses; or rendering dynamic images of at least two applications on the display screens of mobile phones, computers, tablets, etc.
[0062] Taking vehicles as an example, the display screen (such as the central control screen) is a key component connecting people and vehicles for human-machine interaction. Typically, the visual appeal of a vehicle's display screen (e.g., the richness, beauty, and coolness of the content) has become a crucial factor in its sales success. Therefore, in addition to improving the screen size, resolution, and image processing chip on the hardware side, it is also necessary to improve the presented visual effects on the software side. This includes the requirement to simultaneously display dynamic visuals from at least two applications. This leads to the aforementioned problem of the application windows constantly needing to handshake and synchronize in time, resulting in significant system resource overhead. The above-described embodiment can solve this problem.
[0063] It should be noted that, in order to meet the basic system resource requirements for rendering dynamic images, the vehicle's infotainment system can be equipped with any in-vehicle chip capable of meeting the computing power required for rendering dynamic images, and the operating system version of the in-vehicle infotainment system can include, but is not limited to, terminal operating systems such as Android, iOS, Linux, and HarmonyOS.
[0064] The dynamic images in this specification can refer to three-dimensional dynamic images or two-dimensional dynamic images. In some embodiments, the dynamic images of at least two applications can be three-dimensional dynamic images, two-dimensional dynamic images, or both two-dimensional and three-dimensional dynamic images. This specification does not limit the embodiments in this regard.
[0065] The applications mentioned in this manual are typically applications adapted to the device terminal. These applications need to be installed locally on the device terminal or run in the cloud for display on the device terminal.
[0066] Taking a vehicle's infotainment system as an example, applications may include, but are not limited to, infotainment desktop apps, vehicle settings apps, air conditioning apps, seat apps, intelligent driving world simulation apps, and intelligent driving parking apps.
[0067] Among them, the in-vehicle desktop app refers to the application that allows users to customize the desktop image displayed, and users can set a personalized desktop. Personalized desktops usually display dynamic images, such as rendering a virtual character that periodically and randomly performs different actions.
[0068] A vehicle settings app is an application that allows users to configure vehicle functions, such as energy recovery modes (low, medium, high), driving modes (economy, sport, snow, off-road, etc.). Different settings will render corresponding dynamic visuals; for example, the background color is blue in economy mode and red in sport mode.
[0069] Air conditioning apps and seat apps refer to applications that allow users to set up their air conditioning and seats. For example, users can set the air conditioning's operating mode (cooling, heating, etc.) and the seat's posture (comfort, sport, etc.). Different settings will render corresponding dynamic images; for example, in cooling mode, a dynamic image of cold air blowing can be displayed, and in heating mode, a dynamic image of hot air blowing can be displayed.
[0070] The Intelligent Driving Real-World App refers to a dynamic virtual scene rendered based on the sensor data collected by the vehicle and the surrounding environment. For example, if a vehicle is driving on the road and there are other vehicles in the lanes in front, behind, left, and right, the Intelligent Driving Real-World App can display the real-time dynamic scene of the current vehicle and these other vehicles, allowing users to intuitively perceive the surrounding environment of the vehicle.
[0071] The Intelligent Driving Parking App refers to an application that provides functions such as automatic driving, automatic parking, and automatic stopping provided by the intelligent driving system installed in the vehicle. After the user activates the relevant function, corresponding dynamic images will be rendered. For example, after activating the automatic parking function, dynamic images of the automatic parking process will be rendered.
[0072] The following section uses a vehicle's infotainment system as an example to provide a detailed introduction to the data module, intermediate module, and rendering module of the window application.
[0073] In the vehicle infotainment system, the data that interacts with the application can refer to DHU (Display Head Unit) data; the application data uploaded by the application is called DHU received data, and the control commands sent to the application are called DHU transmitted data.
[0074] [Data Module]
[0075] The data module allows the creation of abstract logic instances (DHUInstance), which include two object members and two interface members. The two object members are the data receiving queue (DHUDataGetQueue). <dhudata>) and data sending queue (DHUDataSetQueue) <dhudata>The data receiving queue is used to store the received DHU data, and the data sending queue is used to store the DHU data to be sent. Both the data sending queue and the data receiving queue can be lock-free queues.
[0076] The two interface members are the data receiving interface (DHUDataGet(Data&)) and the data sending interface (DHUDataSet(Data)). The data receiving interface and the data sending interface are the data interaction interfaces between the data module and various applications.
[0077] The data sending interface can send DHU sending data to various applications (such as control commands triggered by users to activate a function), while the data receiving interface can receive DHU receiving data uploaded by various applications (such as application data returned by applications in response to control commands).
[0078] Based on this, in an exemplary embodiment, the data module of the window application in step 110 above, in response to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, may include:
[0079] The window application's data module responds to application data uploaded by the at least two applications through the data receiving interface provided by the data module.
[0080] In this embodiment, application data uploaded by various applications can be uniformly obtained through the data receiving interface.
[0081] In an exemplary embodiment, step 110 above, which involves transferring application data from each application to the intermediate module of the window application, includes:
[0082] The data module adds the application data of each application to the data receiving queue;
[0083] In response to a call request for the data receiving queue, application data of each application in the data receiving queue is transmitted to the intermediate module of the window application.
[0084] In this embodiment, a certain amount of application data is temporarily stored in a data receiving queue, and the application data is transmitted to the intermediate module of the window application all at once when a call request is received. This eliminates the need for frequent data interaction with the intermediate module and can effectively improve data transmission efficiency.
[0085] It is understood that the call request may be initiated by the intermediate module or triggered periodically by the data module.
[0086] For example, the data module's operation process can be referred to Figure 3 As shown:
[0087] Step 31. Determine if the created abstract logic instance exists in the data module; if it does not exist (i.e., DHUInstance is NULL), the process ends; if it exists (i.e., DHUInstance is not NULL), proceed to step 32.
[0088] Step 32. Call the data receiving interface DHUDataGet(Data&) to obtain the DHU received data uploaded by each application;
[0089] Step 33. Determine if the DHU received data is empty (or whether DHU received data); if empty, proceed to step 35; otherwise, proceed to step 34.
[0090] Step 34. Add the acquired DHU data to the data receiving queue DHUDataGetQueue <dhudata>;
[0091] Step 35. Obtain the data sending queue DHUDataSetQueue <dhudata>DHU transmit data to be sent;
[0092] Step 36. Determine if the DHU-sent data is empty (or whether the DHU-sent data has been received); if empty, start the loop from step 31; if not empty, proceed to step 37.
[0093] Step 37. Call the data sending interface DHUDataGet(Data&) to send the DHU data to the corresponding application, and repeat the process from step 31.
[0094] [Intermediate Module]
[0095] Intermediate logic instances (PassInattempts) can be created in the intermediate module. These intermediate logic instances include data members and interface members.
[0096] Among them, data members (CallbackMap)<Key,FunctionList> This is used to store the FunctionList, a list of functions registered by the rendering module for each application. Each application's FunctionList is associated with the application's unique identifier key.
[0097] The interface members include a data forwarding interface (SendDataToDHU(Data)) for the rendering module to call, which adds the DHU data to be sent to the application to the data sending queue DHUDataSetQueue in the data module. <dhudata>.
[0098] The interface members also include a callback function (RegisterCallback(Key,&Function)) for the rendering module to request the execution of application-registered function calls. This callback function retrieves the list of function calls corresponding to the key from the CallbackMap data member using the key passed by the rendering module; and retrieves the data from the data module's data receiving queue DHUDataGetQueue. <dhudata>The DHU receives data and feeds it into the list of functions, which then execute these functions and return the execution results to the rendering module.
[0099] For example, the execution flow of the intermediate module can be referred to Figure 4 As shown:
[0100] Step 41. Determine whether the created abstract logic instance exists in the data module and whether the created intermediate logic instance exists in the intermediate module; if the abstract logic instance and / or intermediate logic instance do not exist, the process ends; if both the abstract logic instance and the intermediate logic instance exist, proceed to step 42.
[0101] Step 42. Obtain the DHU received data from the data receive queue of the data module;
[0102] Step 43. Determine if the DHU received data is empty (or whether DHU received data); if empty, periodically execute step 42 to poll the data receiving queue. If not empty, execute step 44.
[0103] Step 44. Call the callback function to get the application's list of functionalities.
[0104] In this step, the intermediate logic example can respond to the callback function called by the rendering module, and retrieve the function list (FunctionList) corresponding to the key from the CallbackMap data member based on the key in the callback function. Then, each function in the function list is executed sequentially through steps 45 to 48, specifically:
[0105] Step 45. Set i = 0;
[0106] Step 46. Determine if i is less than the number of functions in the function list (or i is less than the length of the function list); if it is less, proceed to step 47; if it is equal to or greater than, start the loop from step 41.
[0107] Step 47. Take the DHU received data obtained in step 42 into the i-th function, execute the function, and return the execution result of the function to the rendering module;
[0108] Step 48. Increment i by 1 to prepare for executing the next function.
[0109] Repeat steps 46-48 until i equals the number of functions in the function list. This indicates that the functions in the function list have been executed. Therefore, the loop can start from step 41.
[0110] [Rendering Module]
[0111] The rendering module can create rendering logic instances (ViewInstance), which include window handles (ViewHandle) and application queues (AppQueue<3DApp>).
[0112] The logical storage area corresponding to the window handle is ViewHandleBuffer, which is used to display the dynamic screens of the rendered applications to the display window of the window process.
[0113] The application queue stores object handles for each application. Each object handle corresponds to one of the multiple display viewports opened by the display window: a SurfaceView. The logical storage area for each display viewport is a SurfaceViewBuffer, which is used to store the various dynamic screens of the application.
[0114] Each object handle can register the corresponding application's functionalities with the intermediate module.
[0115] The rendering logic instance can trigger the execution of any target application's registered function (by passing the key through the object handle) by calling the callback function of the intermediate module, and obtain the execution result of the function returned by the callback function; finally, the dynamic picture corresponding to the execution result is rendered in the display viewport corresponding to the object handle.
[0116] In this specification, the window application is used not only to render dynamic images of various applications, but also to send control commands triggered by the user to the application and render dynamic images in the display interface.
[0117] In one exemplary embodiment, the above Figure 1 The method shown may also include:
[0118] The rendering module of the window application responds to control commands for the target application displayed in the display interface by calling the data forwarding interface provided by the intermediate module to send the control commands to the target application; wherein the target application includes any one of the at least two applications.
[0119] The following example illustrates a user's request to turn on the air conditioning on a vehicle's infotainment system. The application involved could be an air conditioning app. The rendering module calls the intermediate module's data forwarding interface, SendDataToDHU, to send the control command to turn on the air conditioning to the air conditioning app.
[0120] In an exemplary embodiment, as shown in the preceding [data module], the data interaction interface provided by the data module further includes a data sending interface, and the data module also provides a data sending queue;
[0121] Accordingly, the above-mentioned invocation of the data forwarding interface provided by the intermediate module to send the control command to the target application may include:
[0122] The control command is added to the data transmission queue provided by the data module by calling the data forwarding interface provided by the intermediate module.
[0123] In response to a call request for the data sending interface, the data module sends control instructions from the data sending queue to the target application, so that the target application generates application data based on the control instructions.
[0124] Continuing with the example of the request to turn on the air conditioner, the rendering module calls the data forwarding interface SendDataToDHU of the intermediate module to add the control command to turn on the air conditioner to the data sending queue DHUDataSetQueue of the data module; and at the same time calls the callback function RegisterCallback of the intermediate module, writing the key of the air conditioner app in the callback function;
[0125] The data module sends the control command to turn on the air conditioner to the air conditioner app through the data sending interface DHUDataSet, so that the air conditioner app can generate application data to turn on the air conditioner in response to the control command.
[0126] The data module can receive the application data for turning on the air conditioner returned by the air conditioner app through the data receiving interface DHUDataGet, and store the application data for turning on the air conditioner in the data receiving queue DHUDataGetQueue.
[0127] The intermediate module responds to the callback function called by the rendering module. First, based on the key of the air conditioning app in the callback function, it queries the data members for the registered function of the air conditioning app. Second, it calls the data receiving queue DHUDataGetQueue of the abstract logic function to obtain the application data related to the air conditioning app, namely the aforementioned application data for turning on the air conditioning. Next, the intermediate module passes this application data to the function of the air conditioning app and executes it, thus controlling the vehicle to turn on the air conditioning. If the air conditioning is successfully turned on, it receives a success result; otherwise, it receives a failure result. Finally, the intermediate module returns the execution result to the rendering module through the callback function.
[0128] The rendering module then queries the viewport corresponding to the air conditioning app in a window process opened by the vehicle system's display device based on the execution result returned by the callback function, and renders the dynamic screen corresponding to the execution result in that viewport. If the execution result is that the air conditioning is turned on successfully, the dynamic screen of the air conditioning being turned on successfully is rendered in the viewport; otherwise, if the execution result is that the air conditioning is turned on unsuccessfully, the dynamic screen of the air conditioning failing to turn on is rendered in the viewport.
[0129] The following section will further introduce the application of the access window application based on the layered architecture described above.
[0130] In one exemplary embodiment, the method further includes:
[0131] In response to a new application accessing the window application, the rendering module of the window application registers a function with the intermediate module to invoke the service functions provided by the new application.
[0132] In implementation, the application handle of the new application can be added to the application queue of the rendering module, and a display viewport can be bound to the object handle.
[0133] In addition, the rendering module also needs to register the function calls for the services provided by the new application with the intermediate module.
[0134] In one exemplary embodiment, the intermediate module provides a registration function for the rendering module to call;
[0135] Accordingly, the function to be registered with the intermediate module for calling the service functions provided by the new application may include:
[0136] The rendering module calls the registration function provided by the intermediate module to send the new application's function and application identifier to the intermediate module;
[0137] The intermediate module responds to the function and application identifier of the new application sent by the rendering module through the registration function, and stores the application identifier and function after associating them.
[0138] In this embodiment, the rendering module registers the function of the new application with the intermediate module. When the dynamic screen of the new application needs to be rendered, the registered function can be used to execute the application data uploaded by the new application to obtain the execution result. The rendering module then opens the display viewport corresponding to each application in the display interface, and renders the dynamic screen corresponding to the execution result in the display viewport corresponding to the new application (i.e. the display viewport bound to the aforementioned object handle).
[0139] In an exemplary embodiment, the intermediate module of the window application, in response to the received application data, executes the respective application data according to the function registered in the intermediate module corresponding to each application, including:
[0140] The intermediate module of the window application responds to the received application data, retrieves the function associated with the application identifier from storage according to the application identifier in the application data, and executes the application data according to the function.
[0141] In this embodiment, when registering the functional functions of each application, the intermediate module stores the application's application identifier and its functional function in association. Since the application identifier is unique, the required functional function can be queried using the application identifier. Therefore, the application data uploaded by each application can include the application's own application identifier. This allows the intermediate module, in response to the application data, to accurately retrieve the functional function associated with the application identifier from the stored functional functions of each application, and then execute the application data according to that functional function.
[0142] After introducing the methods of exemplary embodiments of this specification, the apparatus, electronic devices, and computer-readable storage media of exemplary embodiments of this specification will be described next.
[0143] In an exemplary embodiment of this specification, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the method described above by executing the executable instructions.
[0144] Figure 5 This is a schematic structural diagram of an electronic device provided in an exemplary embodiment. Please refer to... Figure 5 At the hardware level, the electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for business operations. One or more embodiments of this specification can be implemented in software, such as the processor reading the corresponding computer program from non-volatile memory into memory and then running it. Of course, besides software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0145] Please refer to Figure 6 In one software implementation, a dynamic screen rendering device for an application is provided. The device utilizes a window application to uniformly render the dynamic screens of at least two applications. The device includes:
[0146] The receiving unit 710, in response to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, transmits the application data of each application to the intermediate module of the window application;
[0147] The execution unit 720, in response to the received application data, executes the respective application data according to the function corresponding to each application registered in the intermediate module, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application;
[0148] The rendering unit 730, the rendering module of the window application, opens the display viewports corresponding to the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
[0149] Optionally, the data module of the window application also provides a data receiving queue;
[0150] The receiving unit 710 transmits the application data of each application to the intermediate module of the window application, and may further include adding the application data of each application to the data receiving queue; in response to a call request for the data receiving queue, transmitting the application data of each application in the data receiving queue to the intermediate module of the window application.
[0151] Optionally, the device further includes:
[0152] The forwarding unit, in response to a control command for a target application displayed in the display interface, calls the data forwarding interface provided by the intermediate module to send the control command to the target application; wherein the target application includes any one of the at least two applications.
[0153] Optionally, the data module provides a data interaction interface including a data sending interface, and the data module also provides a data sending queue;
[0154] The forwarding unit sends the control command to the target application by calling the data forwarding interface provided by the intermediate module. It may further include calling the data forwarding interface provided by the intermediate module and adding the control command to the data sending queue provided by the data module.
[0155] Furthermore, the device may further include:
[0156] The sending unit, in response to a call request for the data sending interface, sends control instructions from the data sending queue to the target application, so that the target application generates application data based on the control instructions.
[0157] Optionally, the data interaction interface may further include a data receiving interface;
[0158] The data module of the window application in the receiving unit 710 responds to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, and further includes the application data uploaded by the window application's data module in response to the application data uploaded by the at least two applications through the data receiving interface provided by the data module.
[0159] Optionally, the device further includes:
[0160] The registration unit, in response to a new application accessing the window application, registers function calls for the service functions provided by the new application with the intermediate module.
[0161] Optionally, the intermediate module provides a registration function for the rendering module to call;
[0162] The registration unit registers function functions for calling service functions provided by the new application with the intermediate module. It may further include the rendering module calling the registration function provided by the intermediate module to send the function functions and application identifier of the new application to the intermediate module.
[0163] Furthermore, the device may further include:
[0164] The registration response unit is used by the intermediate module in response to the function and application identifier of the new application sent by the rendering module through the registration function. The application identifier and function are associated and stored.
[0165] Optionally, the intermediate module of the window application in the execution unit 720, in response to the received application data, executes the respective application data according to the function registered in the intermediate module corresponding to each application. It may further include the intermediate module of the window application, in response to the received application data, retrieving the function associated with the application identifier from storage according to the application identifier in the application data, and executing the application data according to the function.
[0166] Optionally, the dynamic image includes a three-dimensional dynamic image or a two-dimensional dynamic image.
[0167] Optionally, the device can be applied to a vehicle's infotainment system, where the window displays a rendered dynamic image on the infotainment system's screen, and the application includes applications installed on the infotainment system.
[0168] For details on the implementation process of the functions and roles of each module in the above-mentioned device, please refer to the implementation process of the corresponding steps in the dynamic screen rendering method of the above-mentioned application. For relevant parts, please refer to the description of the method implementation method, which will not be repeated here.
[0169] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the units or modules can be selected to achieve the purpose of the solution described in this specification, depending on actual needs. Those skilled in the art can understand and implement this without any inventive effort.
[0170] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0171] In exemplary embodiments of this specification, a computer-readable storage medium is also provided, which, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the aforementioned method embodiments.
[0172] Computer-readable storage media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0173] Program code contained on a computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RE, etc., or any suitable combination thereof.
[0174] Program code for performing the operations described herein can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0175] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0176] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0177] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this specification. The singular forms "a," "described," and "the" as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0178] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of one or more embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "in response to a determination," or "when," or "in the event of a determination."
[0179] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the protection scope of one or more embodiments of this specification.< / dhudata> < / dhudata> < / dhudata> < / dhudata> < / dhudata> < / dhudata>
Claims
1. A method for rendering dynamic images in an application, characterized in that, A window application is used to render dynamic scenes from at least two applications. The execution logic of the window application for rendering dynamic scenes is divided into a data module, an intermediate module, and a rendering module. The window application performs the following steps: The data module of the window application responds to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, and transmits the application data of each application to the intermediate module of the window application; In response to the received application data, the intermediate module of the window application executes the application data according to the function corresponding to each application registered in the intermediate module, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application; The rendering module of the window application opens the display viewports corresponding to the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
2. The method according to claim 1, characterized in that, The data module of the window application also provides a data receiving queue; The intermediate module for transferring application data from each application to the window application includes: Add the application data of each application to the data receiving queue; In response to a call request for the data receiving queue, application data of each application in the data receiving queue is transmitted to the intermediate module of the window application.
3. The method according to claim 1, characterized in that, The method further includes: The rendering module of the window application responds to control commands for the target application displayed in the display interface by calling the data forwarding interface provided by the intermediate module to send the control commands to the target application; wherein the target application includes any one of the at least two applications.
4. The method according to claim 3, characterized in that, The data module provides a data interaction interface including a data sending interface, and the data module also provides a data sending queue; The step of calling the data forwarding interface provided by the intermediate module to send the control command to the target application includes: The control command is added to the data transmission queue provided by the data module by calling the data forwarding interface provided by the intermediate module. In response to a call request for the data sending interface, the data module sends control instructions from the data sending queue to the target application, so that the target application generates application data based on the control instructions.
5. The method according to claim 4, characterized in that, The data interaction interface also includes a data receiving interface; The data module of the window application responds to application data uploaded by the at least two applications through the data interaction interface provided by the data module, including: The window application's data module responds to application data uploaded by the at least two applications through the data receiving interface provided by the data module.
6. The method according to claim 1, characterized in that, The method further includes: In response to a new application accessing the window application, the rendering module of the window application registers a function with the intermediate module to invoke the service functions provided by the new application.
7. The method according to claim 6, characterized in that, The intermediate module provides a registration function that can be called by the rendering module; The step of registering the function for calling the service functions provided by the new application with the intermediate module includes: The rendering module calls the registration function provided by the intermediate module to send the new application's function and application identifier to the intermediate module; The intermediate module responds to the function and application identifier of the new application sent by the rendering module through the registration function, and stores the application identifier and function after associating them.
8. The method according to claim 7, characterized in that, The intermediate module of the window application responds to the received application data and executes the respective application data according to the function registered in the intermediate module corresponding to each application, including: The intermediate module of the window application responds to the received application data, retrieves the function associated with the application identifier from storage according to the application identifier in the application data, and executes the application data according to the function.
9. The method according to claim 1, characterized in that, The dynamic images include three-dimensional dynamic images or two-dimensional dynamic images.
10. The method according to claim 1, characterized in that, A vehicle infotainment system, wherein the window displays a rendered dynamic image on the display screen of the vehicle infotainment system, and the application includes applications installed on the vehicle infotainment system.
11. A dynamic screen rendering device for an application, characterized in that, The device utilizes a window application to render dynamic scenes from at least two applications, and the execution logic of the window application for rendering dynamic scenes is divided into a data module, an intermediate module, and a rendering module; the device includes: The receiving unit, in response to the application data uploaded by the at least two applications through the data interaction interface provided by the data module, transmits the application data of each application to the intermediate module of the window application; The execution unit, in response to the received application data, executes the respective application data according to the function registered in the intermediate module corresponding to each application, and transmits the execution result of each application to the rendering module of the window application; wherein, the function includes functions that execute the service functions provided by the application; The rendering unit, the rendering module of the window application, opens the display viewports corresponding to the at least two applications in the display interface, and in response to the received execution result, renders the dynamic picture corresponding to the execution result in the display viewport corresponding to each application.
12. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor implements the method as described in any one of claims 1-10 by executing the executable instructions.
13. A computer-readable storage medium, characterized in that, It stores computer-readable instructions that, when executed by a processor, implement the method as described in any one of claims 1-10.