CN114748873A - 界面渲染方法、装置、设备和存储介质 - Google Patents

界面渲染方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114748873A
CN114748873A CN202210665099.1A CN202210665099A CN114748873A CN 114748873 A CN114748873 A CN 114748873A CN 202210665099 A CN202210665099 A CN 202210665099A CN 114748873 A CN114748873 A CN 114748873A
Authority
CN
China
Prior art keywords
interface
preset
scroll
coroutine
rendering
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.)
Granted
Application number
CN202210665099.1A
Other languages
English (en)
Other versions
CN114748873B (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 Xintang Sichuang Educational Technology Co Ltd
Original Assignee
Beijing Xintang Sichuang Educational 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 Xintang Sichuang Educational Technology Co Ltd filed Critical Beijing Xintang Sichuang Educational Technology Co Ltd
Priority to CN202210665099.1A priority Critical patent/CN114748873B/zh
Publication of CN114748873A publication Critical patent/CN114748873A/zh
Application granted granted Critical
Publication of CN114748873B publication Critical patent/CN114748873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供一种界面渲染方法、装置、设备和存储介质,其中,方法包括:响应于当前列表界面上的滚动请求,确定与滚动请求对应的滚动条目集合,其中,滚动条目集合中包括至少一个滚动条目;调用预设协程,并向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目;响应于预设协程发送的渲染完成消息,在当前列表界面上显示目标子界面。由此,基于协程的调用来渲染有关滚动事件中的滚动条目,避免了待加载的滚动条目较多时,主线程的运行可能会卡顿的问题,提升了主线程的运行流畅度。

Description

界面渲染方法、装置、设备和存储介质
技术领域
本发明涉及前端显示技术领域,尤其涉及一种界面渲染方法、装置、设备和存储介质。
背景技术
在游戏等通用3D图形格式标准下的列表界面显示场景中,对一些数量较多的条目以列表形式进行滚动显示是一种常用的界面显示方式。
相关技术中,通过主线程监测在列表界面上的滚动操作,主线程响应于监测到的滚动操作在列表界面上渲染对应的滚动条目,比如,在游戏的“背包”场景中,若是主线程监测到用户在“背包”的列表界面上的滚动操作,则主线程根据该滚动操作在“背包”的列表界面上渲染对应的“道具”。
发明内容
根据本公开的一方面,提供了一种界面渲染方法,包括:响应于当前列表界面上的滚动请求,确定与所述滚动请求对应的滚动条目集合,其中,所述滚动条目集合中包括至少一个滚动条目;调用预设协程,并向所述预设协程发送针对所述滚动条目集合的渲染指令,以使得所述预设协程渲染生成目标子界面,其中,所述目标子界面中包含所述至少一个滚动条目;响应于所述预设协程发送的渲染完成消息,在所述当前列表界面上显示所述目标子界面。
根据本公开的另一方面,提供了一种界面渲染装置,包括:确定模块,用于响应于当前列表界面上的滚动请求,确定与所述滚动请求对应的滚动条目集合,其中,所述滚动条目集合中包括至少一个滚动条目;
调用渲染模块,用于调用预设协程,并向所述预设协程发送针对所述滚动条目集合的渲染指令,以使得所述预设协程渲染生成目标子界面,其中,所述目标子界面中包含所述至少一个滚动条目;显示模块,用于响应于所述预设协程发送的渲染完成消息,在所述当前列表界面上显示所述目标子界面。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述界面渲染方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述界面渲染方法。
本公开实施例中提供的一个或多个技术方案,响应于当前列表界面上的滚动请求,确定与滚动请求对应的滚动条目集合,其中,滚动条目集合中包括至少一个滚动条目,进而,基于预设协程的调用来向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目,响应于预设协程发送的渲染完成消息,在当前列表界面上显示目标子界面。由此,基于协程的调用来渲染有关滚动事件中的滚动条目,避免了待加载的滚动条目较多时,主线程的运行可能会卡顿的问题,提升了主线程的运行流畅度。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开示例性实施例的一种界面渲染方法的流程图;
图2示出了根据本公开示例性实施例的另一种界面渲染方法的流程图;
图3示出了根据本公开示例性实施例的一种界面渲染场景示意图;
图4示出了根据本公开示例性实施例的另一种界面渲染场景示意图;
图5示出了根据本公开示例性实施例的另一种界面渲染场景示意图;
图6示出了根据本公开示例性实施例的另一种界面渲染方法的流程图;
图7示出了根据本公开示例性实施例的界面渲染装置的示意性框图;
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
以下参照附图描述本公开的界面渲染方法,在该方法中,在检测到滚动条目的加载事件后,基于协程的调用来渲染有关滚动事件中的滚动条目,避免了待加载的滚动条目较多时,主线程的运行可能会卡顿的问题,提升了主线程的运行流畅度。
该方法的应用主体可以为主线程,该主线程可以为滚动显示场景中的处理主线程,其中,滚动显示场景包括但不限于3D图形格式标准(Universal 3D,U3D)技术下的场景等。
图1是根据本公开一个实施例的界面渲染方法的流程图,如图1所示,该方法包括:
步骤101,响应于当前列表界面上的滚动请求,确定与滚动请求对应的滚动条目集合,其中,滚动条目集合中包括至少一个滚动条目。
其中,滚动条目可以理解为列表界面中伴随滚动操作进行滚动显示的显示元素,比如,在游戏场景中,滚动条目可以是游戏角色的“背包”中的“道具”等,比如,在社交聊天场景中,滚动条目可以是“表情包”等。
在本实施例中,滚动请求可以是在监测到用户触发滚动条目获取到,也可以是检测到用户输入的语音指令获取到,比如,若是检测到用户的语音消息“往下滚动”则获取到滚动请求,若是获取到当前列表界面上的滚动请求,则确定与滚动请求对应的滚动条目集合,其中,该滚动条目集合中包含至少一个待加载的滚动条目。
需要说明的是,在不同的应用场景中,确定与滚动请求对应的滚动条目集合的方式不同,示例如下:
在本公开的一个实施例中,如图2所示,确定与滚动请求对应的滚动条目集合,包括:
步骤201,获取滚动请求对应的滚动距离。
若是滚动请求为用户触发滚动控件实现的,则上述滚动距离为滚动控件被拖动的距离,若是滚动请求为用户语音触发的,则该滚动距离可以为预设的单位滚动距离等。
在本实施例中,滚动距离的滚动方向与滚动条目的切换显示方向一致,比如,如图3所示,若是滚动条目在列表界面上,是上下切换显示的,则对应的滚动距离为高度方向。
步骤202,根据滚动距离确定待加载条目数量。
在本实施例中,滚动距离的大小与待加载条目数量的多少具有直接关系,因此,根据滚动距离确定待加载条目数量。
步骤203,确定与待加载条目数量对应的滚动条目集合。
在一些可能的实施例中,如图4所示,可以预先将所有的滚动条目设置为二位数组形式,其中,二维数组形式下每个滚动条目都有对应的行号和列表,每个滚动条目的坐标对应于为其在二维数组中的行和列。
在本实施例中,若是滚动距离为高度方向,则获取滚动高度以及预设列表界面的列表宽度,其中,二维数组中每一行的数量可以完整显示在列表宽度中,也可以理解,上述二维数组中每一行包含的滚动条目的数量是根据列表宽度计算得到的,比如,获取每个滚动条目的条目宽度,根据列表宽度和条目宽度的比值确定每一行包含的滚动条目的数量。
在一些可能的实施例中,计算在高度方向上的滚动距离和滚动条目的条目高度的比值,根据该比值确定待加载的滚动条目的行数,根据列表界面上当前显示到的最后一个滚动条目的坐标,以及新增的滚动行数,确定待加载的所有滚动条目。
在一些可能的实施例中,对所有的滚动条目进行排序,并对根据排序结果确定每个滚动条目的顺序信息,在确定当前列表界面上末位滚动条目的末位顺序信息后,根据末位顺序信息确定待加载条目的首位顺序信息,比如,确定位于末位顺序信息后的下一个滚动条目的瞬息信息为首位顺序信息,进而,根据首位顺序信息和待加载条目数量确定滚动条目集合,即从首位顺序信息对应的滚动条目开始确定待加载条目数量个滚动条目组成滚动条目集合。
步骤102,调用预设协程,并向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目。
应当理解的是,在本公开的实施例中,预先设置可与主线程并行运行的预设协程,其中,预设协程不是进程,也不是线程,它就是一个可以在某个地方挂起的特殊函数,并且可以重新在挂起处继续运行。
在本实施例中,为了避免渲染滚动条目时主线程的渲染卡顿,无法响应用户的其他操作请求,调用预设协程,并向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目。
其中,在预设协程渲染生成目标子界面时,考虑到滚动条目之间可能包含了大量重复的元素,比如,对于“道具”滚动条目来说,虽然呈现的显示内容不同,但是每个“道具”对应的显示框架是一样的,因此,在本公开的一个实施例中,为了提升滚动条目的加载效率,还可以确定待加载的滚动条目的预置体元素,其中,预置体元素可以理解为滚动条目之间重复率较高的显示元素,比如,解析所有待加载的滚动条目包含的显示元素,确定的该重复率大于预设值的显示元素为预置体元素。
在预设协程渲染生成目标子界面时,可以加载一次预置体元素,并根据重复率复制加载好的预置体元素,避免多次加载导致的时间浪费的问题。其中,也可以预置体元素设置为泛类型,并在将每个预置体元素上设置监听事件,以便于在监听自身是否位于滚动条目集合的头部或者尾部,便于后续滚动时基于该监听事件读取头部或者是尾部的滚动条目在滚动条目中的顺序。
步骤103,响应于预设协程发送的渲染完成消息,在当前列表界面上显示目标子界面。
在本实施例中,若是预设协程渲染目标子界面完毕,则如图5所示,向主线程发送渲染完成消息,主线程响应于预设协程发送的渲染完成消息,挂起预设协程以等待触发下一次的滚动请求,同时主线程可在当前列表界面上显示目标子界面。从而,主线程无需进行界面的渲染,避免主线程的渲染卡顿。
其中,在一些可能的实施例中,若是预设协程为了不影响用户的观看体验,采用遮罩层的形式渲染目标子界面,则在接收到渲染完成消息后,通过关闭遮罩层的方式来实现对目标子界面的显示。
在一些可能的实施例中,预设协程在渲染完毕目标子界面后,可以将处理好后的目标子界面直接发送给主线程,主线程确定目标子界面的显示位置后,在显示位置显示该目标子界面。
即在本公开的一个实施例中,主线程仍可监测用户针对当前列表界面的操作请求,该操作请求可以是针对当前列表界面上任意一个显示元素的操作请求,比如,是针对“道具a”的消耗请求等,若是监测到操作请求,则在当前界面上响应操作请求,比如,弹出“道具a”的消耗通知消息等。也就是说,在本实施例中,即使在预设协程渲染目标子界面时,主线程也不影响对用户操作请求的响应。
综上,本公开实施例的界面渲染方法,响应于当前列表界面上的滚动请求,确定与滚动请求对应的滚动条目集合,其中,滚动条目集合中包括至少一个滚动条目,进而,基于预设协程的调用来向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目,响应于预设协程发送的渲染完成消息,在当前列表界面上显示目标子界面。由此,基于协程的调用来渲染有关滚动事件中的滚动条目,避免了待加载的滚动条目较多时,主线程的运行可能会卡顿的问题,提升了主线程的运行流畅度。
基于上述实施例,在实际执行过程中,若是至少一个滚动条目的数据量相对较大,则可能会导致预设协程的加载时间较长,从而影响界面渲染效率。
因此,为了提升界面的渲染效率,在本公开的一个实施例中,还根据滚动条目的数据量的大小确定并行的协程的数量。
在本实施例中,如图6所示,向预设协程发送针对滚动条目集合的渲染指令,包括:
步骤601,确定滚动条目集合中包含的滚动条目的条目数量。
在本公开的实施例中,确定滚动条目集合中包含的滚动条目的条目数量,其中,滚动条目的条目数量的确定方式可以参照上述实施例,在此不在赘述。
步骤602,响应于确定条目数量不大于预设数量阈值,调用预设的第一协程并向第一协程发送针对所有滚动条目的渲染指令。
其中,预设数量阈值可以根据场景标定,通常预设数量阈值与每个滚动条目的数据量有关。
在本实施例中,判断条目数量是否大于预设数量阈值,若是不大于预设数量阈值,则表明单个协程的渲染时间可能不是很长,从而,调用预设的第一协程并向第一协程发送针对所有滚动条目的渲染指令。
步骤603,响应于确定条目数量大于预设数量阈值,在滚动条目集合中根据滚动条目顺序确定预设数量阈值的滚动条目子集合。
步骤604,调用预设的第一协程和第二协程,向第一协程发送针对滚动条目子集合的渲染指令,并向第二协程发送针对剩余滚动条目的渲染指令。
在本公开的另一个实施例中,若是条目数量大于预设数量阈值,则表明若是使用单个协程渲染滚动条目,则可能会导致单个协程的渲染时间较长,影响渲染效率,因此,在本公开的实施例中,在滚动条目的数量大于预设数量阈值时,在滚动条目集合中根据滚动条目顺序确定预设数量阈值的滚动条目子集合,其中,滚动条目顺序可以理解为滚动条目在列表界面上的加载顺序等,该加载顺序可以根据上述实施例中滚动条目在二维数组中的顺序确定等,调用预设的第一协程和第二协程,向第一协程发送针对滚动条目子集合的渲染指令,并向第二协程发送针对剩余滚动条目的渲染指令,由此,第一协程和第二协程并行渲染滚动条目,提升了滚动条目的渲染效率。
当然,在实际执行过程中,也可以将所有滚动条目按照滚动条目顺序拆分为2个均等份(当所有滚动条目数量不是偶数时,可以根据滚动条目顺序,在任意一份滚动条目中放入多出的一个滚动条目)等。
需要强调的是,本公开实施例的第二协程仅仅是作为协程并行的一种示例,在本公开的一个实施例中,还可以根据当前系统处理器的剩余网络资源,确定可以在第一协程之外开启的并行的其他协程的数量,根据该数量拉起多个协程,控制多个协程和第一协程共同并行渲染对应的滚动条目,其中,多个协程分配渲染的滚动条目可以参照上述第二协程,在此不再赘述。
综上,本公开实施例的界面渲染方法,在监测到滚动条目的渲染事件后,拉起协程执行渲染事件,避免通过主线程渲染导致的渲染卡顿,影响响应用户的操作指令等,提升了用户的交互体验。
为了实现上述实施例,本公开还提出了一种界面渲染装置。图7是根据本公开一个实施例的界面渲染装置的结构示意图,如图7所示,该界面渲染装置包括:确定模块710、调用渲染模块720、显示模块730,其中,
确定模块710,用于响应于当前列表界面上的滚动请求,确定与滚动请求对应的滚动条目集合,其中,滚动条目集合中包括至少一个滚动条目;
调用渲染模块720,用于调用预设协程,并向预设协程发送针对滚动条目集合的渲染指令,以使得预设协程渲染生成目标子界面,其中,目标子界面中包含至少一个滚动条目;
显示模块730,用于响应于预设协程发送的渲染完成消息,在当前列表界面上显示目标子界面。
一种可选的实施方式中,确定模块710,用于:
获取滚动请求对应的滚动距离;
根据滚动距离确定待加载条目数量;
确定与待加载条目数量对应的滚动条目集合。
一种可选的实施方式中,确定模块710,用于:
确定当前列表界面上末位滚动条目的末位顺序信息;
根据末位顺序信息确定待加载条目的首位顺序信息;
根据首位顺序信息和待加载条目数量确定滚动条目集合。
一种可选的实施方式中,调用渲染模块720,用于:
确定滚动条目集合中包含的滚动条目的条目数量;
响应于确定条目数量不大于预设数量阈值,调用预设的第一协程并向第一协程发送针对所有滚动条目的渲染指令;
一种可选的实施方式中,调用渲染模块720,用于:响应于确定条目数量大于预设数量阈值,在滚动条目集合中根据滚动条目顺序确定预设数量阈值的滚动条目子集合;
调用预设的第一协程和第二协程,向第一协程发送针对滚动条目子集合的渲染指令,并向第二协程发送针对剩余滚动条目的渲染指令。
一种可选的实施方式中,还包括:
监测模块,用于监测用户针对当前列表界面的操作请求;
响应模块,用于在监测到操作请求的情况下,在当前列表界面上响应操作请求。
一种可选的实施方式中,显示模块730,用于:
确定预设协程渲染目标子界面的遮罩层;
关闭遮罩层以实现对目标子界面的显示。
本公开实施例所提供的界面渲染装置,可执行本公开实施例所提供的任意可应用于电脑、智能手机、服务器等电子设备的界面渲染方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元804可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理。例如,在一些实施例中,方法步骤101-步骤103可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。在一些实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法步骤101-步骤103。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

Claims (10)

1.一种界面渲染方法,包括:
响应于当前列表界面上的滚动请求,确定与所述滚动请求对应的滚动条目集合,其中,所述滚动条目集合中包括至少一个滚动条目;
调用预设协程,并向所述预设协程发送针对所述滚动条目集合的渲染指令,以使得所述预设协程渲染生成目标子界面,其中,所述目标子界面中包含所述至少一个滚动条目;
响应于所述预设协程发送的渲染完成消息,在所述当前列表界面上显示所述目标子界面。
2.如权利要求1所述的界面渲染方法,其中,所述确定与所述滚动请求对应的滚动条目集合,包括:
获取所述滚动请求对应的滚动距离;
根据所述滚动距离确定待加载条目数量;
确定与所述待加载条目数量对应的所述滚动条目集合。
3.如权利要求2所述的界面渲染方法,其中,所述确定与所述待加载条目数量对应的所述滚动条目集合,包括:
确定所述当前列表界面上末位滚动条目的末位顺序信息;
根据所述末位顺序信息确定待加载条目的首位顺序信息;
根据所述首位顺序信息和所述待加载条目数量确定所述滚动条目集合。
4.如权利要求1所述的界面渲染方法,其中,所述调用预设协程,并向所述预设协程发送针对所述滚动条目集合的渲染指令,包括:
确定所述滚动条目集合中包含的滚动条目的条目数量;
响应于确定所述条目数量不大于预设数量阈值,调用预设的第一协程并向所述第一协程发送针对所有滚动条目的渲染指令。
5.如权利要求4所述的界面渲染方法,还包括:
响应于确定所述条目数量大于所述预设数量阈值,在所述滚动条目集合中根据滚动条目顺序确定所述预设数量阈值的滚动条目子集合;
调用预设的第一协程和第二协程,向所述第一协程发送针对所述滚动条目子集合的渲染指令,并向所述第二协程发送针对剩余滚动条目的渲染指令。
6.如权利要求1所述的界面渲染方法,其中,所述方法还包括:
监测用户针对所述当前列表界面的操作请求;
在监测到所述操作请求的情况下,在所述当前列表界面上响应所述操作请求。
7.如权利要求1-6任一所述的界面渲染方法,其中,所述在所述当前列表界面上显示所述目标子界面,包括:
确定所述预设协程渲染所述目标子界面的遮罩层;
关闭所述遮罩层以实现对所述目标子界面的显示。
8.一种界面渲染装置,包括:
确定模块,用于响应于当前列表界面上的滚动请求,确定与所述滚动请求对应的滚动条目集合,其中,所述滚动条目集合中包括至少一个滚动条目;
调用渲染模块,用于调用预设协程,并向所述预设协程发送针对所述滚动条目集合的渲染指令,以使得所述预设协程渲染生成目标子界面,其中,所述目标子界面中包含所述至少一个滚动条目;
显示模块,用于响应于所述预设协程发送的渲染完成消息,在所述当前列表界面上显示所述目标子界面。
9.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-7中任一项所述的界面渲染方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的界面渲染方法。
CN202210665099.1A 2022-06-14 2022-06-14 界面渲染方法、装置、设备和存储介质 Active CN114748873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210665099.1A CN114748873B (zh) 2022-06-14 2022-06-14 界面渲染方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210665099.1A CN114748873B (zh) 2022-06-14 2022-06-14 界面渲染方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114748873A true CN114748873A (zh) 2022-07-15
CN114748873B CN114748873B (zh) 2022-09-20

Family

ID=82336883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210665099.1A Active CN114748873B (zh) 2022-06-14 2022-06-14 界面渲染方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114748873B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880740A (zh) * 2023-09-06 2023-10-13 深圳硬之城信息技术有限公司 表格滚动的渲染方法、设备及存储介质
CN117806745A (zh) * 2022-10-19 2024-04-02 华为技术有限公司 界面生成方法及电子设备
CN117806745B (zh) * 2022-10-19 2024-10-29 华为技术有限公司 界面生成方法及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110279453A1 (en) * 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for rendering a location-based user interface
CN103870558A (zh) * 2012-03-29 2014-06-18 北京奇虎科技有限公司 页面渲染方法和遮罩层创建方法
US20180101295A1 (en) * 2016-10-11 2018-04-12 Salesforce.Com, Inc. System for displaying elements of a scrollable list
US20190079781A1 (en) * 2016-01-21 2019-03-14 Alibaba Group Holding Limited System, method, and apparatus for rendering interface elements
CN109614194A (zh) * 2018-12-11 2019-04-12 北京微播视界科技有限公司 列表界面的显示方法、装置、设备及存储介质
CN110851058A (zh) * 2019-11-11 2020-02-28 支付宝(杭州)信息技术有限公司 一种页面虚拟滚动方法、装置及设备
CN113360807A (zh) * 2021-06-24 2021-09-07 平安普惠企业管理有限公司 混合模式移动应用的页面显示方法、装置及相关设备
CN113467869A (zh) * 2021-06-22 2021-10-01 中科曙光国际信息产业有限公司 数据渲染方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110279453A1 (en) * 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for rendering a location-based user interface
CN103870558A (zh) * 2012-03-29 2014-06-18 北京奇虎科技有限公司 页面渲染方法和遮罩层创建方法
US20190079781A1 (en) * 2016-01-21 2019-03-14 Alibaba Group Holding Limited System, method, and apparatus for rendering interface elements
US20180101295A1 (en) * 2016-10-11 2018-04-12 Salesforce.Com, Inc. System for displaying elements of a scrollable list
CN109614194A (zh) * 2018-12-11 2019-04-12 北京微播视界科技有限公司 列表界面的显示方法、装置、设备及存储介质
CN110851058A (zh) * 2019-11-11 2020-02-28 支付宝(杭州)信息技术有限公司 一种页面虚拟滚动方法、装置及设备
CN113467869A (zh) * 2021-06-22 2021-10-01 中科曙光国际信息产业有限公司 数据渲染方法、装置、计算机设备和存储介质
CN113360807A (zh) * 2021-06-24 2021-09-07 平安普惠企业管理有限公司 混合模式移动应用的页面显示方法、装置及相关设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117806745A (zh) * 2022-10-19 2024-04-02 华为技术有限公司 界面生成方法及电子设备
WO2024083014A1 (zh) * 2022-10-19 2024-04-25 华为技术有限公司 界面生成方法及电子设备
CN117806745B (zh) * 2022-10-19 2024-10-29 华为技术有限公司 界面生成方法及电子设备
CN116880740A (zh) * 2023-09-06 2023-10-13 深圳硬之城信息技术有限公司 表格滚动的渲染方法、设备及存储介质
CN116880740B (zh) * 2023-09-06 2024-01-02 深圳硬之城信息技术有限公司 表格滚动的渲染方法、设备及存储介质

Also Published As

Publication number Publication date
CN114748873B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
EP3754490B1 (en) User interface rendering method and apparatus, and terminal
CN114748873B (zh) 界面渲染方法、装置、设备和存储介质
EP2857931A1 (en) Application program interface display method, device, terminal and readable storage medium
US11890540B2 (en) User interface processing method and device
CN109032732B (zh) 通知显示方法、装置、存储介质及电子设备
CN111124668A (zh) 内存释放方法、装置、存储介质及终端
CN114116092A (zh) 云桌面系统处理方法、云桌面系统控制方法以及相关设备
US11249771B2 (en) Terminal input invocation
US9800473B2 (en) Network based virtual collaborative problem solving space
CN112966201B (zh) 对象处理方法、装置、电子设备以及存储介质
CN113419865B (zh) 云资源处理方法、相关装置及计算机程序产品
CN114327087A (zh) 输入事件处理方法、装置、电子设备和存储介质
US9690748B1 (en) Delivering notifications to background applications
CN107621976B (zh) 一种保持应用程序实例处于激活状态的方法及云服务器
CN114490126A (zh) 页面处理方法、装置、电子设备和存储介质
CN110489318B (zh) systrace信息的抓取方法、装置、存储介质及终端
CN109831673B (zh) 一种直播间数据处理方法、装置、设备及存储介质
EP4203487A1 (en) Method and apparatus for processing multimedia resource
CN115982489A (zh) 页面渲染方法、装置、设备和计算机可读存储介质
CN113655894B (zh) 一种文本输入方法、装置、电子设备及存储介质
CN113452948B (zh) 会议终端的控制方法、装置、设备及存储介质
CN115242972A (zh) 一种应用调用摄像头的方法和装置、电子设备及存储介质
CN110704247B (zh) 应用内存异常的处理方法、装置、电子设备及装置
CN112882711A (zh) 渲染方法、装置、设备以及存储介质
US20190199645A1 (en) Throttling output with ongoing input

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
GR01 Patent grant
GR01 Patent grant