CN116089756A - 一种页面组件渲染方法、装置、设备及介质 - Google Patents
一种页面组件渲染方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116089756A CN116089756A CN202310168948.7A CN202310168948A CN116089756A CN 116089756 A CN116089756 A CN 116089756A CN 202310168948 A CN202310168948 A CN 202310168948A CN 116089756 A CN116089756 A CN 116089756A
- Authority
- CN
- China
- Prior art keywords
- rendered
- component
- rendering
- target
- page
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种页面组件渲染方法、装置、设备及介质,当需要加载目标页面时,获取该目标页面中至少一个待渲染组件对应的渲染数据,并将该至少一个待渲染组件对应的渲染请求添加至调度队列。其中,一个待渲染组件对应一个渲染请求,该渲染请求中包括该一个待渲染组件对应的渲染数据。根据至少一个待渲染组件在目标页面中的位置从调度队列中读物目标待渲染组件的渲染请求,进而根据该渲染请求中目标待渲染组件对应的渲染数据对目标待渲染组件进行渲染。其中,目标待渲染组件在目标页面中的位置符合预设条件。即,本申请在对页面中的组件进行渲染时,将根据组件在页面中的位置协调各个组件之间的渲染顺序,避免同时渲染过多组件造成卡顿问题。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种页面组件渲染方法、装置、设备及介质。
背景技术
在浏览器中渲染的页面时,页面中每一个独立的元素称为一个组件。当页面中同时渲染过多的组件时,组件之间相互竞争有限资源。当计算资源及存储资源不足时,容易造成设备或浏览器的卡顿。
发明内容
有鉴于此,本公开提供一种页面渲染组件方法、装置、设备及介质,以优化页面中组件渲染,避免页面卡顿。
为实现上述目的,本公开提供的技术方案如下:
在本公开第一方面,提供了一种页面组件渲染方法,该方法包括:
获取目标页面中至少一个待渲染组件对应的渲染数据,并将所述至少一个待渲染组件对应的渲染请求添加至调度队列,所述渲染请求包括所述渲染数据;
根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件在所述目标页面中的位置符合预设条件;
根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染。
在本公开第二方面,提供了一种页面组件渲染装置,所述装置包括:
第一获取单元,用于获取目标页面中至少一个待渲染组件对应的渲染数据,并将所述至少一个待渲染组件对应的渲染请求添加至调度队列,所述渲染请求包括所述渲染数据;
第二获取单元,用于根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件在所述目标页面中的位置符合预设条件;
渲染单元,用于根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染。
在本公开第三方面,提供了一种电子设备,所述设备包括:处理器和存储器;
所述存储器,用于存储指令或计算机程序;
所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行第一方面所述的方法。
在本公开第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行第一方面所述的方法。
在本公开第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面所述的方法。
由此可见,本公开具有如下有益效果:
本公开中,当需要加载目标页面时,获取该目标页面中至少一个待渲染组件对应的渲染数据,并将该至少一个待渲染组件对应的渲染请求添加至调度队列。其中,一个待渲染组件对应一个渲染请求,该渲染请求中包括该一个待渲染组件对应的渲染数据。根据至少一个待渲染组件在目标页面中的位置从调度队列中读物目标待渲染组件的渲染请求,进而根据该渲染请求中目标待渲染组件对应的渲染数据对目标待渲染组件进行渲染。其中,目标待渲染组件在目标页面中的位置符合预设条件。即,本申请在对页面中的组件进行渲染时,将根据组件在页面中的位置协调各个组件之间的渲染顺序,避免同时渲染过多组件造成卡顿问题。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种页面组件渲染方法流程图;
图2为本公开实施例提供的一种页面组件渲染框架示意图;
图3为本公开实施例提供的一种页面组件渲染装置结构图;
图4为本公开实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
为解决页面同时渲染较多的组件时,组件之间相互竞争资源,当资源不足时,导致设备或浏览器卡顿的问题。本申请提供了一种页面组件渲染方法,通过协调各个组件之间的渲染顺序,均衡对有限资源的占用,从而提升组件的渲染效率,避免卡顿现象的出现。具体地,当获取到目标页面中至少一个待渲染组件对应的渲染数据后,将该待渲染组件对应的渲染请求顺序加入调度队列。当开始渲染组件时,将根据该至少一个待渲染组件在目标页面中的位置从调度队列中读取目标待渲染组件的渲染请求,进而对该目标待渲染组件进行渲染。其中,目标待渲染组件的位置符合预设条件。也就是,本申请将根据待渲染组件在目标页面中的位置对各个待渲染组件的渲染顺序进行协调,优先渲染符合预设条件的待渲染组件,避免同时渲染过多的组件因竞争优先资源而出现卡顿问题。
为便于理解本公开所提供的技术方案,下面将先对本公开中的表情迁移模型训练过程进行说明。
参见图1,该图为本公开实施例提供的一种页面组件渲染方法流程图,该方法可以由客户端执行,该客户端可以部署在电子设备中。其中,电子设备可以包括移动电话、平板电脑、笔记本电脑、台式电脑、车载终端、可穿戴电子设备、一体机、智能家居设备等具有通信功能的设备,也可以是虚拟机或者模拟器模拟的设备。如图1所示,该方法可以包括如下步骤:
S101:获取目标页面中至少一个待渲染组件对应的渲染数据,并将该至少一个待渲染组件对应的渲染请求添加至调度队列。
本实施例中,当需要对目标页面进行加载时,确定该目标页面中所有需要进行渲染的组件,并获取需要进行渲染的组件各自对应的渲染数据。在获取到各待渲染组件对应渲染数据后,将各待渲染组件对应的渲染请求添加至调度队列。具体地,可以按照获取渲染数据的顺序将渲染请求添加至调度队列中。
在一些实施方式中,用户可以一次加载多个目标页面,为保证各个目标页面的加载,在获取目标页面中至少一个待渲染组件对应的渲染数据之前,为给目标页面分配调度队列。即,每个加载的页面对应一个调度队列,避免多个页面对应一个调度队列时,不同页面之间的加载相互影响。具体地,响应于触发加载目标页面,为该目标页面创建调度器实例,该调度器实例可以对应一个调度队列,将该目标页面所包括的至少一个待渲染组件对应的渲染请求添加至该调度队列中。
S102:根据至少一个待渲染组件在目标页面中的位置从调度队列中读取目标待渲染组件的渲染请求。
在开始渲染时,将根据至少一个待渲染组件在目标页面中的位置从调度队列中读取目标待渲染组件的渲染请求。其中,目标待渲染组件在目标页面中的位置符合预设条件。也就是,在渲染组件时,将根据各待渲染组件在目标页面中的位置以及预设条件协调各个待渲染组件之间的渲染顺序,避免同时渲染多个组件因资源有限,而导致卡顿的问题。当至少一个待渲染组件中存在符合预设条件的目标待渲染组件时,将对该目标待渲染组件进行优先渲染。
在一些实施方式中,可以通过预先配置调度策略的方式来协调各个组件之间的优先级和渲染顺序。具体地,当调度队列中存在多个待渲染组件排队渲染时,通过该调度策略以及待渲染组件在目标页面中的位置从多个待渲染组件中确定出可以优先渲染的目标待渲染组件。具体地,根据调度策略以及至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求。其中,目标待渲染组件为根据调度策略所确定的优先进行渲染的待渲染组件。
其中,目标页面可以划分为视口内和视口外,视口内是指用户可以看到的部分,视口外是指用户看不到的部分。由于受显示屏幕尺寸的限制,一个页面在显示屏幕中可能无法完整显示,将在显示屏幕上显示的部分称为视口内,将在显示屏幕外为显示的部分称为视口外。基于此,页面中的组件可以划分为视口内组件和视口外组件,用户可以通过在页面触发滚动、翻页或切换标签的方式浏览到视口外组件。
为使得用户在浏览页面时,能及时浏览到视口内组件,将优先渲染视口内组件,而对于视口外组件则可以按进入调度队列的顺序依次进行渲染。具体地,调度策略可以包括视口内优先和先进先出两种,视口内优先的优先级高于先进先出的优先级。具体地,若调度队列中存在位于目标页面的视口内的待渲染组件的渲染请求,则目标待渲染组件为至少一个待渲染组件中视口内组件;若调度队列中不存在位于目标页面的视口内的待渲染组件的渲染请求,该目标待渲染组件为至少一个待渲染组件中优先进入调度队列的非视口内组件。即,调度器会优先使用视口优先策略,即优先渲染用户可以看到的页面组件。当视口内的页面组件已经渲染完成,即队列中不再有视口内组件时,此时采用先进先出策略,对于更早进入队列的组件进行优先渲染。
在确定目标待渲染组件之前,可以先判断是否存在空闲资源且调度队列是否不为空时,如果调度器有空闲资源且调度队列不为空时,调度器便会根据调度策略从调度队列中取出目标待渲染组件。如果调度器没有空闲资源,则暂停执行,等待下一任务唤醒重新拥有空闲资源后继续处理调度队列中的渲染请求。
在具体实现时,所确定出的目标待渲染组件可能包括多个待渲染组件,为避免在对该多个待渲染组件渲染时对资源的过多占用,可以预先设置并行渲染的组件数量。若所确定的目标待渲染组件包括第一数量待渲染组件,且第一数量大于预设数量阈值,按照进入调度队列的顺序从第一数量待渲染组件中确定预设数量阈值个待渲染组件。其中,预设数量阈值可以根基实际应用情况确定。例如,调度队列中当前存在5个视口内组件,而预设数量阈值为3个,则按照5个视口内组件进入调度队列的顺序,即按照先进先出的顺序从5个视口组件中确定3个视口内组件。
S103:根据渲染请求中目标待渲染组件对应的渲染数据对目标待渲染组件进行渲染。
在确定出目标待渲染组件后,将根据该目标待渲染组件的渲染请求对目标待渲染组件进行渲染。
在完成对目标待渲染组件的渲染后,将目标待渲染组件的渲染请求从调度队列中移除,并重新执行根据至少一个待渲染组件在目标页面中的位置从调度队列中读取目标待渲染组件的渲染请求,直至目标页面中的至少一个待渲染组件完成渲染。具体地,当目标待渲染组件渲染完成时,调度器可以接收到组件渲染完成的通知,此时释放占用的计算资源。同时,调度器则在接到通知时将已经渲染完成的组件从调度队列中移除,并且根据调度策略在调度队列中选择下一个将要渲染的组件。
在一些实施方式中,若调度队列为空,进入休眠状态,并按照预设频率监测所述调度队列。当调度器在渲染时,检测到调度队列为空,则暂停运行,并保持一定频率监听调度队列是否有新的渲染请求加入。
可见,当需要加载目标页面时,获取该目标页面中至少一个待渲染组件对应的渲染数据,并将该至少一个待渲染组件对应的渲染请求添加至调度队列。其中,一个待渲染组件对应一个渲染请求,该渲染请求中包括该一个待渲染组件对应的渲染数据。根据至少一个待渲染组件在目标页面中的位置从调度队列中读物目标待渲染组件的渲染请求,进而根据该渲染请求中目标待渲染组件对应的渲染数据对目标待渲染组件进行渲染。其中,目标待渲染组件在目标页面中的位置符合预设条件。即,本申请在对页面中的组件进行渲染时,将根据组件在页面中的位置协调各个组件之间的渲染顺序,避免同时渲染过多组件造成卡顿问题。
为便于理解本申请中组件渲染过程,参见图2所示的渲染框架图。
1.页面进行加载,创建并初始化调度器实例;
2.获取当前页面中所有需要加载的组件,此时组件状态为初始化(Initialize;
3.获取各个组件对应的渲染数据,此时对应的状态为查询状态(Quering);
4.获取到了组件的渲染数据后,向调度器的渲染队列发送渲染请求,此时进入待渲染状态(Pending);
5.当调度器有空闲资源且调度队列不为空时,调度器按照调度策略从调度队列中取出一个待渲染组件的渲染数据进行渲染,此时组件进入渲染状态(Drawing);其中,判断是否有空闲资源以及调度队列中是否有待渲染组件的顺序不受图2限制,也可以先判断调度队列中是否有待渲染组件,如果有待渲染组件,再去判断是否有空闲资源;
6.组件渲染完成后,释放占用的计算资源,并且修改组件状态为渲染完成(Rendered)。
基于上述方法实施例,本申请实施例提供的一种页面组件渲染装置以及电子设备,下面将结合附图进行说明。
参见图3,该图为本申请实施例提供的一种页面组件渲染装置结构图,如图3所示,该装置300可以包括:第一获取单元301、第二获取单元302和渲染单元303。
其中,第一获取单元301,用于获取目标页面中至少一个待渲染组件对应的渲染数据,并将所述至少一个待渲染组件对应的渲染请求添加至调度队列,所述渲染请求包括所述渲染数据;
第二获取单元302,用于根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件在所述目标页面中的位置符合预设条件;
渲染单元303,用于根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染。
在一些实施方式中,所述第二获取单元302,具体用于根据调度策略以及所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件为所述调度策略所指示的优先进行渲染的待渲染组件。
在一些实施方式中,所述调度策略包括视口内优先和先进先出,所述视口内优先的优先级高于所述先进先出的优先级;若所述调度队列中存在位于所述目标页面的视口内的待渲染组件的渲染请求,所述目标待渲染组件为所述至少一个待渲染组件中视口内组件;若所述调度队列中不存在位于所述目标页面的视口内的待渲染组件的渲染请求,所述目标待渲染组件为所述至少一个待渲染组件中优先进入所述调度队列的非视口内组件。
在一些实施方式中,所述装置包括:确定单元;
所述确定单元,用于若所述目标待渲染组件包括第一数量待渲染组件,在根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染之前,若所述第一数量大于预设数量阈值,按照进入所述调度队列的顺序从所述第一数量待渲染组件中确定预设数量阈值个待渲染组件;
所述渲染单元303,具体用于根据所述预设数量阈值个待渲染组件各自对应的渲染请求并行对所述预设数量阈值个待渲染组件进行渲染。
在一些实施方式中,所述装置还包括:处理单元;
所述处理单元,用于将所述目标待渲染组件的渲染请求从所述调度队列中移除,并重新执行所述第二获取单元,直至所述目标页面中的所述至少一个待渲染组件完成渲染。
在一些实施方式中,所述装置还包括:处理单元;
所述处理单元,用于若所述调度队列为空,进入休眠状态,并按照预设频率监测所述调度队列。
在一些实施方式中,所述装置还包括:分配单元;
所述分配单元,用于在获取目标页面中至少一个待渲染组件对应的渲染数据之前,为所述目标页面分配调度队列。
需要说明的是,本实施例中各个单元的具体实现可以参见上述方法实施例中的相关描述。本公开实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,处理单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参见图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施例提供的电子设备与上述实施例提供的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备可以执行上述方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种页面组件渲染方法,其特征在于,所述方法包括:
获取目标页面中至少一个待渲染组件对应的渲染数据,并将所述至少一个待渲染组件对应的渲染请求添加至调度队列,所述渲染请求包括所述渲染数据;
根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件在所述目标页面中的位置符合预设条件;
根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,包括:
根据调度策略以及所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件为所述调度策略所指示的优先进行渲染的待渲染组件。
3.根据权利要求2所述的方法,其特征在于,所述调度策略包括视口内优先和先进先出,所述视口内优先的优先级高于所述先进先出的优先级;
若所述调度队列中存在位于所述目标页面的视口内的待渲染组件的渲染请求,所述目标待渲染组件为所述至少一个待渲染组件中视口内组件;
若所述调度队列中不存在位于所述目标页面的视口内的待渲染组件的渲染请求,所述目标待渲染组件为所述至少一个待渲染组件中优先进入所述调度队列的非视口内组件。
4.根据权利要求1-3任一项所述的方法,其特征在于,若所述目标待渲染组件包括第一数量待渲染组件,在根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染之前,所述方法包括:
若所述第一数量大于预设数量阈值,按照进入所述调度队列的顺序从所述第一数量待渲染组件中确定预设数量阈值个待渲染组件;
所述根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染,包括:
根据所述预设数量阈值个待渲染组件各自对应的渲染请求并行对所述预设数量阈值个待渲染组件进行渲染。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标待渲染组件的渲染请求从所述调度队列中移除,并重新执行根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,直至所述目标页面中的所述至少一个待渲染组件完成渲染。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述调度队列为空,进入休眠状态,并按照预设频率监测所述调度队列。
7.根据权利要求1所述的方法,其特征在于,在获取目标页面中至少一个待渲染组件对应的渲染数据之前,所述方法还包括:
为所述目标页面分配调度队列。
8.一种页面组件渲染装置,其特征在于,所述装置包括:
第一获取单元,用于获取目标页面中至少一个待渲染组件对应的渲染数据,并将所述至少一个待渲染组件对应的渲染请求添加至调度队列,所述渲染请求包括所述渲染数据;
第二获取单元,用于根据所述至少一个待渲染组件在所述目标页面中的位置从所述调度队列中读取目标待渲染组件的渲染请求,所述目标待渲染组件在所述目标页面中的位置符合预设条件;
渲染单元,用于根据所述渲染请求中所述目标待渲染组件对应的渲染数据对所述目标待渲染组件进行渲染。
9.一种电子设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器,用于存储指令或计算机程序;
所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310168948.7A CN116089756A (zh) | 2023-02-16 | 2023-02-16 | 一种页面组件渲染方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310168948.7A CN116089756A (zh) | 2023-02-16 | 2023-02-16 | 一种页面组件渲染方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089756A true CN116089756A (zh) | 2023-05-09 |
Family
ID=86212100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310168948.7A Pending CN116089756A (zh) | 2023-02-16 | 2023-02-16 | 一种页面组件渲染方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089756A (zh) |
-
2023
- 2023-02-16 CN CN202310168948.7A patent/CN116089756A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN107832143B (zh) | 一种物理机资源的处理方法和装置 | |
CN111240834B (zh) | 任务执行方法、装置、电子设备和存储介质 | |
CN111221638B (zh) | 并发任务的调度处理方法、装置、设备和介质 | |
CN112379982B (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN113722056A (zh) | 任务调度方法、装置、电子设备和计算机可读介质 | |
CN111580974B (zh) | Gpu实例分配方法、装置、电子设备和计算机可读介质 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN113760991A (zh) | 数据操作方法、装置、电子设备和计算机可读介质 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN110489219B (zh) | 一种调度功能对象的方法、装置、介质和电子设备 | |
CN111694670B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN116821187A (zh) | 基于数据库的数据处理方法、装置、介质和电子设备 | |
CN116302271A (zh) | 一种页面展示方法、装置及电子设备 | |
CN116089756A (zh) | 一种页面组件渲染方法、装置、设备及介质 | |
CN114138427A (zh) | Slo保障方法、装置、节点及存储介质 | |
CN113660699A (zh) | 一种智能集群联网方法、装置及电子设备 | |
CN111694672B (zh) | 资源分配方法、任务提交方法、装置、电子设备和介质 | |
CN111538721A (zh) | 账号处理方法、装置、电子设备及计算机可读存储介质 | |
CN112148448B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN116028167A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN111626787B (zh) | 资源发放方法、装置、介质和设备 | |
CN118277063A (zh) | 任务调度方法、***、电子设备及存储介质 | |
CN115422530A (zh) | 用于隔离租户的方法、装置和电子设备 | |
CN115439167A (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 |