CN113837918A - Method and device for realizing rendering isolation by multiple processes - Google Patents

Method and device for realizing rendering isolation by multiple processes Download PDF

Info

Publication number
CN113837918A
CN113837918A CN202010583720.0A CN202010583720A CN113837918A CN 113837918 A CN113837918 A CN 113837918A CN 202010583720 A CN202010583720 A CN 202010583720A CN 113837918 A CN113837918 A CN 113837918A
Authority
CN
China
Prior art keywords
image
special effect
rendering
initial image
isolation
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.)
Pending
Application number
CN202010583720.0A
Other languages
Chinese (zh)
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010583720.0A priority Critical patent/CN113837918A/en
Publication of CN113837918A publication Critical patent/CN113837918A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

The disclosure discloses a method, an apparatus, an electronic device and a computer-readable storage medium for multi-process rendering isolation. The method comprises the following steps: acquiring an initial image through a first process, and sending the initial image to a second process; the first process and the second process are two processes which run independently; responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process; displaying the special effect image through the first process. According to the image rendering method and device, the image rendering and the special effect processing are respectively achieved through the two processes, so that time consumption caused by the special effect processing of the second process can be avoided, the image rendering efficiency of the first process can be improved due to the influence on the image rendering of the first process, and when one process is blocked, the operation of the other process is not influenced, and the image processing efficiency is further improved.

Description

