CN113867734A - 代码块解释执行方法、装置、电子设备及存储介质 - Google Patents
代码块解释执行方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113867734A CN113867734A CN202111220014.0A CN202111220014A CN113867734A CN 113867734 A CN113867734 A CN 113867734A CN 202111220014 A CN202111220014 A CN 202111220014A CN 113867734 A CN113867734 A CN 113867734A
- Authority
- CN
- China
- Prior art keywords
- code block
- execution
- interpretation
- interpretation execution
- logical frame
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本申请提供了一种代码块解释执行方法、装置、电子设备及存储介质,涉及数据处理领域。一种代码块解释执行方法,包括:获取代码块的解释执行规则,其中,所述解释执行规则表征所述代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行。通过将代码块基于逻辑帧的执行频率进行解释执行,使得代码块的解释执行频率不受电子设备性能的改变而改变,从而使得运行结果更为准确。
Description
技术领域
本发明涉及编程领域,特别地,涉及一种代码块解释执行方法、一种代码块解释执行装置、一种电子设备及一种计算机可读存储介质。
背景技术
在一些软件中,代码块的解释执行频率与电子设备的性能相关,例如,对于Scratch软件,代码块的解释执行与屏幕刷新率相关。随着技术发展,现有的电子设备性能不断提升,但不同电子设备的性能有所不同,导致任务并发量不同,当性能较差的部分电子设备在负载增加时,会动态降低某些性能,减少对计算资源的占用,从而保证电子设备的流畅运行。
由于代码块的解释执行与电子设备的性能相关,因此,同一电子设备在负载增加时通过调整部分性能以保证电子设备的流畅运行的同时,代码块会受性能调整的影响,减少解释执行的次数,从而导致代码块解释执行的运行速度的改变,以及运行结果因执行次数改变而发生变化。
发明内容
有鉴于此,本发明旨在提供一种代码块解释执行方法,代码块解释执行装置,电子设备及存储介质,用于解决因设备负载原因导致代码块解释执行的运行结果不一致的问题,使得代码块解释执行不受负载影响,保持相同的运行速度,获得相同的运算结果。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请实施例提供了一种代码块解释执行方法,包括:获取代码块的解释执行规则,其中,所述解释执行规则表征所述代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行。
本申请实施例中,通过使用代码块的解释执行频率与逻辑帧的执行频率之间的对应关系作为代码块的解释执行规则,使得代码块基于逻辑帧的执行频率进行解释执行。在电子设备的性能发生改变时,单位时间内代码块的解释执行次数不会受到电子设备的影响,由此,保证代码块在同一设备不同负载情况下解释执行都能保持一致,从而使得最终运行结果更准确。
一实施例中,所述解释执行规则表征所述代码块与所述逻辑帧同步执行。
本申请实施例中,逻辑帧开始执行时,代码块同时开始解释执行,使得代码块的开始解释执行与逻辑帧同步,由此,代码块的解释执行次数至少与逻辑帧的执行次数相同,不受电子设备各硬件性能影响,从而使得使得最终的运行结果更为准确。
一实施例中,所述基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行,包括:从所述逻辑帧执行的开始时刻起,所述代码块的开始解释执行,并累积平滑时间;在所述平滑时间或所述代码块的解释执行时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
本申请实施例中,通过使用平滑时间记录逻辑帧执行时间,由此,使得逻辑帧的执行频率不受设备影响,保持稳定,从而使得代码块的执行频率也能保持稳定,不会出现较大起伏,进而使得代码块运行结果不会因解释执行时间长短发生改变,保持结果的准确性。
一实施例中,所述在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,包括:在通过渲染线程触发对所述代码块进行解释执行时,判断当前累积的所述平滑时间是否达到逻辑帧间隔,其中,所述逻辑帧间隔为前后两个逻辑帧的执行开始时刻的间隔时长,且为固定值;若是,则执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
本申请实施例中,通过判断平滑时间是否满足逻辑帧间隔,从而使得逻辑帧能够按设置的频率执行,在既定时间内完成既定次数的执行,由于逻辑帧开始执行时,代码块也开始解释执行,因此,代码块也能在在既定时间内完成既定次数的解释执行。
一实施例中,所述在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,还包括:在通过渲染线程触发对所述代码块进行解释执行时,判断当前累积的所述平滑时间的一半是否达到所述逻辑帧间隔与所述当前的累积平滑时间的差值;若是,则执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
本申请实施例中,通过判断逻辑帧间隔与平滑时间的差距关系,提前完成当前逻辑帧的执行,避免因信号延迟或其他性能的改变时导致控制指令的延迟影响逻辑帧的执行频率,进而避免影响代码块按设置的执行频率进行解释执行。
一实施例中,所述在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,还包括:在所述代码块的一轮解释完成,且所述逻辑帧未执行结束时,判断所述代码块解释执行的时间是否达到预设时间,其中,所述预设时间基于所述逻辑帧间隔进行设置;若是,暂停所述平滑时间的累积,并停止对所述代码块继续解释执行;在重新触发对所述代码块开始解释执行的时刻,继续累积所述平滑时间;在所述平滑时间累积达到所述逻辑帧间隔时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
本申请实施例中,一轮代码块的解释执行中可能会对多个,且时间可能长短不同的可执行代码块进行解释执行,该部分代码块无需进行渲染,因此,在代码块解释执行完成一轮时,逻辑帧可能还未完成一轮执行,因此,判断代码块执行时间是否达到预设时间,在达到时暂停平滑时间的累积,且不进行下一轮代码块的解释执行,交出线程占有权给需要执行渲染的其他工作,由此避免代码块对渲染线程的占用,从而使得线程中其他工作能正常进行,减少因代码块执行导致其他工作的延迟。
一实施例中,基于所述逻辑帧的执行次数对所述代码块的解释执行进行记录。
本申请实施例中,通过使用逻辑帧的执行次数记录代码块的解释执行的时间,使得代码块的解释执行时间不受设备性能影响。在不同设备上运行时,无论设备是否负载过多,都能得到代码块的解释执行更相似的、更准确的结果。
第二方面,本申请实施例中提供了一种代码块解释执行装置,包括:获取模块,用于获取代码块的解释执行规则,其中,所述解释执行规则表征所述代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;处理模块,基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如第一方面所述的一种代码块解释执行方法或实现如第二方面所述的一种代码块解释执行装置的功能。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面所述的一种代码块解释执行方法或实现如第二方面所述的一种代码块解释执行装置的功能。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构框图;
图2为本申请实施例提供的一种代码块解释执行方法的流程图;
图3为本申请实施例提供的一种代码块解释执行装置的结构框图。
图标:电子设备100;处理器110;存储器120;代码块解释执行装置20;获取模块21;处理模块22。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
请参阅图1,本申请一实施例提供的一种电子设备100,电子设备100用于执行本申请所提供的代码块解释执行方法,以及实现本申请所提供的代码块解释执行装置的功能。
本实施例中,电子设备100可以是终端或者服务器。终端包括但不限于个人计算机(Personal Computer,PC)、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)或移动上网设备(Mobile Internet Device,MID)等。服务器包括但不限于网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。当然,上述列举的设备仅用于便于理解本申请实施例,其不应作为对本实施例的限定。
在结构上,电子设备100包括处理器110及存储器120。处理器110与存储器120直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110与存储器120之间可以通过通讯总线或信号线实现电性连接。代码块解释执行装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器120中或固化在电子设备100的操作系统(OperatingSystem,OS)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,代码块解释执行装置所包括的软件功能模块及计算机程序等,以实现代码块解释执行装置的功能。
存储器120可以存储有计算机可读指令,处理器110可以通过调用计算机可读指令,以执行代码块解释执行方法。
处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
需要说明的是,图1所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。此外,图1所示的各组件可以通过软件、硬件或其组合实现。
请参阅图2,本申请的一实施例提供一种代码块解释执行方法,该代码块解释执行方法可以由前述电子设备100执行。本实施例中,该代码块的解释执行方法可以包括以下步骤。
S110,获取代码块的解释执行规则。该解释执行规则表征代码块的解释执行频率与逻辑帧的执行频率之间的对应关系。
本实施例中,代码块的解释执行频率是指单位时间内代码块的解释执行次数,逻辑帧的执行频率是指单位时间内逻辑帧的执行次数。代码块的解释执行频率与逻辑帧的执行频率之间的对应关系可以是逻辑帧的执行频率与代码块的解释执行频率呈一定比例,例如,呈1:1,呈1:2,呈2:1等。当逻辑帧的执行频率与代码块的解释执行频率呈1:1的关系时,表示逻辑帧的执行与代码块的解释执行同频,例如,逻辑帧在一秒内执行30次,代码块在一秒内也解释执行30次,具体地,可以是在逻辑帧开始时刻、中间时刻或结束时刻设置触发信号,触发代码块的解释执行。当逻辑帧的执行频率与代码块的解释执行呈2:1的关系,表示每完成两次逻辑帧的执行,对应完成一次代码块的解释执行,例如,逻辑帧在一秒内执行60次,代码块在一秒内解释执行30次,具体地,逻辑帧在第1、3、5帧,以此类推,开始执行时,代码块开始解释执行。
一实施例中,解释执行规则表征代码块的解释执行与逻辑帧执行同步也就是说在逻辑帧开始执行时刻,代码块也同步开始解释执行。通过将代码块的解释执行与逻辑帧的执行绑定,使得代码块的解释执行不受电子设备性能影响,从而保证电子设备性能的影响,得到更准确的运行结果。
本实施例中,逻辑帧开始执行时,代码块也开始解释执行。其中,代码块中可能包括多个可执行的代码块,在代码块的一轮解释执行中,需执行完全部可执行的代码块。
S120,基于逻辑帧的执行频率及解释执行规则对代码块进行解释执行。
一实施例中,从逻辑帧执行的开始时刻起,所述代码块的开始解释执行,并累积平滑时间;在平滑时间满足预设条件时,执行下一逻辑帧以及开始代码块的下一次解释执行。
本实施例中,累积平滑时间可以是在代码块解释执行的同一线程中,或在其他线程中单独累积平滑时间,可以理解的是,其中,平滑时间用于防止两帧之间间隔起伏太大,可以理解的是,累积平滑时间的方法在现有技术有多种,在此不做展开介绍,也不对累积平滑时间的方法作具体限定。
一实施例中,通过判断平滑时间是否满足预设条件,执行下一逻辑帧并开始所述代码块的下一次解释执行,可以是在通过渲染线程触发对代码块进行解释执行时,判断当前累积的平滑时间是否达到逻辑帧间隔,其中,逻辑帧间隔为预设的逻辑帧执行一次所用时间;若是,则执行下一逻辑帧以及开始所述代码块的下一次解释执行。
本实施例中,代码块需依赖能够进行渲染的线程进行触发,例如通过Unity渲染线程触发。代码块可以是纯数据运算的代码块,或者是需要使用渲染的代码块,在代码块解释执行完成后通过是否使用了渲染进行区分。两者代码块由于执行方式不同,在使用解释执行规则对代码块进行解释执行时,需按照不同的处理方式处理。针对需要渲染的代码块的解释执行需进行渲染,通过判断累积的平滑时间是否达到逻辑帧间隔,确定是否进行逻辑帧的执行,由于逻辑帧开始执行时代码块开始解释执行,进而能确定是否进行下一轮代码块的解释执行。
本实施例中,逻辑帧间隔为前后两个逻辑帧的执行开始时刻的间隔时长,且为固定值,示例性地,逻辑帧执行频率为1秒30次时,前后两逻辑帧的间隔时长为1/30秒,即逻辑帧间隔为1/30秒。由于平滑时间是在逻辑帧执行开始时累积,因此,在累积的平滑时间达到逻辑帧间隔时,逻辑帧执行时间为累积的平滑时间。在逻辑帧执行的运行时间达到预设要求时,使逻辑帧进行下一轮执行,进而开始代码块的下一轮解释执行,从而保证代码块的执行频率与逻辑帧的执行频率相同,能满足预设执行次数的要求。
一实施例中,通过判断平滑时间是否满足预设条件,执行下一逻辑帧以及开始代码块的下一次解释执行,还可以是在通过渲染线程触发对代码块进行解释执行时,判断当前累积的平滑时间的一半是否达到逻辑帧间隔与当前的累积平滑时间的差值;若是,则执行下一逻辑帧以及开始代码块的下一次解释执行。
本实施例中,累积的平滑时间与预设的逻辑帧间隔之间的差距,少于当前累计平滑时间的一半时,也可以触发下一次逻辑帧执行。具体地,累积的平滑时间为2/3逻辑帧间隔,累积的平滑时间与预设的逻辑帧间隔之间的差距为1/3逻辑帧间隔,此时,可以判断当前累积的平滑时间的一半达到逻辑帧与当前的累积平滑时间的差值。可以理解的是,累积的平滑时间在达到2/3逻辑帧间隔时,即可执行下一逻辑帧。由此,可以避免因控制到执行之间可能出现的延迟,使代码块的执行次数能够达到期望的次数,保持运行速度。
一实施例中,通过判断平滑时间是否满足预设条件,执行下一逻辑帧以及开始代码块的下一次解释执行,还可以包括:在代码块的一轮解释执行完成,所述逻辑帧未执行结束时,判断所述代码块解释执行的时间是否达到预设时间,其中,预设时间基于逻辑帧间隔进行设置;若是,暂停平滑时间的累积,停止对所述代码块继续解释执行;在重新触发代码块解释执行的时刻,继续累积平滑时间;在平滑时间累积达到逻辑帧间隔时,执行下一逻辑帧以及开始代码块的下一轮解释执行。
本实施例中,针对纯数据运算的代码块,由于不需要渲染,在完成一轮解释执行后,会根据解释执行时间来确定是否继续第二轮解释执行。具体地,代码块中可包括多个可执行的代码块,代码块在通过渲染线程进行触发后,会执行完所有可执行的代码块,即完成一轮解释执行,其中不同代码块可能所需解释执行时间不同,导致完成一轮时,逻辑帧还未完成执行,由此,在逻辑帧未完成时,可以对代码块继续下一轮的解释执行。代码块的解释执行会占用线程的使用权,使得其他工作渲染的执行需要延后,带来渲染延迟。因此,为保证其他工作渲染的正常运行,使渲染与数据同步,在,代码块解释执行完成时,判断所使用的时间到达合适时间时,即预设时间,停止代码块的进行下一轮解释执行及平滑时间的累积,将占有的线程用于其他工作做画面渲染。具体地,预设时间可以根据逻辑帧或单次代码块预设的解释执行时间进行设置,示例性地,在逻辑帧执行频率为1秒30次时,逻辑帧间隔为代码块执行一次所用时间为1/30秒,预设时间可以是逻辑帧间隔的60%、70%、80%等合理性时间,在多个代码块逐次解释执行过程中,因代码块解释执行所需时间不一,在每轮代码块解释执行完成,而逻辑帧未执行完成时,判断累积当前的平滑时间是否达到70%逻辑帧间隔,在未达到时,继续执行下一轮代码块的解释执行,在达到时,停止代码块进行下一轮解释执行,同时平滑时间停止累积,将线程的占有权交给渲染,在通过渲染线程重新触发代码块的解释执行时,继续累积平滑时间,在代码块解释执行完成一轮且逻辑帧达到逻辑帧间隔时,执行下一逻辑帧以及下一轮代码块的解释执行。
本实施例中,在渲染完成后,渲染线程重新触发代码块的解释执行,由于逻辑帧并未结束一轮的执行,此时逻辑帧会继续执行,同时累积平滑时间。在累积的平滑时间达到逻辑帧间隔时,执行下一逻辑帧。示例性地,预设时间为逻辑帧间隔的70%时,重新累积平滑时间从暂停时刻的时间开始继续,从70%累积,直至累积够100%逻辑帧间隔,此时说明逻辑帧的实际执行时间达到预设的一次执行时间,需要说明的是,判断逻辑帧是否达到预设时间需在代码块的一轮解释执行完成后。在平滑时间达到逻辑帧间隔时,进行下一轮的逻辑帧的执行,逻辑帧的执行从而使代码块进行下一轮解释执行。
一实施例中,基于逻辑帧的执行次数对代码块的解释执行进行记录。
本实施例中,电子设备可能因此负载过多造成卡顿,即使调整设备性能也无法使电子设备流畅运行,若发生卡顿时,原记录时间的方式为通过电子设备进行记录,发生卡顿时电子设备的时间不会进行记录,即电子设备发生的时间与实际时间发生偏差。示例性地,原定1秒后发出下一轮的信号,但因卡顿等原因,实际上花费了大于1秒的时间,而电子设备并未对多余的时间进行记录。因实际花费时间更长,在代码块在接收到控制代码块进行下一轮解释执行的信号之前,代码块会一直做运算与判断,导致代码块做运算与判断的时间不同,最终得到的结果也不同。
本实施例中,通过将记录代码块解释依据自然时间解释执行下一轮,替换为通过逻辑帧记录代码块的解释执行。示例性地,在逻辑帧执行频率为1秒30次时,若部分代码块解释执行过程中,遇到需等待的情况,如等待一秒,可以替换为等待逻辑帧执行30次,由此记录代码块的解释执行。由此,可以避免在不同设备上运行时,因不同设备的性能差异,可能造成的代码块的最终运算结果不同,由此,使得相同代码块得到的运行结果保持一致。
请参阅图3,基于同一发明构思,图3为本申请实施例提供的一种代码块解释执行装置的结构框图,其中代码块解释执行装置20包括获取模块21和处理模块22。
一实施例中,获取模块21,用于获取代码块的解释执行规则,其中,解释执行规则表征代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;处理模块22,基于逻辑帧的执行频率及解释执行规则对代码块进行解释执行。
一实施例中,处理模块22还用于使代码块与逻辑帧同步执行。
一实施例中,处理模块22还用于从逻辑帧执行的开始时刻开始起,开始所述代码块的解释执行,并累积平滑时间;在平滑时间满足预设条件时,执行下一逻辑帧以及开始所述代码块的下一次解释执行。
一实施例中,处理模块22还用于在通过渲染线程触发对代码块进行解释执行时,判断当前累积的平滑时间是否达到逻辑帧间隔,其中,逻辑帧间隔为前后两个逻辑帧执行开始时刻的间隔时长,且为固定值;若是,则执行下一逻辑帧以及开始所述代码块的下一次解释执行。
一实施例中,处理模块用于22在通过渲染线程触发对代码块进行解释执行时,判断当前累积的平滑时间的一半是否达到逻辑帧间隔与当前的累积平滑时间的差值;若是,则执行下一逻辑帧以及开始所述代码块的下一次解释执行。
一实施例中,处理模块22还用于在代码块的一轮解释执行完成,且逻辑帧未执行结束时,判断代码块解释执行的时间是否达到预设时间,其中,预设时间基于逻辑帧间隔进行设置;若是,暂停平滑时间的累积,并停止对代码块继续解释执行;在重新触发对代码块开始解释执行的时刻,继续累积所述平滑时间;在平滑时间累积达到逻辑帧间隔时,执行下一逻辑帧以及开始代码块的下一轮解释执行。
一实施例中,处理模块22还用于基于逻辑帧的执行次数对代码块的解释执行进行记录。
可以理解,本申请提供的代码块解释执行装置20与本申请提供的代码块解释执行方法对应,为使说明书简洁,相同或相似部分可以参照代码块解释执行方法部分的内容,在此不再赘述。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行代码块解释执行方法。
在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种代码块解释执行方法,其特征在于,包括:
获取代码块的解释执行规则,其中,所述解释执行规则表征所述代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;
基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行。
2.根据权利要求1所述的方法,其特征在于,所述解释执行规则表征所述代码块的解释执行与所述逻辑帧执行同步。
3.根据权利要求2所述的方法,其特征在于,所述基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行,包括:
从所述逻辑帧执行的开始时刻起,开始所述代码块的解释执行,并累积平滑时间;
在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
4.根据权利要求3所述的方法,其特征在于,所述在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,包括:
在通过渲染线程触发对所述代码块进行解释执行时,判断当前累积的所述平滑时间是否达到所述逻辑帧间隔,其中,所述逻辑帧间隔为前后两个逻辑帧执行开始时刻的间隔时长,且为固定值;
若是,则执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
5.根据权利要求3所述的方法,其特征在于,所述在所述平滑时间满足预设条件时,开始执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,还包括:
在通过渲染线程触发对所述代码块进行解释执行时,判断当前累积的所述平滑时间的一半是否达到所述逻辑帧间隔与所述当前的累积平滑时间的差值;
若是,则开始执行下一所述逻辑帧以及开始所述代码块的下一次解释执行。
6.根据权利要求3所述的方法,其特征在于,所述在所述平滑时间满足预设条件时,执行下一所述逻辑帧以及开始所述代码块的下一次解释执行,还包括:
在所述代码块的一轮解释执行完成,且所述逻辑帧未执行结束时,判断所述代码块解释执行的时间是否达到预设时间,其中,所述预设时间基于所述逻辑帧间隔进行设置;
若是,暂停所述平滑时间的累积,并停止对所述代码块继续解释执行;
在重新触发对所述代码块开始解释执行的时刻,继续累积所述平滑时间;
在所述平滑时间累积达到所述逻辑帧间隔时,执行下一所述逻辑帧以及开始所述代码块的下一轮解释执行。
7.根据权利要求1所述的方法,其特征在于,包括:基于所述逻辑帧的执行次数对所述代码块的解释执行进行记录。
8.一种代码块解释执行装置,其特征在于,包括:
获取模块,用于获取代码块的解释执行规则,其中,所述解释执行规则表征所述代码块的解释执行频率与逻辑帧的执行频率之间的对应关系;
处理模块,基于所述逻辑帧的执行频率及所述解释执行规则对所述代码块进行解释执行。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的代码块解释执行方法,或实现如权利要求8所述的代码块解释执行的功能。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的代码块解释执行方法,或实现如权利要求8所述的代码块解释执行的功能。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220014.0A CN113867734A (zh) | 2021-10-20 | 2021-10-20 | 代码块解释执行方法、装置、电子设备及存储介质 |
PCT/CN2022/115890 WO2023065835A1 (zh) | 2021-10-20 | 2022-08-30 | 代码块解释执行方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220014.0A CN113867734A (zh) | 2021-10-20 | 2021-10-20 | 代码块解释执行方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867734A true CN113867734A (zh) | 2021-12-31 |
Family
ID=78996715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111220014.0A Pending CN113867734A (zh) | 2021-10-20 | 2021-10-20 | 代码块解释执行方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113867734A (zh) |
WO (1) | WO2023065835A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065835A1 (zh) * | 2021-10-20 | 2023-04-27 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140075046A1 (en) * | 2012-09-13 | 2014-03-13 | Tencent Technology (Shenzhen) Company Limited | Information management method and device |
CN106325866A (zh) * | 2016-08-22 | 2017-01-11 | 网易(杭州)网络有限公司 | 跨引擎调用方法及装置 |
CN108022286A (zh) * | 2017-11-30 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置及存储介质 |
CN108289246A (zh) * | 2017-11-30 | 2018-07-17 | 腾讯科技(成都)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
CN108446538A (zh) * | 2018-02-12 | 2018-08-24 | 北京梆梆安全科技有限公司 | 基于状态、符号执行和单点逻辑的源代码加固方法及装置 |
CN108924632A (zh) * | 2018-07-13 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种交互式应用场景的处理方法和装置以及存储介质 |
CN109542443A (zh) * | 2017-07-27 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 应用程序的编译方法及装置、计算机终端、数据处理方法 |
CN112999652A (zh) * | 2021-04-28 | 2021-06-22 | 苏州仙峰网络科技股份有限公司 | 一种高效网络同步方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10249073B2 (en) * | 2015-07-21 | 2019-04-02 | Intel Corporation | Distributed frame buffer and API for scalable parallel rendering |
CN109621413A (zh) * | 2018-12-28 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 游戏画面的渲染显示方法、装置、终端及存储介质 |
CN111167116B (zh) * | 2019-09-29 | 2022-01-18 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN113867734A (zh) * | 2021-10-20 | 2021-12-31 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
-
2021
- 2021-10-20 CN CN202111220014.0A patent/CN113867734A/zh active Pending
-
2022
- 2022-08-30 WO PCT/CN2022/115890 patent/WO2023065835A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140075046A1 (en) * | 2012-09-13 | 2014-03-13 | Tencent Technology (Shenzhen) Company Limited | Information management method and device |
CN106325866A (zh) * | 2016-08-22 | 2017-01-11 | 网易(杭州)网络有限公司 | 跨引擎调用方法及装置 |
CN109542443A (zh) * | 2017-07-27 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 应用程序的编译方法及装置、计算机终端、数据处理方法 |
CN108022286A (zh) * | 2017-11-30 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置及存储介质 |
CN108289246A (zh) * | 2017-11-30 | 2018-07-17 | 腾讯科技(成都)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
CN108446538A (zh) * | 2018-02-12 | 2018-08-24 | 北京梆梆安全科技有限公司 | 基于状态、符号执行和单点逻辑的源代码加固方法及装置 |
CN108924632A (zh) * | 2018-07-13 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种交互式应用场景的处理方法和装置以及存储介质 |
CN112999652A (zh) * | 2021-04-28 | 2021-06-22 | 苏州仙峰网络科技股份有限公司 | 一种高效网络同步方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
归暮亭: "【游戏开发】基于帧同步的网络同步框架原理", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/tajianyi2338/article/details/114935137> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065835A1 (zh) * | 2021-10-20 | 2023-04-27 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023065835A1 (zh) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491346B (zh) | 一种应用的任务处理方法、装置及系统 | |
US9436513B2 (en) | Method of SOA performance tuning | |
CN105024933B (zh) | 请求包发送频率的控制方法及装置 | |
US10289450B2 (en) | Processing workloads in single-threaded environments | |
CN106598740B (zh) | 一种限制多线程程序占用cpu利用率的系统及限制方法 | |
CN112650575A (zh) | 资源调度方法、装置和云端服务系统 | |
CN113867734A (zh) | 代码块解释执行方法、装置、电子设备及存储介质 | |
CN109428786A (zh) | 网络性能监控方法和装置 | |
CN111124761B (zh) | 一种设备重启方法、装置、设备及介质 | |
US20230409206A1 (en) | Systems and methods for ephemeral storage snapshotting | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN110851297A (zh) | 一种接口抖动状态的处理方法、装置、系统及介质 | |
CN111083569B (zh) | 一种视频播放方法及装置 | |
CN111078418B (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN109491771B (zh) | 基于系统性能优化的任务处理方法及相关设备 | |
CN110795239A (zh) | 应用内存泄露的检测方法及装置 | |
CN107958414B (zh) | 一种清除cics系统长交易的方法及系统 | |
CN115454565A (zh) | 虚拟机的数据迁移方法、装置、电子设备及存储介质 | |
CN114461323B (zh) | 一种卡顿处理方法、装置、电子设备及存储介质 | |
US20230385159A1 (en) | Systems and methods for preventing data loss | |
CN111400113B (zh) | 一种计算机系统的整机自检方法、装置及系统 | |
CN108121728B (zh) | 从数据库抽取数据的方法和装置 | |
CN113419972B (zh) | 一种吞吐量控制方法、装置、设备及存储介质 | |
CN117290113B (zh) | 一种任务处理方法、装置、系统和存储介质 | |
CN113961361B (zh) | 一种缓存资源的控制方法和系统 |
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 |