CN110496395B - Component operation method, system and equipment for illusion engine - Google Patents

Component operation method, system and equipment for illusion engine Download PDF

Info

Publication number
CN110496395B
CN110496395B CN201910777826.1A CN201910777826A CN110496395B CN 110496395 B CN110496395 B CN 110496395B CN 201910777826 A CN201910777826 A CN 201910777826A CN 110496395 B CN110496395 B CN 110496395B
Authority
CN
China
Prior art keywords
component
control
page
embedded frame
frame control
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.)
Active
Application number
CN201910777826.1A
Other languages
Chinese (zh)
Other versions
CN110496395A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910777826.1A priority Critical patent/CN110496395B/en
Publication of CN110496395A publication Critical patent/CN110496395A/en
Application granted granted Critical
Publication of CN110496395B publication Critical patent/CN110496395B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The application discloses a component operation method, system and device for a ghost engine. The method flow of one embodiment of the present specification includes: starting internal message circulation processing of the embedded frame control by using a first thread independent of a main thread of the illusion engine; after one internal message circulation processing is finished, page drawing is carried out by an internal function of the embedded frame control; and after the page is drawn, the embedded frame control sends the drawing result to a web browser control, and the web browser control performs rendering.

Description

Component operation method, system and equipment for illusion engine
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, a system, and an apparatus for operating an assembly for a ghost engine.
Background
The illusion ENGINE (UNREAL ENGINE) is an open source game ENGINE development platform. A web browser control (WebBrowser) under a Unreal platform is a development component customized for a developer and used for loading, analyzing and rendering html pages.
With the advancement of display technology, display resolution in the application scenarios of the prior art is continuously increasing. At present, a 4K or even 8K resolution ratio is generally used for a visual large screen, under such a high resolution ratio, a WebBrowser control provided by an Unreal platform has an obvious performance bottleneck, a 2D UI page refresh rate is smaller than 40fps, a 3D UI refresh rate is smaller than 90fps, a 3D transition and 2D animation can generate obvious frustration, and user experience is influenced.
Disclosure of Invention
In view of this, embodiments of the present specification provide a method, a system, and an apparatus for running a component of an illusion engine, which are used to solve the performance bottleneck problem of a web browser control provided by an illusion engine platform in the prior art.
The embodiment of the specification adopts the following technical scheme:
an embodiment of the present specification provides a method for operating a component of a ghost engine, where the method includes:
starting internal message loop processing of an embedded framework control of a ghost engine using a first thread independent of a main thread of the ghost engine;
after one internal message cycle processing is finished, page drawing is carried out by an internal function of the embedded frame control;
and after the page is drawn, sending a drawing result to a web browser control of the illusion engine by the embedded frame control, and rendering by the web browser control.
In one embodiment of the present specification, a first thread independent of a main thread of a ghost engine is used to invoke an internal message loop process that opens an embedded framework control of the ghost engine, wherein a message loop process function of the embedded framework control is invoked using the first thread to open the internal message loop process.
In an embodiment of the present specification, a message loop processing function of the embedded framework control is called using the first thread to start the internal message loop processing, wherein:
and sending a message loop execution request to a message loop component of the embedded framework control by using the first thread so as to start new one-time internal message loop processing.
In an embodiment of the present specification, invoking a message loop processing function of the embedded framework control using the first thread to start the internal message loop processing includes:
judging whether the message loop processing function needs to be called currently, wherein a singleton component of the web browser control is used for acquiring a time point of needing to call the message loop processing function from the embedded frame control so as to judge whether the message loop processing function needs to be called;
and when the message loop processing function needs to be called, calling the message loop processing function by using the first thread.
In an embodiment of this specification, determining whether the message loop processing function needs to be called currently further includes:
sending, by the ghost engine main thread, a base time message in the ghost engine that represents a lapse of time to a singleton component of the web browser control;
and when the singleton component receives the basic time message, judging whether the message loop processing function needs to be called currently.
In an embodiment of the present specification, the page rendering by the internal function of the embedded frame control includes:
sending a drawing event to a browsing management component of the embedded frame control by a message circulation component of the embedded frame control;
the browsing management component sends a drawing request to a page browsing window component of the embedded frame control after confirming the drawing event;
and the page browsing window assembly draws based on the drawing request.
In an embodiment of this specification, after the page is rendered, the sending, by the embedded frame control, a rendering result to a web browser control, and the rendering by the web browser control, includes:
after the drawing of the page browsing window component is finished, sending a drawing result to a page browsing view port component of the web browser control;
and requesting to render from a page browsing view component of the web browser control by the page browsing view port component.
In an embodiment of this specification, the sending, by the browsing management component, a drawing request to the page browsing window component of the embedded frame control after confirming the drawing event includes:
sending, by the browse management component, the draw request to the ghost engine main thread;
and transmitting the drawing request to the page browsing window component by using the illusion engine main thread.
In an embodiment of the present specification, the page is rendered by an internal function of the embedded frame control, where the local page is rendered by the internal function of the embedded frame control.
In an embodiment of the present specification, the local page rendering by the internal function of the embedded frame control includes:
sending a drawing event to a browsing management component of the embedded frame control by a message circulation component of the embedded frame control;
the browse management component acquires an updating area after confirming the drawing event;
the browsing management component sends a drawing request containing the updating area to a page browsing window component of the embedded frame control;
and the page browsing window component carries out local page drawing based on the drawing request.
The embodiment of the present specification further provides a component system for a ghost engine, where the system includes an embedded frame control and a web browser control, where:
the embedded frame control is used for starting internal message circulation processing by a first thread independent of a main thread of a ghost engine;
the embedded frame control is also used for drawing a page by an internal function of the embedded frame control after one-time internal message circulation processing is finished, and sending a drawing result to the web browser control after drawing is finished;
and the webpage browser control is used for rendering based on the received drawing result.
The present specification also proposes a device for information processing at an accessing device, the device comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the device to perform the method of the system according to the present specification.
The embodiment of the specification adopts at least one technical scheme which can achieve the following beneficial effects: according to the method of the embodiment of the specification, the internal message loop processing is started by adopting the independent thread to operate the web browser control, so that the blockage of the main thread of the illusion engine can be effectively reduced, and the rendering efficiency of the 3D scene is greatly improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a flow chart of a prior art method of running an application;
fig. 2 to 6 are flowcharts of an application program operation method in the embodiment of the present specification.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only a few embodiments of the present application, and not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
Aiming at the problem of performance bottleneck of a WebBrowser control provided by an Unreal platform in the prior art, an embodiment of the specification provides a component operation method for a ghost engine. In order to propose the method of the embodiment of the present specification, the inventor firstly analyzes the operation mode of the WebBrowser control under the universal platform.
Google's Embedded frame Control (CEF) is an open source page browsing (Web browser) control for Google chrome project, supporting Windows, linux, mac platforms. The WebBrowser component provided by the Unreal platform is packaged on the Unreal platform based on CEF. Under the Unreal platform, the operation of the WebBrowser component is started by calling a message loop processing function (CefDoMessageLoopWork) of a CEF control.
As shown in fig. 1, in an application scenario, in an unregeal platform, when a web browser control (WebBrowser) needs to be run, a new internal message loop process is first requested to start (S110) from a message loop component (cefessageloop) of an embedded framework (CEF) control (call a message loop process function (CefDoMessageLoopWork)). After one message loop processing of the CEF control is finished, the message loop component (CEFMessageLoop) sends a drawing (on paint) event to the browsing management component (CEFBrowserHandler) (S120). After the browse management component (CEFBrowserHandler) confirms the on-paint event, it sends a drawing request (do-paint) to the page browse window component (cefwebrowserwindow) once (S130). The page view window component (CEFWebBrowserWindow) draws based on the drawing request, generates a drawing result (Viewport render target texture) after the drawing is finished, and sends the drawing result (Viewport render target texture) to a page view port component (WebBrowser visual) of a web browser control (WebBrowser) (S140). The pageview port component (WebBrowser view) requests rendering (render) from the pageview component (WebBrowser view) of WebBrowser (S150).
In the above steps, all operations are under the main thread (game thread) of the unregeal platform. Specifically, when the flow is started, a main thread (game thread) of the unregeal platform calls a message loop processing function (CefDoMessageLoopWork). This may cause rendering of html pages (i.e., 2D UI) by CEF to block rendering of 3D scenes (i.e., 3D UI), resulting in a drop in rendering frame rate of 3D scenes.
Therefore, based on the above analysis, in an embodiment of the present specification, the work of the main thread is reduced as much as possible, and the main thread is released. Specifically, internal message loop processing is initiated using a first thread that is independent of the ghost engine main thread. According to the method of the embodiment of the specification, the internal message loop processing is started by adopting the independent thread to operate the web browser control, so that the blockage of the main thread of the illusion engine can be effectively reduced, and the rendering efficiency of the 3D scene is greatly improved.
The technical solutions provided by the embodiments of the present description are described in detail below with reference to the accompanying drawings.
In an embodiment of the present specification, as shown in fig. 2, a component operation method flow includes:
s210, starting internal message circulation processing by using a first thread independent of the main thread of the illusion engine;
s220, after one internal message cycle processing is finished, page drawing is carried out by an internal function of the CEF control;
s230, after the drawing of the internal function of the CEF control is finished, a drawing result is sent to the WebBrowser control;
and S240, rendering the WebBrowser control according to the received drawing result.
Specifically, in one embodiment of the present specification, the internal message loop processing is initiated using a first thread call that is independent of the ghost engine main thread, wherein the message loop processing function of the CEF control is invoked using the first thread to initiate the internal message loop processing.
Specifically, in an embodiment of the present specification, page rendering is performed by an internal function of a CEF control, and includes:
sending a drawing event to a browsing management component of the CEF control by a message loop component of the CEF control;
the browsing management component sends a drawing request to a page browsing window component of the CEF control after confirming the drawing event;
the page view window component renders based on the rendering request.
Further, in an embodiment of this specification, after the internal function of the CEF control is drawn, sending a drawing result to the WebBrowser control, and rendering the drawing result by the WebBrowser control includes:
after the drawing of the page browsing window component is finished, sending a drawing result to a page browsing view port component of the WebBrowser control;
and requesting rendering from a page browsing view component of the WebBrowser control by the page browsing view port component.
Specifically, in an embodiment of the present specification, as shown in fig. 3:
s310, using a first Thread (CEF Work Thread) independent of the main Thread of the illusion engine to call a message loop processing function (CefDoMessageLoopWork) to start internal message loop processing;
s320, after one internal message loop processing is completed, sending a drawing event to a browse management component (CEFBrowserHandler) of the CEF control by a message loop component (CEFMessageLoop);
s230, the browse management component (CEFBrowserHandler) sends a drawing request to a page browse window component (CEFWebBrowserWindow) of the CEF control after confirming the drawing event;
s240, drawing the page browsing window component (CEFWebBrowserWindow) based on the drawing request, and sending a drawing result to a page browsing view port component (WebBrowserViewport) of the WebBrowser control after drawing is finished;
and S250, the page browsing view port component (WebBrowserViewport) requests the page browsing view component (WebBrowserView) of the WebBrowser control to render.
The method of the embodiment of the specification introduces a first Thread (CEF word Thread) and a main Thread (Game Thread) to Work in parallel, and the operation of a message loop processing function (CefDoMessageLoopWork) does not block the Game Thread, so that the rendering efficiency of the 3D scene can be greatly improved.
Specifically, in an embodiment of the present specification, in the process of calling a message loop processing function (CefDoMessageLoopWork) using a first thread independent from the main thread of the ghost engine to open internal message loop processing:
a message loop execution request (doceff domessageloopwork) is sent to a message loop component (CEFMessageLoop) of the CEF control using a first thread to start a new one-time internal message loop processing.
Specifically, in an embodiment of the present specification, in a process that the browse management component (CEFBrowserHandler) sends a drawing request to the page view window component (cefwebrowserwindow) of the CEF control, the browse management component (CEFBrowserHandler) sends a full page drawing request to the page view window component (cefwebrowserwindow). Correspondingly, the page view window component (CEFWebBrowserWindow) performs full page rendering.
Further, consider that WebBrowser renders against html pages (e.g., html5 pages), which are essentially 2D UI renderings. Therefore, webBrowser supports partial rendering. Based on the above analysis, in an embodiment of the present specification, in the process of performing page rendering by the internal function of the CEF control, the internal function of the CEF control performs local page rendering.
Specifically, in an embodiment of the present specification, in a process that a browsing management component (cefbrowsehandler) sends a drawing request to a page browsing window component (cefwebrowsewindow) of a CEF control after confirming a drawing event, the browsing management component (cefbrowsehandler) first acquires an update region (region that needs to be locally rendered, dirty region), and then sends the update region to the page browsing window component (cefwebrowsewindow). Correspondingly, the page view window component (CEFWebBrowserWindow) performs local page rendering for the update region.
A dirty region is acquired in a browse management component (CEFBrowser Handler), namely a rendering region needing to be redrawn is rendered, so that rendering of a useless region is reduced, and rendering efficiency of a page, namely a 2D UI is greatly improved.
Specifically, in an embodiment of the present specification, as shown in fig. 4, a flow of a component operation method includes:
s410, a first thread is used for sending a doceFMessageLoopWork request to a message loop component (CEFMessageLoop) of the CEF control so as to start new internal message loop processing;
s420, after one internal message loop processing is completed, sending a drawing event to a browse management component (CEFBrowser Handler) of the CEF control by the CEFMNessagelLoop;
s430, acquiring an update region (dirty region) after the browse management component (CEFBrowserHandler) confirms the drawing event;
s431, the browse management component (CEFBrowserHandler) sends a drawing request to the page browse window component (CEFWebBrowserWindow), and the drawing request comprises an updating area;
s440, a page browsing window component (CEFWebBrowserWindow) performs local page drawing aiming at the updating area, and after drawing is finished, a drawing result is sent to a page browsing view port component (WebBrowserViewport) of the WebBrowser control;
s450, the page view port component (WebBrowserViewport) requests the page view component (WebBrowserView) of the WebBrowser control to render.
In an embodiment of the present specification, a local refresh of the 2D UI is performed by acquiring an update region (dirty region), so that a refresh of a whole page is avoided, and thus the page refresh efficiency of the 2D UI is greatly improved.
Further, in order to avoid the Thread running confusion, in an embodiment of the present specification, the running result of the first Thread (cefwork Thread) is returned to the main Thread (Game Thread). Specifically, in one embodiment of the present specification, a jump is made to the main thread before page rendering is performed by the page view window component (CEFWebBrowserWindow). Specifically, in an embodiment of the present specification, in a process of sending a drawing request to a page view window component (CEFWebBrowserWindow) of a CEF control after a browse management component (CEFBrowserHandler) confirms a drawing event:
sending a drawing request to a ghost engine main Thread (Game Thread) by a browse management component (CEFBrowseHandler);
the drawing request is passed to a page view window component (CEFWebBrowserWindow) using the ghost engine main thread.
Specifically, in an embodiment of the present specification, as shown in fig. 5, a flow of a component operation method includes:
s510, a first thread is used for sending a do CefDoMessaeLoopWork request to a message loop component (CEFMesseLoop) of a CEF control so as to start new one-time internal message loop processing;
s520, after one internal message loop processing is completed, sending a drawing event to a browsing management component (CEFBrowserHandler) of the CEF control by the CEFMNessagelLoop;
s530, the browse management component (CEFBrowser handler) acquires an update region (dirty region) after confirming the drawing event;
s531, the browse management component (CEFBrowserHandler) sends the dirty region to the Game Thread of Unreal in a message communication mode among threads;
s532, the dirty region is transmitted to a page browsing window component (CEFWebBrowserWindow) by the Game Thread;
s540, a page browsing window component (CEFWebBrowserWindow) performs local page drawing aiming at the updating area, and after drawing is finished, a drawing result is sent to a page browsing view port component (WebBrowserViewport) of the WebBrowser control;
and S550, requesting rendering from a page view component (WebBrowserView) of the WebBrowser control by the page view port component (WebBrowserView).
Further, in an embodiment of the present specification, in order to effectively reduce the calling frequency of the message loop processing function (CefDoMessageLoopWork), a fixed time interval is not used to call the message loop processing function (CefDoMessageLoopWork). Specifically, in an embodiment of the present specification, in the process of using the first thread to call the message loop processing function (CefDoMessageLoopWork) to open the internal message loop processing:
judging whether a message loop processing function (CefDoMessageLoopWork) needs to be called currently;
when a message loop processing function (CefDoMessageLoopWork) of the CEF control needs to be called, the message loop processing function (CefDoMessageLoopWork) is called using the first thread.
Specifically, in an embodiment of the present specification, the external _ message _ pump option of the CEF is used to determine whether a message loop processing function (CefDoMessageLoopWork) needs to be called currently. Specifically, after the external _ message _ pump is turned on, the CEF control provides a next time interval in which a message loop processing function (CefDoMessageLoopWork) is required. Specifically, the browse management component (cefbrowser handler) of the CEF control provides a next message loop handling function (CefDoMessageLoopWork) time interval to be performed.
Specifically, in an embodiment of the present specification, in the process of determining whether a message loop processing function (CefDoMessageLoopWork) needs to be called currently:
a single-case component of a WebBrowser control (WebBrowsersingleton) is used for acquiring a time point needing to call a message loop processing function (CefDoMessageLoopWork) from a CEF control to judge whether the message loop processing function (CefDomessageLoopWork) needs to be called or not.
Further, in an embodiment of the present specification, a main thread (game thread) is used to open a call flow of a message loop processing function (CefDoMessageLoopWork). Specifically, in an embodiment of the present specification:
sending a basic time message () representing the time lapse in the illusion engine to a singleton component (WebBrowsersingleton) of a WebBrowser control by the main thread of the illusion engine, wherein specifically, a Tick message is the basic time message representing the time lapse in Unreal, and a Tick message exists each time the time develops one step forwards;
when a singleton component (WebBrowserSingleton) receives a basic time message, whether a message loop processing function (CefDoMessageLoopWork) needs to be called currently is judged.
Further, in an embodiment of the present specification, when the singleton component (WebBrowserSingleton) determines whether the message loop processing function (CefDoMessageLoopWork) needs to be called currently, the first thread is notified to be started to call the message loop processing function (CefDoMessageLoopWork).
Specifically, in an embodiment of the present specification, as shown in fig. 6, a flow of a component operation method includes:
s600, the Game Thread sends the Tick message to a singleton (WebBrowsersingleton) for processing;
s601, the singleton component (WebBrowsersingleton) requests a browsing management component (CEFBrowsHandler) for a time point needing to call a message loop processing function (CefDomessageLoopWork) next time;
s602, the browse management component (CEFBrowser) returns the time point of the next message loop processing function (CefDoMessageLoopWork) to be called, and the singleton component (WebBrowsersingleton) judges whether the current time point needs to call the message loop processing function (CefDoMessageLoopWork);
s610, when a message loop processing function (CefDoMessageLoopWork) needs to be called, a first thread is used for sending a do message loop processing function (CefDoMessageLoopWork) request to a message loop component (CEFMessageLooop) of a CEF control so as to start new one-time internal message loop processing;
s620, after one internal message loop processing is completed, sending a drawing event to a browsing management component (CEFBrowserHandler) of the CEF control by the CEFMNessagelLoop;
s630, the browse management component (CEFBrowser handler) acquires an update region (dirty region) after confirming the drawing event;
s631, the browse management component (CEFBrowserHandler) sends the dirty region to the Unreal Game Thread in a message communication mode among threads;
s632, the Game Thread transmits dirty region to the page view window component (CEFWebBrowserWindow);
s640, the page browsing window component (CEFWebBrowserWindow) performs local page drawing on the updating area, and after drawing is finished, a drawing result is sent to a page browsing view port component (WebBrowserViewport) of the WebBrowser control;
s650, the page view port component (WebBrowserViewport) requests the page view component (WebBrowserView) of the WebBrowser control to render.
Based on the method of the embodiment of the specification, the embodiment of the specification also provides a component system for the illusion engine. Specifically, in an embodiment of the present specification, the system includes a CEF control and a WebBrowser control, where:
the CEF control is used for starting internal message loop processing by a first thread independent of the main thread of the illusion engine;
the CEF control is also used for performing page drawing by an internal function of the CEF control after one internal message circulation processing is finished, and sending a drawing result to the WebBrowser control after the drawing is finished;
and the WebBrowser control is used for rendering based on the received drawing result.
Further, based on the method of the present invention, the present invention also provides an apparatus for information processing at an accessing device, the apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the apparatus is triggered to execute the method of the present invention.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain a corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical blocks. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by an accessing party. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as ABEL (Advanced Boolean Expression Language), AHDL (alternate Hardware Description Language), traffic, CUPL (core universal Programming Language), HDCal, jhddl (Java Hardware Description Language), lava, lola, HDL, PALASM, rhyd (Hardware Description Language), and vhigh-Language (Hardware Description Language), which is currently used in most popular applications. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be regarded as a hardware component and the means for performing the various functions included therein may also be regarded as structures within the hardware component. Or even means for performing the functions may be conceived to be both a software module implementing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both permanent and non-permanent, removable and non-removable media, may implement the information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising one of 8230; \8230;" 8230; "does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises that element.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (12)