Method and device for realizing rendering isolation by multiple processes
Technical Field
The present disclosure relates to the field of program technologies, and in particular, to a method, an apparatus, and a computer-readable storage medium for implementing rendering isolation by multiple processes.
Background
With the development of the intelligent terminal technology, the functions of the intelligent terminal are more and more diversified, for example, a user can use a camera in the terminal to take images (for example, photos or videos), which has become a new mode for people to enjoy entertainment. However, a simple photographed image has not been demanded by the user. Then, it is a focus of people to focus on how to perform special effect processing on the shot image to obtain a better and interesting image.
In the prior art, a special effect processing Software Development Kit (SDK) is usually called in an image rendering thread to implement special effect processing of an image, but the special effect processing of the SDK is very time-consuming, which inevitably greatly reduces the image rendering efficiency.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The technical problem solved by the present disclosure is to provide a method for realizing rendering isolation by multiple processes, so as to at least partially solve the technical problem of low image rendering efficiency in the prior art. In addition, a device for realizing rendering isolation by multiple processes, a hardware device for realizing rendering isolation by multiple processes, a computer readable storage medium and a terminal for realizing rendering isolation by multiple processes are also provided.
In order to achieve the above object, according to one aspect of the present disclosure, the following technical solutions are provided:
a method for realizing rendering isolation by multiple processes comprises the following steps:
acquiring an initial image through a first process, and sending the initial image to a second process; the first process and the second process are two processes which run independently;
responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process;
displaying the special effect image through the first process.
In order to achieve the above object, according to one aspect of the present disclosure, the following technical solutions are provided:
an apparatus for multi-process implementation of rendering isolation, comprising:
the image acquisition module is used for acquiring an initial image through a first process and sending the initial image to a second process; the first process and the second process are two processes which run independently;
the special effect processing module is used for responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process;
and the special effect image rendering module is used for displaying the special effect image through the first process.
In order to achieve the above object, according to one aspect of the present disclosure, the following technical solutions are provided:
an electronic device, comprising:
a memory for storing non-transitory computer readable instructions; and
a processor for executing the computer readable instructions, such that the processor when executing implements any of the above described methods for multi-process implementation of rendering isolation.
In order to achieve the above object, according to one aspect of the present disclosure, the following technical solutions are provided:
a computer readable storage medium storing non-transitory computer readable instructions which, when executed by a computer, cause the computer to perform any of the above-described multi-process implementation rendering isolation methods.
In order to achieve the above object, according to still another aspect of the present disclosure, the following technical solutions are also provided:
a terminal for realizing rendering isolation by multiple processes comprises any one device for realizing rendering isolation by multiple processes.
According to the image rendering method and device, the image rendering and the special effect processing are respectively achieved through the two processes, so that time consumption caused by the special effect processing of the second process can be avoided, the image rendering efficiency of the first process can be improved due to the influence on the image rendering of the first process, and when one process is blocked, the operation of the other process is not influenced, and the image processing efficiency is further improved.
The foregoing is a summary of the present disclosure, and for the purposes of promoting a clear understanding of the technical means of the present disclosure, the present disclosure may be embodied in other specific forms without departing from the spirit or essential attributes thereof.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale.
FIG. 1 is a flow diagram of a method for implementing render isolation for multiple processes according to one embodiment of the present disclosure;
FIG. 2 is a schematic structural diagram of an apparatus for implementing rendering isolation by multiple processes according to an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, or in parallel. Furthermore, method embodiments may include additional steps or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
Example one
In order to solve the technical problem of low image rendering efficiency in the prior art, the embodiment of the present disclosure provides a method for implementing rendering isolation by multiple processes. As shown in fig. 1, the method for implementing rendering isolation by multiple processes mainly includes the following steps S11 to S13.
Step S11: acquiring an initial image through a first process, and sending the initial image to a second process; the first process and the second process are two processes which run independently;
the first process may be a main process, the second process may be a sub-process of the first process, and the second process may run in the background. And sharing the resources of the main process and the sub-process. The first Process and the second Process perform information transfer in an Inter-Process Communication (IPC) manner, that is, the first Process sends the image to the second Process by the IPC manner.
In addition, in order to facilitate the second process to perform special effect processing on the image, after the first process acquires the image, the first process may perform preprocessing on the image, including denoising, feature extraction, target recognition and the like, and then send the preprocessed image to the second process.
Specifically, an initial image is obtained from an image input source through the first process, and the initial image may be a video image input in real time, for example, a live video in a short video application, or a video image stored in the terminal in advance. The image may also be a still image, i.e. a picture. The terminal may be a mobile terminal, such as a smart phone or a tablet computer, or a fixed terminal, such as a desktop computer.
The image input source can be a local storage space or a network storage space, the image is obtained from the local storage space or the network storage space through a first process, no matter where the image is obtained, a storage address of the image is preferably required to be obtained, and then the image is obtained from the storage address.
Wherein, the image input source can also be an image sensor, and the image is collected from the image sensor through the first process. The image sensor may be various devices for acquiring images, and typical image sensors are video cameras, still cameras, and the like. In this embodiment, the image sensor may be a camera on the mobile terminal, such as a front-facing or rear-facing camera on a smart phone, and an image acquired by the camera may be directly displayed on a display screen of the smart phone.
This step can be implemented by a custom function. Specifically, the first process may include the following custom functions or objects: VideoStream: the system comprises a user-defined video stream module, an EMVideoPreviewModel user-defined video preview display object, an EMVideoFilterRunable user-defined video frame preprocessing object and an Effect SDKClient user-defined special effect SDK interface object. Specifically, a video frame is read through a VideoStream as an initial image, the initial image is transmitted to an EMVideoPreviewModel object, an EMVideoPreviewModel is accessed through a QML layer, image data is sent to an EMVideoFilterRunable, the video frame is preprocessed through the EMVideoFilterRunable, image data to be displayed is sent to an effect sdkclient processing module, and the effect sdkclient processing module transmits the image data to an independent sub-process, namely, a second process through inter-process communication for special effect processing.
Step S12: and responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process.
The special effect processing may be, for example, extracting a target object (e.g., a human face), adding a sticker (e.g., a human face sticker), and the like.
Step S13: displaying the special effect image through the first process.
Specifically, the special effect image can be displayed in real time through an Output control of a universal video playing component in the QML.
In the embodiment, the image rendering and the special effect processing are respectively realized through the two processes, so that the time consumption caused by the special effect processing of the second process can be avoided, the image rendering efficiency of the first process can be improved due to the influence on the image rendering of the first process, and the operation of the other process is not influenced when the process is blocked, so that the image processing efficiency is further improved.
In an alternative embodiment, the first process and the second process are implemented based on the ANGLE framework.
Almost Native Graphics Layer Engine (ANGLE) projects implement a Web GL subset interface in a Layer of OpenGL ES 2.0API on the basis of Direct X9.0 c API. Among them, Direct X (DX) is a multimedia Programming Interface created by microsoft corporation, and is an Application Programming Interface (API). Among them, OpenGL ES (OpenGL for Embedded Systems) is a subset of OpenGL three-dimensional graphics API. OpenGL (Open Graphics Library, Open Graphics Library or Open Graphics Library) is a cross-language, cross-platform application programming interface for rendering two-dimensional, three-dimensional vector Graphics.
Specifically, the image rendering and special effect processing processes are respectively extracted and divided into two processes to be realized, namely a first process is used for realizing image rendering, and a second process is used for special effect processing. And, both processes are implemented based on ANGLE.
In an alternative embodiment, the first process is a descriptive scripting language QML rendering thread, and the second process is a special effects software development kit Effect SDK.
In the prior art, in the ANGLE mode, Qt switches the descriptive scripting language Qml rendering thread to the main thread, and OpenGL is also used for calling the Effect SDK, which is a special Effect software development package, in the prior art, the Effect SDK must be called in the main thread due to the limitation of multithreading, but the Effect SDK special Effect processing is very time-consuming, which greatly reduces the rendering frame rate of Qml.
Therefore, in this embodiment, the main thread where QML rendering is located is taken as the first process, and the Effect SDK is isolated from the main thread as an independent sub-process, i.e., the second process. Therefore, the time consumption caused by Effect SDK special Effect processing and the influence on QML image rendering can be avoided, the image rendering efficiency can be improved, and in addition, when the main thread Crash is adopted, the subprocess can still run.
In an optional embodiment, the first process and the second process are implemented based on OpenGL.
The OpenGL may be an original OpenGL. The method can be realized based on the conventional OpenGL, and can be realized by extracting an image rendering function and an image special effect processing function and then respectively adopting different processes. Namely, the first process is used for realizing the image rendering function, the second process is used for realizing the image special effect processing function, and the processing result of the second process is called to render in the executing process of the first process.
It will be appreciated by those skilled in the art that obvious modifications (for example, a superposition of the modes listed) or equivalent substitutions may be made on the basis of the various embodiments described above.
In the above, although the steps in the embodiment of the method for implementing rendering isolation by multiple processes are described in the above sequence, it should be clear to those skilled in the art that the steps in the embodiment of the present disclosure are not necessarily performed in the above sequence, and may also be performed in other sequences such as reverse, parallel, and cross, and further, on the basis of the above steps, those skilled in the art may also add other steps, and these obvious modifications or equivalent alternatives should also be included in the protection scope of the present disclosure, and are not described in detail herein.
For convenience of description, only the relevant parts of the embodiments of the present disclosure are shown, and details of the specific techniques are not disclosed, please refer to the embodiments of the method of the present disclosure.
Example two
In order to solve the technical problem of low image rendering efficiency in the prior art, the embodiment of the present disclosure provides a device for implementing rendering isolation by multiple processes. The apparatus may perform the steps in the method embodiment for implementing rendering isolation by multiple processes described in the first embodiment. As shown in fig. 2, the apparatus mainly includes: an image acquisition module 21, a special effect processing module 22 and a special effect image rendering module 23.
The image acquisition module 21 is configured to acquire an initial image through a first process and send the initial image to a second process;
the special effect processing module 22 is configured to, in response to a special effect editing operation of the user on the initial image, perform special effect processing on the initial image through the second process to obtain a special effect image, and send the special effect image to the first process;
the special effect image rendering module 23 displays the special effect image through the first process.
Further, the first process is a main process, and the second process is a sub-process.
Further, the first process and the second process are implemented based on an ANGLE framework.
Further, the first process is a descriptive scripting language QML rendering thread, and the second process is a special Effect software development kit Effect SDK.
Further, the first process and the second process are implemented based on OpenGL.
For detailed descriptions of the working principle, the technical effect, and the like of the embodiment of the apparatus for implementing rendering isolation by multiple processes, reference may be made to the related descriptions in the foregoing embodiment of the method for implementing rendering isolation by multiple processes, and no further description is given here.
EXAMPLE III
Referring now to FIG. 3, a block diagram of an electronic device 300 suitable for use in implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 3 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 3, the electronic device 300 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 301 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)302 or a program loaded from a storage means 308 into a Random Access Memory (RAM) 303. In the RAM 303, various programs and data necessary for the operation of the electronic apparatus 300 are also stored. The processing device 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input/output (I/O) interface 305 is also connected to bus 304.
Generally, the following devices may be connected to the I/O interface 305: input devices 306 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 307 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage devices 308 including, for example, magnetic tape, hard disk, etc.; and a communication device 309. The communication means 309 may allow the electronic device 300 to communicate wirelessly or by wire with other devices to exchange data. While fig. 3 illustrates an electronic device 300 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication means 309, or installed from the storage means 308, or installed from the ROM 302. The computer program, when executed by the processing device 301, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium of the present disclosure can be a computer readable signal medium or a computer readable storage medium or any superposition of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable superposition of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable superposition of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable superposition of the above.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring an initial image through a first process, and sending the initial image to a second process; the first process and the second process are two processes which run independently; responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process; rendering the special effect image by the first process.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first retrieving unit may also be described as a "unit for retrieving at least two internet protocol addresses".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable superposition of the foregoing.
According to one or more embodiments of the present disclosure, a method for implementing rendering isolation by multiple processes is provided, which includes:
acquiring an initial image through a first process, and sending the image to a second process; the first process and the second process are two processes which run independently;
responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process;
displaying the special effect image through the first process.
Further, the first process is a main process, and the second process is a sub-process.
Further, the first process and the second process are implemented based on an ANGLE framework.
Further, the first process is a descriptive scripting language QML rendering thread, and the second process is a special Effect software development kit Effect SDK.
Further, the first process and the second process are implemented based on OpenGL.
According to one or more embodiments of the present disclosure, there is provided an apparatus for implementing rendering isolation by multiple processes, including:
the image acquisition module is used for acquiring an initial image through a first process and sending the initial image to a second process; the first process and the second process are two processes which run independently;
the special effect processing module is used for responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the image through the second process to obtain a special effect image, and sending the special effect image to the first process;
and the special effect image rendering module is used for displaying the special effect image through the first process.
Further, the first process is a main process, and the second process is a sub-process.
Further, the first process and the second process are implemented based on an ANGLE framework.
Further, the first process is a descriptive scripting language QML rendering thread, and the second process is a special Effect software development kit Effect SDK.
Further, the first process and the second process are implemented based on OpenGL.
According to one or more embodiments of the present disclosure, there is provided an electronic device including:
a memory for storing non-transitory computer readable instructions; and
and the processor is used for executing the computer readable instructions, so that the processor realizes the method for realizing the rendering isolation by the multiple processes when executing.
According to one or more embodiments of the present disclosure, there is provided a computer-readable storage medium storing non-transitory computer-readable instructions which, when executed by a computer, cause the computer to perform the above-described multi-process implementation rendering isolation method.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular arrangement of features above described which are stacked together, and that other arrangements in which features of the above described type or their equivalents are stacked together as desired without departing from the spirit of the disclosure are also encompassed. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (8)

