CN116414731A - 一种特效编辑方法及装置 - Google Patents

一种特效编辑方法及装置 Download PDF

Info

Publication number
CN116414731A
CN116414731A CN202111637729.6A CN202111637729A CN116414731A CN 116414731 A CN116414731 A CN 116414731A CN 202111637729 A CN202111637729 A CN 202111637729A CN 116414731 A CN116414731 A CN 116414731A
Authority
CN
China
Prior art keywords
editing
instruction
resource manager
cache queue
instructions
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
CN202111637729.6A
Other languages
English (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.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao 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 Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202111637729.6A priority Critical patent/CN116414731A/zh
Priority to US18/057,881 priority patent/US20230206527A1/en
Priority to PCT/CN2022/139670 priority patent/WO2023125080A1/zh
Publication of CN116414731A publication Critical patent/CN116414731A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例提供了一种特效编辑方法及装置,涉及特效编辑技术领域。该方法包括:编辑器接收第一编辑操作,并生成对应的第一编辑指令,以及将第一编辑指令写入指令缓存队列;资源管理器依次执行指令缓存队列中的编辑指令,并在执行第一编辑指令时,对第一编辑指令对应的第一对象进行编辑;图形引擎依次加载指令缓存队列中的编辑指令对应的对象,并在加载第一编辑对应的对象时,向资源管理器发送用于请求加载第二对象的请求信息,第二对象为对第一对象进行编辑后得到的对象;资源管理器响应于请求信息,向图形引擎发送第二对象;图形引擎对第二对象进行渲染。本发明实施例用于避免阻塞用户的编辑操作,提升特效编辑的流畅度。

Description

一种特效编辑方法及装置
技术领域
本发明涉及特效编辑技术领域,尤其涉及一种特效编辑方法及装置。
背景技术
随着科学技术的不断发展,特效越来越多的被运用到自拍、短视频制作、电影制作、视频直播等场景中,经过特效加工后的作品可以超越实际拍摄所能达到的视觉效果,因此特效为提高作品质量提供了强大的技术支撑。
一般情况下,特效编辑系统由编辑器、图形引擎以及资源管理器组成。其中,编辑器提供特效编辑和制作的能力,方便用户制作或编辑特效以及隐藏图形引擎的实现细节;图形引擎提供特效显示和动态运行能力,方便用户查看制作或编辑的特效是否符合预期效果;数字资源管理器用于存储和管理特效的相关资源,以便编辑器和图形引擎进行相关资源的加载。现有技术中,通过特效编辑系统进行特效编辑的过程包括:当接收到用户在编辑器中输入的编辑操作时,编辑器对资源管理器中存储的相应资源进行编辑,编辑完成后图形引擎从资源管理器中加载并运行编辑后的资源,以向用户展示特效的编辑效果,且在图形引擎从资源管理器中加载并运行编辑后的资源之前,用户无法进行下一个编辑操作的输入。如上所述,在现有技术中,由于用户输入一个编辑操作后,图形引擎需要等待资源管理器完成相应资源的编辑后才能加载并运行编辑后的资源,编辑器需要的等待图形引擎完成加载并运行编辑后的资源后,才能继续进行下一个编辑操作的接收,因此现有技术中的特效编辑方案非常容易因为资源运算或资源加载阻塞用户的编辑操作。
发明内容
有鉴于此,本发明实施例提供了一种特效编辑方法及装置,用于避免阻塞用户的编辑操作,提升特效编辑的流畅度。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明的实施例提供了一种特效编辑方法,包括:
编辑器接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列;
资源管理器依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑;
图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载第二对象的请求信息,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象;
所述资源管理器响应于所述请求信息,向所述图形引擎发送第二对象;
所述图形引擎对所述第二对象进行渲染。
作为本发明实施例一种可选的实施方式,所述资源管理器依次执行所述指令缓存队列中的编辑指令,包括:
所述资源管理器通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令。
作为本发明实施例一种可选的实施方式,所述图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,包括:
所述图形引擎通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象。
作为本发明实施例一种可选的实施方式,所述方法还包括:
所述资源管理器生成所述第一编辑指令对应的第一反馈消息,并将所述第一反馈消息写入第一反馈消息队列;
所述编辑器依次读取并输出所述第一反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述方法还包括:
所述图形引擎生成所述第一编辑指令对应的第二反馈消息,并将所述第二反馈消息写入第二反馈消息队列;
所述编辑器依次读取并输出所述第二反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述方法还包括:
所述编辑器在所述图形引擎对所述第二对象进行渲染之前,接收第二编辑操作,并生成所述第二编辑操作对应的第二编辑指令,以及将所述第二编辑指令写入所述指令缓存队列。
第二方面,本发明的实施例提供了一种特效编辑装置,包括:
编辑器,用于接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列;
资源管理器,用于依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑;
图形引擎,用于依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载所述第二对象的请求信息,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象;
所述资源管理器,还用于响应于所述请求信息,向所述图形引擎发送第二对象;
所述图形引擎,还用于对所述第二对象进行渲染。
作为本发明实施例一种可选的实施方式,所述资源管理器,具体用于通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令。
作为本发明实施例一种可选的实施方式,所述图形引擎,具体用于通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象。
作为本发明实施例一种可选的实施方式,所述资源管理器,还用于生成所述第一编辑指令对应的第一反馈消息,并将所述第一反馈消息写入第一反馈消息队列;
所述编辑器,还用于依次读取并输出所述第一反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述图形引擎,还用于生成所述第一编辑指令对应的第二反馈消息,并将所述第二反馈消息写入第二反馈消息队列;
所述编辑器,还用于依次读取并输出所述第二反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述编辑器,还用于在所述图形引擎对所述第二对象进行渲染之前,接收第二编辑操作,并生成所述第二编辑操作对应的第二编辑指令,以及将所述第二编辑指令写入所述指令缓存队列。
第三方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施方式所述的特效编辑方法。
第四方面,本发明实施例提供一种计算机可读存储介质,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施方式所述的特效编辑方法。
第五方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施方式所述的特效编辑方法。
本发明实施例提供的特效编辑方法在编辑器接收到第一编辑操作时,生成第一编辑操作对应的第一编辑指令,并将第一编辑指令写入指令缓存队列,资源管理器依次读取指令缓存队列中的编辑指令,并在执行第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑,图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时向所述资源管理器发送用于请求加载资源管理器编辑后的第一对象的请求信息,资源资源管理器向所述图形引擎发送编辑后的第一对象,最后图形引擎对编辑后的第一对象进行渲染。由于本发明实施例提供的特效编辑方法中的编辑器、资源管理器以及图形引擎通过指令缓存队列进行交互,因此本发明实施例提供的特效编辑方法解耦了编辑器、资源管理器以及图形引擎,避免了编辑器、资源管理器以及图形引擎之间的相互等待,因此本发明实施例可以避免阻塞用户的编辑操作,提升特效编辑的流畅度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要调用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的特效编辑方法的架构图;
图2为本发明实施例提供的特效编辑方法的步骤流程图;
图3为本发明实施例提供的资源管理器的示意图;
图4为本发明实施例提供的图形引擎的示意图;
图5为本发明实施例提供的特效编辑装置的结构示意图;
图6为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,调用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
以下首先对本发明实施例提供的特效编辑方法的场景架构图进行说明。
如图1所示,本发明实施例提供的特效编辑方法的场景架构中包括:编辑器11、资源管理器12以及图形引擎13。
其中,编辑器11用于接收用户输入的编辑操作,并根据接收到的编辑操作生成用于对资源管理器12中存储的相应资源进行编辑的编辑指令,以及将编辑指令写入指令缓存队列中。资源管理器12用于依次读取指令缓存队列中的编辑指令,并根据读取的编辑指令对相应的资源进行编辑,以及响应于编辑器11或图形引擎13的资源加载请求,向编辑器11或图形引擎13发送响应的资源。图形引擎13用于依次读取指令缓存队列中的编辑指令,并在读取某一编辑指令时,向资源管理器12发送用于请求加载根据编辑指令对响应资源进行编辑后得到的资源,以及在加载到资源后对资源进行渲染、运行以及显示。此外,资源管理器12还用于根据读取的编辑指令的执行结果生成反馈消息,并将反馈消息写入第一反馈消息队列,编辑器11还用于依次输出第一反馈消息队列中的反馈消息,以便用户资源管理器12的运行状态。图形引擎13还用于根据资源加载结果、资源运行结果、资源渲染结果等生成反馈消息,并将反馈消息写入第二反馈消息队列,编辑器11还用于依次输出第二反馈消息队列中的反馈消息,以便用户查看图形引擎13的运行状态。
需要说明的是,本发明实施例中的编辑器11、资源管理器12以及图形引擎13可以分别为同一硬件设备中的不同功能模块,也可以为相互独立的硬件设备,本发明实例对此不做限定,以编辑器11、资源管理器12以及图形引擎13均可以实现相应功能为准。
本发明实施例提供了一种特效编辑方法,参照图1所示,该特效编辑方法包括如下步骤S11至S15:
S11、编辑器接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列。
示例性的,本发明实施例中的第一编辑操作具体可以包括:创建对象的操作、删除对象的操作、修改对象的属性值的操作等,本发明实施例对编辑操作不作限定,可以包括任一种或多种对编辑场景中的一个或多个对象的编辑操作。
本发明实施例中的编辑指令是指:用于指示资源管理器对编辑操作所操作的资源进行相应操作的指令。再例如:第一编辑操作为将对象A的属性值由x0修改为x1的操作,则编辑器生成的第一编辑指令可以包括:对象A的标识和操作内容“将x0修改为x1”。其中,对象的标识可以为对象的通用唯一识别码(Universally Unique Identifier,UUID)。
本发明实施例中编辑器在将编辑指令写入指令缓存队列时,始终是将编辑指令写入指令缓存队列的尾部。即,缓存队列中的编辑指令按照写入顺序依次排列。
S12、资源管理器依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑。
具体的,资源管理器依次执行所述指令缓存队列中的编辑指令是指:资源管理器按照缓存队列中的编辑指令排列顺序,由先到后依次执行所述指令缓存队列中的编辑指令。
作为本发明实施例一种可选的实施方式,上述步骤S12(资源管理器依次执行所述指令缓存队列中的编辑指令)的实现方式包括:
所述资源管理器通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令。
由于上述实施例提供的特效编辑方法通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令,因此本发明实施例不会因为某一编辑指令执行受阻而阻塞指令缓存队列中的其它编辑指令的执行。
示例性的,参照图3所示,图3中,以资源管理器通过执行线程A,执行线程B以及执行线程C三个执行线程并行执行所述指令缓存队列中的编辑指令为例对资源管理器通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令的实现方式进行说明。如图3所示,指令缓存队列中由首部至尾部依次包括:编辑指令1、编辑指令2、编辑指令3、编辑指令4……编辑指令n,资源管理器首先通过执行线程A执行编辑指令1,通过执行线程B执行编辑指令2,通过执行线程C执行编辑指令3;一段时间后,执行线程A最先完成了编辑指令1的执行,资源管理器通过执行线程A执行指令缓存队列中的编辑指令4,此时执行线程A在执行编辑指令4、执行线程B在执行编辑指令2、执行线程C在执行编辑指令3;又一段时间后,执行线程C完成了编辑指令3的执行;资源管理器通过执行线程C执行指令缓存队列中的编辑指令5,此时执行线程A在执行编辑指令4、执行线程B在执行编辑指令2、执行线程C在执行编辑指令5;再一段时间后,执行线程A完成了编辑指令4的执行;资源管理器通过执行线程A执行指令缓存队列中的编辑指令6,此时执行线程A在执行编辑指令6、执行线程B在执行编辑指令2、执行线程C在执行编辑指令5,直到指令缓存队列中的编辑指令全部被执行完成。虽然编辑指令2执行受阻(用时较久或无法执行),但并不会阻塞指令缓存队列中的其它编辑指令的执行。
可选的,执行线程在开始执行指令缓存队列中的编辑指令后,可以将开始执行的编辑指令从指令缓存队列中删除,从而配置执行线程在执行指令缓存队列中的编辑指令时始终执行指令缓存队列中的第一个编辑指令。
S13、图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载第二对象的请求信息。
其中,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象。
具体的,图形引擎依次执行所述指令缓存队列中的编辑指令是指:图形引擎按照缓存队列中的编辑指令排列顺序,由先到后依次加载所述指令缓存队列中的编辑指令对应的对象。
作为本发明实施例一种可选的实施方式,上述步骤S13(图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象)的实现方式包括:
所述图形引擎通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象。
由于上述实施例提供的特效编辑方法通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象,因此本发明实施例不会因为某一编辑指令对应的对象加载受阻而阻塞指令缓存队列中的其它编辑指令对应的对象的加载。
示例性的,参照图4所示,图4中,以图形引擎通过加载线程a,加载线程b以及加载线程c三个加载线程并行加载所述指令缓存队列中的编辑指令对应的对象为例对图形引擎通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象的实现方式进行说明。如图4所示,指令缓存队列中由首部至尾部依次包括:编辑指令1、编辑指令2、编辑指令3、编辑指令4……编辑指令n,图形引擎首先通过加载线程a加载编辑指令1对应的对象,通过加载线程b加载编辑指令2对应的对象,通过加载线程c加载编辑指令3对应的对象;一段时间后,加载线程b最先完成了编辑指令2对应的对象的加载,图形引擎通过加载线程b加载指令缓存队列中的编辑指令4对应的对象,此时加载线程a在加载编辑指令1对应的对象、加载线程b在加载编辑指令4对应的对象、加载线程c在加载编辑指令3对应的对象;又一段时间后,加载线程c最先完成了编辑指令3对应的对象的加载,图形引擎通过加载线程c加载指令缓存队列中的编辑指令5对应的对象,此时加载线程a在加载编辑指令1对应的对象、加载线程b在加载编辑指令4对应的对象、加载线程c在加载编辑指令5对应的对象,直到指令缓存队列中的编辑指令对应的对象全部加载完成。虽然编辑指令1对应的对象加载受阻(用时较久或无法加载),但并不会阻塞指令缓存队列中的其它编辑指令对应的对象的加载。
S14、所述资源管理器响应于所述请求信息,向所述图形引擎发送第二对象。
可选的,所述资源管理器在接收到所述图形引擎发送请求第二对象的请求信息时,首先判断第一编辑指令是否执行完成;若所述第一编辑指令执行完成则向所述图形引擎发送第二对象;若所述第一编辑指令未执行完成则,等待所述第一编辑指令执行完成,并在所述第一编辑指令执行完成后向所述图形引擎发送第二对象,
S15、所述图形引擎对所述第二对象进行渲染。
由于图形引擎对所述第二对象了进行渲染,因此用户可以通过图形引擎显示的第二对象查看第一编辑操作的编辑效果是否符合预期效果。
本发明实施例提供的特效编辑方法在编辑器接收到第一编辑操作时,生成第一编辑操作对应的第一编辑指令,并将第一编辑指令写入指令缓存队列,资源管理器依次读取指令缓存队列中的编辑指令,并在执行第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑,图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时向所述资源管理器发送用于请求加载资源管理器编辑后的第一对象的请求信息,资源资源管理器向所述图形引擎发送编辑后的第一对象,最后图形引擎对编辑后的第一对象进行渲染。由于本发明实施例提供的特效编辑方法中的编辑器、资源管理器以及图形引擎通过指令缓存队列进行交互,因此本发明实施例提供的特效编辑方法解耦了编辑器、资源管理器以及图形引擎,避免了编辑器、资源管理器以及图形引擎之间的相互等待,因此本发明实施例可以避免阻塞用户的编辑操作,提升特效编辑的流畅度。
作为本发明实施例一种可选的实施方式,本发明实施例提供的特效编辑方法还包括:
所述资源管理器生成所述第一编辑指令对应的第一反馈消息,并将所述第一反馈消息写入第一反馈消息队列;
所述编辑器依次读取并输出所述第一反馈消息队列中的反馈消息。
由于资源管理器生成所述第一编辑指令对应的第一反馈消息并未直接发送到编辑器中,因此资源管理器反馈的编辑指令执行结果不会阻塞编辑器的运行,进而进一步避免阻塞用户在编辑器上进行编辑操作的输入。
作为本发明实施例一种可选的实施方式,本发明实施例提供的特效编辑方法还包括:
所述图形引擎生成所述第一编辑指令对应的第二反馈消息,并将所述第二反馈消息写入第二反馈消息队列;
所述编辑器依次读取并输出所述第二反馈消息队列中的反馈消息。
由于图形引擎生成所述第一编辑指令对应的第二反馈消息并未直接发送到编辑器中,因此图形引擎反馈的编辑指令对应的对象的运行结果不会阻塞编辑器的运行,进而进一步避免阻塞用户在编辑器上进行编辑操作的输入。
作为本发明实施例一种可选的实施方式,本发明实施例提供的特效编辑方法还包括:
所述编辑器在所述图形引擎对所述第二对象进行渲染之前,接收第二编辑操作,并生成所述第二编辑操作对应的第二编辑指令,以及将所述第二编辑指令写入所述指令缓存队列。
即,所述编辑器可以连续接收编辑操作,而不必等待前一个编辑操作执行完毕后才接收下一个编辑操作,因此上述实施例可以进一步避免阻塞用户在编辑器上进行编辑操作的输入。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种特效编辑装置,该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的特效编辑装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供了一种特效编辑装置,图5为该特效编辑装置的结构示意图,如图5所示,该特效编辑装置500包括:
编辑器51,用于接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列;
资源管理器52,用于依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑;
图形引擎53,用于依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载所述第二对象的请求信息,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象;
所述资源管理器52,还用于响应于所述请求信息,向所述图形引擎发送第二对象;
所述图形引擎53,还用于对所述第二对象进行渲染。
作为本发明实施例一种可选的实施方式,所述资源管理器52,具体用于通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令。
作为本发明实施例一种可选的实施方式,所述图形引擎53,具体用于通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象。
作为本发明实施例一种可选的实施方式,所述资源管理器52,还用于生成所述第一编辑指令对应的第一反馈消息,并将所述第一反馈消息写入第一反馈消息队列;
所述编辑器51,还用于依次读取并输出所述第一反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述图形引擎53,还用于生成所述第一编辑指令对应的第二反馈消息,并将所述第二反馈消息写入第二反馈消息队列;
所述编辑器51,还用于依次读取并输出所述第二反馈消息队列中的反馈消息。
作为本发明实施例一种可选的实施方式,所述编辑器51,还用于在所述图形引擎对所述第二对象进行渲染之前,接收第二编辑操作,并生成所述第二编辑操作对应的第二编辑指令,以及将所述第二编辑指令写入所述指令缓存队列。
本实施例提供的特效编辑装置可以执行上述方法实施例提供的特效编辑方法,其实现原理与技术效果类似,此处不再赘述。
基于同一发明构思,本发明实施例还提供了一种电子设备。图6为本发明实施例提供的电子设备的结构示意图,如图6所示,本实施例提供的电子设备包括:存储器601和处理器602,所述存储器601用于存储计算机程序;所述处理器602用于在执行计算机程序时执行上述实施例提供的特效编辑方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序被处理器执行时,使得所述计算设备实现上述实施例提供的特效编辑方法。
基于同一发明构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算设备实现上述实施例提供的特效编辑方法。
本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种特效编辑方法,其特征在于,包括:
编辑器接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列;
资源管理器依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑;
图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载第二对象的请求信息,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象;
所述资源管理器响应于所述请求信息,向所述图形引擎发送第二对象;
所述图形引擎对所述第二对象进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述资源管理器依次执行所述指令缓存队列中的编辑指令,包括:
所述资源管理器通过多个执行线程并行依次执行所述指令缓存队列中的编辑指令。
3.根据权利要求1所述的方法,其特征在于,所述图形引擎依次加载所述指令缓存队列中的编辑指令对应的对象,包括:
所述图形引擎通过多个加载线程并行依次加载所述指令缓存队列中的编辑指令对应的对象。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述资源管理器生成所述第一编辑指令对应的第一反馈消息,并将所述第一反馈消息写入第一反馈消息队列;
所述编辑器依次读取并输出所述第一反馈消息队列中的反馈消息。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述图形引擎生成所述第一编辑指令对应的第二反馈消息,并将所述第二反馈消息写入第二反馈消息队列;
所述编辑器依次读取并输出所述第二反馈消息队列中的反馈消息。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述编辑器在所述图形引擎对所述第二对象进行渲染之前,接收第二编辑操作,并生成所述第二编辑操作对应的第二编辑指令,以及将所述第二编辑指令写入所述指令缓存队列。
7.一种特效的编辑装置,其特征在于,包括:
编辑器,用于接收第一编辑操作,并生成所述第一编辑操作对应的第一编辑指令,以及将所述第一编辑指令写入指令缓存队列;
资源管理器,用于依次执行所述指令缓存队列中的编辑指令,并在执行所述第一编辑指令时,根据所述第一编辑指令对所述第一编辑指令对应的第一对象进行编辑;
图形引擎,用于依次加载所述指令缓存队列中的编辑指令对应的对象,并在加载所述第一编辑对应的对象时,向所述资源管理器发送用于请求加载第二对象的请求信息,所述第二对象为所述资源管理器根据所述第一编辑指令对所述第一对象进行编辑后得到的对象;
所述资源管理器,还用于响应于所述请求信息,向所述图形引擎发送第二对象;
所述图形引擎,还用于对所述第二对象进行渲染。
8.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现权利要求1-6任一项所述的特效编辑方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-6任一项所述的特效编辑方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机实现如权利要求1-6任一项所述的特效编辑方法。
CN202111637729.6A 2021-12-29 2021-12-29 一种特效编辑方法及装置 Pending CN116414731A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111637729.6A CN116414731A (zh) 2021-12-29 2021-12-29 一种特效编辑方法及装置
US18/057,881 US20230206527A1 (en) 2021-12-29 2022-11-22 Special-effect editing method and apparatus
PCT/CN2022/139670 WO2023125080A1 (zh) 2021-12-29 2022-12-16 一种特效编辑方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111637729.6A CN116414731A (zh) 2021-12-29 2021-12-29 一种特效编辑方法及装置

Publications (1)

Publication Number Publication Date
CN116414731A true CN116414731A (zh) 2023-07-11

Family

ID=86896953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111637729.6A Pending CN116414731A (zh) 2021-12-29 2021-12-29 一种特效编辑方法及装置

Country Status (3)

Country Link
US (1) US20230206527A1 (zh)
CN (1) CN116414731A (zh)
WO (1) WO2023125080A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112044A (zh) * 2023-10-23 2023-11-24 腾讯科技(深圳)有限公司 基于网卡的指令处理方法、装置、设备和介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527646B2 (en) * 2009-04-14 2013-09-03 Avid Technology Canada Corp. Rendering in a multi-user video editing system
CN108600843B (zh) * 2018-03-19 2019-08-16 北京达佳互联信息技术有限公司 视频编辑方法和系统
CN108970117B (zh) * 2018-06-29 2021-04-30 平安科技(深圳)有限公司 游戏资源包的发布方法、终端设备及介质
CN111158866A (zh) * 2019-12-30 2020-05-15 珠海金山网络游戏科技有限公司 一种引擎系统及其渲染方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112044A (zh) * 2023-10-23 2023-11-24 腾讯科技(深圳)有限公司 基于网卡的指令处理方法、装置、设备和介质
CN117112044B (zh) * 2023-10-23 2024-02-06 腾讯科技(深圳)有限公司 基于网卡的指令处理方法、装置、设备和介质

Also Published As

Publication number Publication date
WO2023125080A1 (zh) 2023-07-06
US20230206527A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN109194960B (zh) 一种图像帧渲染方法、装置及电子设备
CN111381966A (zh) 一种分布式并行训练的方法、设备及可读介质
WO2023125080A1 (zh) 一种特效编辑方法及装置
CN113971037A (zh) 应用处理方法、装置、电子设备及存储介质
US9230294B2 (en) Preserving and reusing intermediate data
CN110727825A (zh) 动画播放的控制方法、装置、服务器和存储介质
CN109739487B (zh) 一种业务逻辑处理方法、设备及计算机可读存储介质
CN113395541A (zh) 视频文件的生成方法、装置及系统
CN114154000A (zh) 多媒体资源发布方法和装置
WO2020135129A1 (zh) 加载应用的插件的方法、装置和终端
WO2023051439A1 (zh) 页面刷新的耗时优化方法、装置及终端设备
CN113835748B (zh) 基于html5的应用程序的打包方法、系统和可读介质
CN102081920A (zh) 一种控制图片显示的方法及装置
CN112348928A (zh) 动画合成方法、动画合成装置、电子设备及介质
WO2016155525A1 (zh) 一种加载页面模块的方法和设备
US9141310B1 (en) Methods and apparatuses for shared state information among concurrently running processes or threads
US11677902B2 (en) Data processing method and related product
CN111427654A (zh) 一种指令处理方法及装置
US20100299682A1 (en) Method and apparatus for executing java application
US20240177384A1 (en) Dynamic graphic editing method and device
WO2023125083A1 (zh) 资源文件加载方法、装置、电子设备及存储介质
CN111111197B (zh) 一种基于DirectX平台的游戏引擎数据处理系统及方法
CN112041817A (zh) 用于管理借助于加速器装置的硬件加速的请求的方法和节点
CN112540835B (zh) 一种混合机器学习模型的运行方法、装置及相关设备
US11100041B2 (en) Techniques for tracking independent hardware graphics processing unit (GPU) performance

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