1. A method of operating a component for a ghost engine, the method comprising:
when a message circulation processing function of an embedded frame control needs to be called, starting internal message circulation processing of the embedded frame control of the illusion engine by using a first thread independent of a main thread of the illusion engine;
after one internal message cycle processing is finished, page drawing is carried out by an internal function of the embedded frame control;
and after the page is drawn, sending a drawing result to a web browser control of the illusion engine by the embedded frame control, and rendering by the web browser control.
2. The method of claim 1, initiating an internal message loop process of an embedded framework control of a ghost engine using a first thread independent of a ghost engine main thread, wherein a message loop process function of the embedded framework control is invoked using the first thread to initiate the internal message loop process.
3. The method of claim 2, calling a message loop processing function of the embedded framework control using the first thread to initiate the internal message loop processing, wherein:
and sending a message loop execution request to a message loop component of the embedded framework control by using the first thread so as to start new one-time internal message loop processing.
4. The method of claim 2 or 3, using the first thread to call a message loop processing function of the embedded framework control to start the internal message loop processing, comprising:
judging whether the message loop processing function needs to be called currently, wherein a singleton component of the web browser control is used for acquiring a time point of needing to call the message loop processing function from the embedded frame control so as to judge whether the message loop processing function needs to be called;
and when the message loop processing function needs to be called, using the first thread to call the message loop processing function.
5. The method of claim 4, determining whether the message loop handling function needs to be called currently, further comprising:
sending, by the ghost engine main thread, a tick time message in the ghost engine that represents the passage of time to the singleton component of the web browser control;
and when the singleton component receives the tick time message, judging whether the message loop processing function needs to be called currently.
6. The method of claim 1, page rendering by an internal function of the embedded frame control, comprising:
sending a drawing event to a browsing management component of the embedded frame control by a message circulation component of the embedded frame control;
the browsing management component sends a drawing request to a page browsing window component of the embedded frame control after confirming the drawing event;
and the page browsing window component draws based on the drawing request.
7. The method of claim 6, wherein after the page is rendered, the embedded frame control sends a rendering result to a web browser control, and the web browser control performs rendering, including:
after the drawing of the page browsing window component is finished, sending a drawing result to a page browsing view port component of the web browser control;
and requesting to render from a page browsing view component of the web browser control by the page browsing view port component.
8. The method of claim 6 or 7, the browse management component sending a draw request to a page view window component of the embedded frame control after confirming the drawing event, comprising:
sending, by the browsing management component, the draw request to the ghost engine main thread;
and transmitting the drawing request to the page browsing window component by using the illusion engine main thread.
9. The method of claim 1, page rendering by an internal function of the embedded frame control, wherein local page rendering is performed by the internal function of the embedded frame control.
10. The method of claim 9, local page rendering by an internal function of the embedded frame control, comprising:
sending a drawing event to a browsing management component of the embedded frame control by a message circulation component of the embedded frame control;
the browse management component acquires an updating area after confirming the drawing event;
the browsing management component sends a drawing request containing the updating area to a page browsing window component of the embedded frame control;
and the page browsing window component carries out local page drawing based on the drawing request.
11. A system of components for a ghost engine, the system comprising an embedded frame control and a web browser control, wherein:
the embedded frame control is used for starting internal message circulation processing by a first thread independent of a main thread of the illusion engine when a message circulation processing function of the embedded frame control needs to be called;
the embedded frame control is also used for drawing a page by an internal function of the embedded frame control after one-time internal message circulation processing is finished, and sending a drawing result to the web browser control after drawing is finished;
and the webpage browser control is used for rendering based on the received drawing result.
12. An apparatus for information processing at an accessing device, the apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform the method of any of claims 1 to 10.
CN201910777826.1A 2019-08-22 2019-08-22 Component operation method, system and equipment for illusion engine Active CN110496395B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910777826.1A CN110496395B (en) 2019-08-22 2019-08-22 Component operation method, system and equipment for illusion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910777826.1A CN110496395B (en) 2019-08-22 2019-08-22 Component operation method, system and equipment for illusion engine