1. A method for realizing rendering isolation by multiple processes is characterized by comprising the following steps:
acquiring an initial image through a first process, and sending the initial image to a second process; the first process and the second process are two processes which run independently;
responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process;
displaying the special effect image through the first process.
2. The method of claim 1, wherein the first process is a master process and the second process is a child process.
3. The method of claim 1, wherein the first process and the second process are implemented based on an ANGLE framework.
4. The method of claim 3, wherein the first process is a scripting language QML rendering thread and the second process is a special effects software development kit Effect SDK.
5. The method of claim 1, wherein the first process and the second process are implemented based on OpenGL.
6. An apparatus for implementing rendering isolation by multiple processes, comprising:
the image acquisition module is used for acquiring an initial image through a first process and sending the initial image to a second process; the first process and the second process are two processes which run independently;
the special effect processing module is used for responding to the special effect editing operation of the user on the initial image, carrying out special effect processing on the initial image through the second process to obtain a special effect image, and sending the special effect image to the first process;
and the special effect image rendering module is used for displaying the special effect image through the first process.
7. An electronic device, comprising:
a memory for storing non-transitory computer readable instructions; and
a processor for executing the computer readable instructions such that the processor when executing performs the method of multi-process implementation of rendering isolation according to any of claims 1-5.
8. A computer readable storage medium storing non-transitory computer readable instructions which, when executed by a computer, cause the computer to perform the method of multi-process implementation of render isolation of any of claims 1-5.
CN202010583720.0A 2020-06-23 2020-06-23 Method and device for realizing rendering isolation by multiple processes Pending CN113837918A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010583720.0A CN113837918A (en) 2020-06-23 2020-06-23 Method and device for realizing rendering isolation by multiple processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010583720.0A CN113837918A (en) 2020-06-23 2020-06-23 Method and device for realizing rendering isolation by multiple processes