Publications (2)

Publication Number Publication Date
CN110496395A CN110496395A (en) 2019-11-26
CN110496395B true CN110496395B (en) 2023-02-21

Family

ID=68588547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910777826.1A Active CN110496395B (en) 2019-08-22 2019-08-22 Component operation method, system and equipment for illusion engine

Country Status (1)

Country Link
CN (1) CN110496395B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966421B (en) * 2020-06-29 2024-01-09 北京百度网讯科技有限公司 Page component operation monitoring method, device, equipment and storage medium
CN112527430A (en) * 2020-12-03 2021-03-19 万翼科技有限公司 Data deployment method and related device
CN115794095B (en) * 2023-01-10 2023-05-09 北京爱特拉斯信息科技有限公司 JavaScript-based illusion engine UI development method and system
CN116896684A (en) * 2023-08-02 2023-10-17 广州颖上信息科技有限公司 Virtual control system and method for stabilizer
CN116860420B (en) * 2023-09-05 2024-03-01 荣耀终端有限公司 Event processing method, readable storage medium, and electronic device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843686A (en) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 Resource release method and apparatus for singleton component
CN106648655A (en) * 2016-12-20 2017-05-10 惟锐(杭州)数字科技有限公司 Transformation method and device of UE engine bottom layer and method and device for displaying UE project in browser
CN107066691A (en) * 2017-03-03 2017-08-18 成都午时科技有限公司 A kind of 3D floor plans drawing system and its method based on illusory engine
CN108090085A (en) * 2016-11-21 2018-05-29 鲸彩在线科技(大连)有限公司 A kind of map sharing method and device
JP2018160264A (en) * 2018-06-12 2018-10-11 グーグル エルエルシー Batch-optimized render and fetch architecture
CN109966742A (en) * 2019-03-21 2019-07-05 深圳市腾讯信息技术有限公司 The method and device of rendering performance data is obtained in game running

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104475B2 (en) * 2011-04-07 2015-08-11 Qualcomm Innovation Center, Inc. Methods and apparatus for managing operations of a web browser by predicting time period of subsequent script execution activity
CN103942227B (en) * 2013-01-23 2018-07-06 腾讯科技(深圳)有限公司 A kind of methods, devices and systems for process of information push render presentation
WO2015196414A1 (en) * 2014-06-26 2015-12-30 Google Inc. Batch-optimized render and fetch architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843686A (en) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 Resource release method and apparatus for singleton component
CN108090085A (en) * 2016-11-21 2018-05-29 鲸彩在线科技(大连)有限公司 A kind of map sharing method and device
CN106648655A (en) * 2016-12-20 2017-05-10 惟锐(杭州)数字科技有限公司 Transformation method and device of UE engine bottom layer and method and device for displaying UE project in browser
CN107066691A (en) * 2017-03-03 2017-08-18 成都午时科技有限公司 A kind of 3D floor plans drawing system and its method based on illusory engine
JP2018160264A (en) * 2018-06-12 2018-10-11 グーグル エルエルシー Batch-optimized render and fetch architecture
CN109966742A (en) * 2019-03-21 2019-07-05 深圳市腾讯信息技术有限公司 The method and device of rendering performance data is obtained in game running

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Unreal Engine4的虚拟家装系统设计;韩进等;《单片机与嵌入式系统应用》;20180301(第03期);全文 *
电影摄影仿真系统的研究与实现;贺一慧等;《现代电影技术》;20180511(第05期);第12-19页 *