Publications (1)

Publication Number Publication Date
CN113837918A true CN113837918A (en) 2021-12-24

Family

ID=78964237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010583720.0A Pending CN113837918A (en) 2020-06-23 2020-06-23 Method and device for realizing rendering isolation by multiple processes

Country Status (1)

Country Link
CN (1) CN113837918A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626975A (en) * 2022-03-21 2022-06-14 北京字跳网络技术有限公司 Data processing method, apparatus, device, storage medium and program product

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502662A (en) * 2016-10-17 2017-03-15 北京智能管家科技有限公司 Multizone pattern drawing method and device for intelligent operating system
CN107463370A (en) * 2017-06-30 2017-12-12 百度在线网络技术(北京)有限公司 Striding course rendering intent and system
CN108519866A (en) * 2018-03-21 2018-09-11 广州路捷电子科技有限公司 The display methods of the 360 panorama application apparatus based on the superposition of different FB hardware
CN110806905A (en) * 2019-10-30 2020-02-18 网易(杭州)网络有限公司 User page processing method and device, electronic equipment and storage medium
CN111158866A (en) * 2019-12-30 2020-05-15 珠海金山网络游戏科技有限公司 Engine system and rendering method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502662A (en) * 2016-10-17 2017-03-15 北京智能管家科技有限公司 Multizone pattern drawing method and device for intelligent operating system
CN107463370A (en) * 2017-06-30 2017-12-12 百度在线网络技术(北京)有限公司 Striding course rendering intent and system
CN108519866A (en) * 2018-03-21 2018-09-11 广州路捷电子科技有限公司 The display methods of the 360 panorama application apparatus based on the superposition of different FB hardware
CN110806905A (en) * 2019-10-30 2020-02-18 网易(杭州)网络有限公司 User page processing method and device, electronic equipment and storage medium
CN111158866A (en) * 2019-12-30 2020-05-15 珠海金山网络游戏科技有限公司 Engine system and rendering method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
詹华山等 编著: "《计算机环境设计表现》", 31 January 2015, 重庆大学出版社, pages: 005 *
贾嘉 等主编: "《Rhino 4.0&VRay建模渲染技术典藏 工业产品效果图教学实录》", 31 January 2012, 武汉理工大学出版社, pages: 103 - 113 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626975A (en) * 2022-03-21 2022-06-14 北京字跳网络技术有限公司 Data processing method, apparatus, device, storage medium and program product

Similar Documents

Publication Publication Date Title
US20230360337A1 (en) Virtual image displaying method and apparatus, electronic device and storage medium
CN112351222B (en) Image special effect processing method and device, electronic equipment and computer readable storage medium
CN110728622B (en) Fisheye image processing method, device, electronic equipment and computer readable medium
CN113542902B (en) Video processing method and device, electronic equipment and storage medium
CN112051961A (en) Virtual interaction method and device, electronic equipment and computer readable storage medium
US20220159197A1 (en) Image special effect processing method and apparatus, and electronic device and computer readable storage medium
CN115761090A (en) Special effect rendering method, device, equipment, computer readable storage medium and product
CN113535105B (en) Media file processing method, device, equipment, readable storage medium and product
CN111833459B (en) Image processing method and device, electronic equipment and storage medium
JP2023538825A (en) Methods, devices, equipment and storage media for picture to video conversion
US20220272283A1 (en) Image special effect processing method, apparatus, and electronic device, and computer-readable storage medium
CN113837918A (en) Method and device for realizing rendering isolation by multiple processes
CN116596748A (en) Image stylization processing method, apparatus, device, storage medium, and program product
CN114125485B (en) Image processing method, device, equipment and medium
US11805219B2 (en) Image special effect processing method and apparatus, electronic device and computer-readable storage medium
CN116527993A (en) Video processing method, apparatus, electronic device, storage medium and program product
CN115170395A (en) Panoramic image stitching method, panoramic image stitching device, electronic equipment, panoramic image stitching medium and program product
CN114666622A (en) Special effect video determination method and device, electronic equipment and storage medium
CN114187169A (en) Method, device and equipment for generating video special effect package and storage medium
CN113873156A (en) Image processing method and device and electronic equipment
CN112070903A (en) Virtual object display method and device, electronic equipment and computer storage medium
US20240089560A1 (en) Video generation method, apparatus, electronic device and storage medium
CN112214187B (en) Water ripple image implementation method and device
CN111489428B (en) Image generation method, device, electronic equipment and computer readable storage medium
CN113129360B (en) Method and device for positioning object in video, readable medium and electronic equipment

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