Also Published As

Publication number Publication date
CN110496395A (en) 2019-11-26

Similar Documents

Publication Publication Date Title
CN110496395B (en) Component operation method, system and equipment for illusion engine
CN113259224B (en) Method and device for sending customer service data
CN107656759B (en) Rendering method and device for user interface
CN111639289A (en) Webpage loading method and device
CN108549562A (en) A kind of method and device of image load
CN112947969B (en) Page off-screen rendering method, device, equipment and readable medium
CN110990105B (en) Interface display method and device, electronic equipment and storage medium
CN111796823A (en) Method and device for updating page and displaying page and page maintenance system
CN111540035B (en) Particle rendering method, device and equipment
WO2021143371A1 (en) Method, apparatus, and device for generating applet page
CN109710259B (en) Data processing method, device and storage medium
CN110874217A (en) Interface display method and device for fast application and storage medium
CN111796821A (en) Page updating method and device
CN110806847A (en) Distributed multi-screen display method, device, equipment and system
CN110262749B (en) Webpage operation method, device, container, equipment and medium
CN112235132B (en) Method, device, medium and server for dynamically configuring service
CN111898056A (en) Webpage display method and device, storage medium and electronic equipment
CN111881393A (en) Page rendering method, device, medium and electronic equipment
WO2023179183A1 (en) Subprogram synchronization processing
CN111538667A (en) Page testing method and device
CN108769152B (en) Service refresh policy registration method, service refresh request method, device and equipment
CN111078435A (en) Service processing method and device and electronic equipment
CN116302230A (en) Page display method, device and equipment
US11210119B2 (en) Method and device for displaying interface, electronic equipment, server, and storage medium
CN114637568A (en) Equipment split screen adaptation processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant