CN111131910A - 弹幕实现方法、装置、电子设备和可读存储介质 - Google Patents
弹幕实现方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111131910A CN111131910A CN202010000484.5A CN202010000484A CN111131910A CN 111131910 A CN111131910 A CN 111131910A CN 202010000484 A CN202010000484 A CN 202010000484A CN 111131910 A CN111131910 A CN 111131910A
- Authority
- CN
- China
- Prior art keywords
- bullet screen
- information
- texture
- texture information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供的弹幕实现方法、装置、电子设备和可读存储介质,通过创建并行运行的第一线程和第二线程,利用第一线程进行弹幕信息的处理及计算操作,得到弹幕信息的纹理信息,并存入纹理数组。利用第二线程从纹理数组中提取纹理信息,并实现纹理信息的渲染显示。并且,进一步,在第二线程中创建多个子线程,各个子线程可分别从纹理数组中提取纹理信息进行渲染显示。如此,通过并行的第一线程和第二线程,在存在多个待处理的弹幕信息时,可同步进行各个弹幕信息的计算处理以及渲染显示的步骤,加速整体处理速度,并且利用多个子线程用于渲染显示,加快了处理复杂的渲染显示过程,避免了在大量弹幕情况下,弹幕显示不流畅的问题。
Description
技术领域
本申请涉及直播技术领域,具体而言,涉及一种弹幕实现方法、装置、电子设备和可读存储介质。
背景技术
随着直播行业的快速发展,越来越多的用户喜爱观看直播。人们可以通过互联网随时随地在PC端、手机端等多种客户端观看视频直播。目前绝大多数直播网站都采用了弹幕,弹幕能极大地加强观众与主播、观众与观众之间的互动。
随着观看直播的用户的增加,在直播过程中产生的弹幕的数量也急剧增多,弹幕的处理及渲染显示的处理工作量也随之增加。对于用户端这类处理性能低下的设备而言,大量弹幕的处理将导致用户端的性能消耗,进而导致弹幕显示出现卡顿,出现弹幕运行不流畅等问题。
发明内容
本申请的目的包括,例如,提供了一种弹幕实现方法、装置、电子设备和可读存储介质,其能够提高弹幕信息的渲染显示速度、改善显示不流畅的问题。
本申请的实施例可以这样实现:
第一方面,实施例提供一种弹幕实现方法,应用于用户终端,所述方法包括:
获取待处理的多个弹幕信息;
针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组;
利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。
在可选的实施方式中,所述利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组的步骤,包括:
利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小;
对所述弹幕信息进行排版设置,确定所述弹幕信息在上屏时的坐标值;
根据所述弹幕信息所需占用的区域大小以及所述坐标值生成所述弹幕信息对应的弹幕位图;
对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组。
在可选的实施方式中,所述利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小的步骤,包括:
利用第一线程,根据所述弹幕信息所包含的字符串的长度、宽度以及所述字符串中的字符的字体大小,计算得到所述弹幕信息在所述目标图层中所需占用的区域大小。
在可选的实施方式中,所述根据所述弹幕信息所需占用的区域大小对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组的步骤,包括:
根据预设弹幕宽度以及预设弹幕长度创建对应的缓冲池对象;
通过所述缓冲池对象根据所述弹幕信息所需占用的区域大小,将所述弹幕位图生成对应的纹理信息,并存入纹理数组。
在可选的实施方式中,所述利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层的步骤,包括:
利用第二线程的各个子线程分别依次从所述纹理数组中提取纹理信息,获得所述纹理信息中包含的所述弹幕信息在上屏时的坐标值;
根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中。
在可选的实施方式中,所述坐标值包含所述弹幕信息的顶点坐标值,所述根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中的步骤,包括:
将所述顶点坐标值传递进着色器;
根据所述顶点坐标值确定所述目标图层中用于显示所述纹理信息的渲染框;
基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中。
在可选的实施方式中,所述基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中的步骤,包括:
在所述纹理信息上屏时,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中的确定出的渲染框内;
对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内,以使所述纹理信息在所述目标图层中移动显示。
在可选的实施方式中,所述对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内的步骤,包括:
根据创建的模型矩阵对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内;
按预设渲染帧率对所述模型矩阵进行更新,根据每次更新后的模型矩阵对上一次更新的渲染框进行再次更新,利用着色器将所述纹理信息渲染并显示于再次更新后的渲染框内,直至所述纹理信息在所述目标图层中消失为止。
在可选的实施方式中,所述方法还包括:
在监测到存在纹理信息完成在所述目标图层上的渲染显示过程时,将用于该纹理信息的移动显示的模型矩阵的状态设置为空闲状态,所述模型矩阵在空闲状态下可用于其他纹理信息的移动显示。
第二方面,实施例提供一种弹幕实现装置,应用于用户终端,所述装置包括:
信息获取模块,用于获取待处理的多个弹幕信息;
处理模块,用于针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组;
渲染模块,用于利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。
第三方面,实施例提供一种电子设备,所述电子设备包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该电子设备实现前述实施方式中任意一项所述的弹幕实现方法。
第四方面,实施例提供一种可读存储介质,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的弹幕实现方法。
本申请实施例的有益效果包括,例如:
本申请实施例提供的弹幕实现方法、装置、电子设备和可读存储介质,通过创建并行运行的第一线程和第二线程,利用第一线程进行弹幕信息的处理及计算操作,得到弹幕信息的纹理信息,并存入纹理数组。利用第二线程从纹理数组中提取纹理信息,并实现纹理信息的渲染显示。并且,进一步,在第二线程中创建多个子线程,各个子线程可分别从纹理数组中提取纹理信息进行渲染显示。如此,通过并行的第一线程和第二线程,在存在多个待处理的弹幕信息时,可同步进行各个弹幕信息的计算处理以及渲染显示的步骤,加速整体处理速度,并且利用多个子线程用于渲染显示,加快了处理复杂的渲染显示过程,避免了在大量弹幕情况下,弹幕显示不流畅的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的直播***的***架构示意图;
图2为本申请实施例提供的弹幕实现方法的流程示意图;
图3为本申请实施例提供的纹理信息获取方法的流程示意图;
图4为本申请实施例提供的弹幕信息排版设置的示意图;
图5为本申请实施例提供的纹理信息渲染显示方法的流程示意图;
图6为图5中步骤S520的子步骤的流程示意图;
图7为本申请实施例提供的弹幕信息移动显示的示意图;
图8为本申请实施例提供的弹幕信息移动显示的另一示意图;
图9为本申请实施例提供的弹幕信息移动显示的另一示意图;
图10为本申请实施例提供的弹幕信息移动显示的另一示意图;
图11为本申请实施例提供的弹幕实现装置的功能模块框图;
图12为本申请实施例提供的电子设备的结构框图。
图标:100-直播提供终端;200-直播接收终端;300-直播服务器;400-电子设备;410-弹幕实现装置;411-信息获取模块;412-处理模块;413-渲染模块;420-处理器;430-机器可读存储介质。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
请参阅图1,图1示出了本申请实施例提供的直播***的交互场景示意图。例如,直播***可以是用于诸如互联网直播之类的服务平台。直播***可以包括直播服务器300、直播接收终端200以及直播提供终端100,直播服务器300分别与直播接收终端200和直播提供终端100通信连接,用于为直播接收终端200和直播提供终端100提供直播服务。例如,主播可以通过直播提供终端100为观众提供实时在线的直播流并传输给直播服务器300,直播接收终端200可以从直播服务器300拉取直播流进行在线观看或者回放。又例如,直播服务器300也可以获取到直播接收终端200和直播提供终端100发送的弹幕数据,并将弹幕信息发放给各个直播提供终端100和直播接收终端200,以使其实现弹幕信息的渲染显示。
在一些实施场景中,直播接收终端200和直播提供终端100可以互换使用。例如,直播提供终端100的主播可以使用直播提供终端100来为观众提供直播视频服务,或者作为观众查看其它主播提供的直播视频。又例如,直播接收终端200的观众也可以使用直播接收终端200观看所关注的主播提供的直播视频,或者作为主播为其它观众提供直播视频服务。
本实施例中,直播接收终端200和直播提供终端100可以包括但不限于移动设备、平板计算机、膝上型计算机,或其任意两种以上组合。在具体实施过程中,可能有零个、一个或多个直播接收终端200和直播提供终端100接入直播服务器300,图1中仅示出一个。其中,直播接收终端200和直播提供终端100中可以安装用于提供互联网直播服务的互联网产品,例如,互联网产品可以是计算机或智能手机中使用的与互联网直播服务相关的应用程序APP、Web网页、小程序等。
本实施例中,直播服务器300可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,直播服务器300可以是分布式***)。在一些可能的实施方式中,如直播服务器300采用单个物理服务器,可以基于不同直播服务功能为该物理服务器分配不同的逻辑服务器组件。
可以理解,图1所示的直播***仅为一种可行的示例,在其它可行的实施例中,该直播***也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
为了能够实现加速弹幕信息的处理及渲染显示,进而实现弹幕信息的流畅显示,图2示出了本申请实施例提供的弹幕实现方法的流程示意图,本实施例中,该弹幕实现方法可以应用于用户终端,该用户终端可以是图1中所示的直播接收终端200或者是图1中的直播提供终端100。
应当理解,在其它实施例中,本实施例的弹幕实现方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该弹幕实现方法的详细步骤介绍如下。
步骤S210,获取待处理的多个弹幕信息。
步骤S220,针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组。
步骤S230,利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。
本实施例中,观众在登录直播间观看主播直播的过程中,可向直播间发起弹幕信息,以发表自己的评论,或是与主播、其他观众通过弹幕信息进行互动。直播接收终端200的观众发起的弹幕信息经由直播服务器300的处理之后,将分发至进入该直播间的各个直播提供终端100和直播接收终端200,各个直播提供终端100和直播接收终端200在接收到弹幕信息后,对弹幕信息进行处理之后实现渲染显示。
当然,需要说明的是,在直播过程中,直播提供终端100的主播同样也可以发起弹幕信息,在经过直播服务器300的处理后分发至进入直播间的各个直播接收终端200,以使直播接收终端200实现弹幕信息的渲染显示。
在直播接收终端200或直播提供终端100接收到需要进行显示的弹幕信息后,将同步启动第一线程和第二线程并行处理弹幕信息。其中,第一线程基于终端中的中央处理单元(Central Processing Unit,CPU)实现相应处理功能,第二线程基于终端中的图形处理单元(Graphics Processing Unit,GPU)实现相应渲染显示功能。
本实施例中,第一线程和第二线程可并行处理,在利用第一线程对接收到的待处理的弹幕信息进行计算处理得到对应的纹理信息,并存入纹理数组的同时,第二线程可同步实现从纹理数组中提取纹理信息,并渲染显示在目标图层中的工作。
并且,由于一般渲染显示的工作较为繁琐,需要花费较多时间,因此,在本实施例中,在第二线程中包含多个子线程,该多个子线程可同步运行,各个子线程可分别从纹理数组中提取纹理信息,实现渲染并显示在目标图层中的工作。
如此,通过并行的第一线程和第二线程,在存在多个待处理的弹幕信息时,可同步进行各个弹幕信息的计算处理以及渲染显示的步骤,加速整体处理速度,并且利用多个子线程用于渲染显示,加快了处理复杂的渲染显示过程,避免了在大量弹幕情况下,弹幕显示不流畅的问题。
本实施例中,请参阅图3,第一线程对弹幕信息进行处理,得到纹理信息时,可通过以下步骤实现:
步骤S310,利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小。
步骤S320,对所述弹幕信息进行排版设置,确定所述弹幕信息在上屏时的坐标值。
步骤S330,根据所述弹幕信息所需占用的区域大小以及所述坐标值生成所述弹幕信息对应的弹幕位图。
步骤S340,对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组。
本实施例中,该弹幕实现方法可应用于操作***为IOS***的直播提供终端100或直播接收终端200,当然,该弹幕实现方法也可以应用于操作***为其他***的终端设备,本实施例中以操作***为IOS***的终端设备为例进行后续说明。
为了实现弹幕信息的最终渲染显示,需要知道每条弹幕信息在最终显示的目标图层中所需占用的区域大小,其中,该目标图层可以是CAMetalLayer,即将CAMetalLayer作为渲染目标对象。除了需要知道单条弹幕信息所需占用的区域大小之外,还需要对弹幕信息进行排版设置,以确定每条弹幕信息在上屏时的坐标值,其中,弹幕信息上屏指的是弹幕信息最开始显示于目标图层中时。
对弹幕信息进行排版设置,可以包括确定弹幕信息从图层的哪个方向上屏,从某个方向上屏时具体的位置等。例如,弹幕信息可以从屏幕的左侧上屏、右侧上屏,也可以从屏幕的上边上屏,或者从屏幕的下边上屏,具体地在本实施例中不作限制。
通过对各条弹幕信息进行排版设置,可避免在显示多条弹幕信息,各条弹幕信息之间存在重叠现象严重的问题。
本实施例中,可在第一线程中,采用核心文本CoreText在CPU中计算弹幕信息所需占用的区域大小,以及弹幕信息在上屏时的坐标值。
弹幕信息可包括文本信息、表情包、图片等内容,本实施例中,以弹幕信息为包含字符串的文本信息为例进行说明。可选地,在第一线程中,CPU可根据弹幕信息所包含的字符串的长度、宽度以及字符串中的字符的字体大小,计算得到该弹幕信息在目标图层中所需占用的区域大小。
而若弹幕信息为如表情包、图片等信息,则可基于表情包、图片等的尺寸大小计算其所需占用的区域大小。
本实施例中,若弹幕信息从屏幕的右侧上屏时,这种情形下,一般将弹幕信息显示在目标图层的上部区域。可以将目标图层的上部区域划分为多行子区域,每行子区域可以用于弹幕信息的显示。在对弹幕信息进行处理时,一般是按照接收到弹幕信息的先后顺序进行依次处理。在进行弹幕信息的排版设置时,则可以将相邻处理的弹幕信息排版至不同的子区域,从而避免由于相邻的弹幕信息之间时间间隔较短,导致相邻的弹幕信息造成严重重叠显示的问题。
例如,如图4中所示,示意性地将目标图层的上部区域划分为多行子区域,其中,假设纹理信息对应的弹幕信息1和弹幕信息2相邻处理,则可将弹幕信息1排版设置在目标图层中的第一行子区域,而将弹幕信息2排版设置在目标图层的第三行子区域。如此,可避免弹幕信息1和弹幕信息2由于时间间隔比较近,若均排版至同一行子区域,可能导致弹幕信息1和弹幕信息2显示存在重叠。
弹幕信息最终要渲染显示于目标图层中,需要向GPU提供可用于绘制的信息,在CPU中可根据弹幕信息生成对应的弹幕位图,并根据弹幕信息所需占用的区域大小对弹幕位图进行处理生成对应的纹理信息。而该纹理信息则可提供给GPU,以供GPU实现弹幕绘制。其中,该纹理信息中还包含上述计算得到的弹幕信息上屏时的坐标值,以供GPU确定纹理信息绘制的起始位置。
本实施例中,可开启CG位图上下文CGBitmapContext,根据上述计算得到的弹幕信息所需占用的区域大小以及上屏时的坐标值得到弹幕信息对应的弹幕位图,该弹幕位图由多个像素点构成,单个像素点的颜色由RGB三原色的光学强度确定,可用于后续直接在屏幕上显示。
GPU实现弹幕信息的渲染显示还需要得到对应的纹理信息,而纹理信息可基于弹幕位图处理后生成。在本实施例中,根据预设弹幕宽度以及预设弹幕长度创建对应的缓冲池对象,其中,预设弹幕宽度和预设弹幕长度为所允许的最大弹幕宽度和最大弹幕长度。再通过创建的缓冲池对象将弹幕位图生成对应的纹理信息,并存入纹理数组。
本实施例中,纹理数组中可暂存多个经CPU处理后所得到的纹理信息,纹理数组中的纹理信息可提供给GPU以实现渲染显示。
请参阅图5,本实施例中,可通过以下方式实现纹理信息的渲染显示:
步骤S510,利用第二线程的各个子线程分别依次从所述纹理数组中提取纹理信息,获得所述纹理信息中包含的所述弹幕信息在上屏时的坐标值。
步骤S520,根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中。
第二线程中的各个子线程可并行处理,每个子线程在每完成一个弹幕信息的渲染显示后,则从纹理数组中提取一个新的纹路信息进行处理。假设纹理数组中暂存有10条纹理信息,包括纹理信息a、纹理信息b直至纹理信息g。第二线程中有三个子线程,包括子线程A、子线程B以及子线程C。当然应当理解,纹路数组中的纹理信息在不断的更新,例如有新的纹理信息加入纹理数组,也不断有纹理信息从纹理数组中提取出。
子线程A、子线程B和子线程C均可分别从纹理数组中提取纹理信息进行渲染并显示。假设子线程A提取纹理信息a进行处理,子线程B提取纹理信息b进行处理,子线程C提取纹理信息c进行处理。在子线程A完成纹理信息a的渲染显示工作后,即可从纹理数组中提取纹理信息d进行处理。若子线程C完成纹理信息c的渲染显示工作后,即可从纹理数组中提取纹理信息e进行处理。如此,多个子线程可并行处理相同的工作,加速渲染显示的速度。
在本实施例中,各个子线程均是基于GPU实现渲染显示功能,为了触发GPU实现渲染显示,需要将对应的纹理信息放入GPU可调用的渲染流水线MTLRenderPipelineState,并且,编码GPU能够识别的指令,基于该指令触发GPU执行渲染动作。
本实施例中,可根据GPU可用的资源创建渲染流水线以及命令队列MTLCommandQueue,命令队列中放置指令。命令队列中缓存一个或多个指令,用于被执行和被紧凑编码成GPU可识别的指令。基于命令队列中的指令,各个子线程根据渲染流水线从纹理数组中提取纹理信息,并实现渲染显示。
利用每个子线程进行纹理信息的渲染显示时,将根据所提取的纹理信息中包含的对应的弹幕信息上屏时的坐标值进行渲染。可选地,请参阅图6,上述步骤S520可包括以下几个子步骤:
步骤S610,将所述顶点坐标值传递进着色器。
步骤S620,根据所述顶点坐标值确定所述目标图层中用于显示所述纹理信息的渲染框。
步骤S630,基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中。
在将纹理信息渲染显示于目标图层时,需要确定具体的渲染区域,该具体的渲染区域即为渲染框,该渲染框可以是矩形、正方形、圆形、椭圆形等,一般性地,该渲染框可为矩形,即将纹理信息渲染显示至该矩形框内。
本实施例中,上述计算得到的弹幕信息上屏时的坐标值中包含顶点坐标值,该顶点坐标值可以是可将弹幕信息框定在内的矩形框的四个顶点的坐标值。可将顶点坐标值传递进着色器,后续通过着色器实现渲染显示。可选地,着色器可采用drawInstance的绘制方法将纹理信息绘制至由顶点坐标值所确定的渲染框内。
弹幕信息在屏幕上显示时,一般是在上屏之后,在屏幕上移动显示,最终在屏幕上消失。本实施例中,通过不断更新渲染框的方式,以实现弹幕信息的移动显示。可选地,在纹理信息上屏时,利用着色器将纹理信渲染并显示于目标图层中的确定出的渲染框内。然后,对渲染框进行位移更新,利用着色器将纹理信息渲染并显示于位移更新后的渲染框内,以使纹理信息在目标图层中移动显示。
其中,对渲染框的位移更新的次数可以为多次,即通过多次更新渲染框的方式,以使纹理信息在目标图层中进行多次移动,并最终从目标图层中消失。
本实施例中,在对渲染框进行位移更新时,位移更新的方向可以是任意方向,例如,可以如图7中所示,在纹理信息从屏幕的右侧上屏时,则位移更新方向可以是从右往左的横向位移方向。或者,可以如图8中所示,在纹理信息从屏幕的左侧上屏时,位移更新方向可以是从左往右的横向位移方向。而在纹理信息从屏幕的上边上屏时,可以如图9中所示,位移更新方向可以是从上往下的纵向位移方向。而在纹理信息从屏幕的下边上屏时,可以如图10中所示,位移更新方向可以是从下往上的纵向位移方向。
此外,纹理信息还可以从屏幕的角点上屏,位移更新方向可以是从上屏的角点向对角进行位移。或者,也可以是按预设的除上述位移方式之外的其他路径进行位移,例如上屏后先横向位移、再纵向位移,最后下屏。具体地位移更新方式在本实施例中不作具体限制,可根据实际需求进行相应设置。
本实施例中,渲染框的位移更新并不是通过改变确定渲染框的坐标值来更新渲染框,而是利用创建的模型矩阵ModelMatrix实现渲染框的位移更新。该模型矩阵中包含可用于对渲染框的位置信息进行改变的元素,具体地元素的数值可根据位移更新的需求进行设置。
在利用最初所确定的渲染框实现纹理信息的上屏显示之后,即可根据创建的模型矩阵对渲染框进行位移更新,利用着色器将纹理信息渲染并显示于位移更新后的渲染框内。
一般性地,渲染框在一次位移更新后,并不会从目标图层中消失,即不会下屏。此时,可按预设渲染帧率对模型矩阵进行更新,例如每秒10次、每秒60次等不限。根据每次更新后的模型矩阵对上一次更新的渲染框进行再次更新,利用着色器将纹理信息渲染并显示于再次更新后的渲染框内,直至纹理信息在目标图层中消失为止。
如此,通过不断更新渲染框的方式,使纹理信息在屏幕上呈现出不断位移的显示效果,最终从屏幕中消失。
在本实施例中,在每完成一个纹理信息的渲染显示、或者完成预设个数的纹理信息的渲染显示、或者每间隔预设时长时,可将新处理的纹理信息加入至纹理数组,以供着色器进行弹幕绘制。
可选地,在监测到存在纹理信息完成在目标图层上的渲染显示过程时,将用于该纹理信息的移动显示的模型矩阵的状态设置为空闲状态,而模型矩阵在空闲状态下可用于其他纹理信息的移动显示。
基于同一申请构思,请参阅图11,示出了本申请实施例提供的弹幕实现装置410的功能模块示意图,本实施例可以根据上述方法实施例对弹幕实现装置410进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图11示出的弹幕实现装置410只是一种装置示意图。其中,弹幕实现装置410可以包括信息获取模块411、处理模块412以及渲染模块413,下面分别对该弹幕实现装置410的各个功能模块的功能进行详细阐述。
信息获取模块411,用于获取待处理的多个弹幕信息。可以理解,该信息获取模块411可以用于执行上述步骤S210,关于该信息获取模块411的详细实现方式可以参照上述对步骤S210有关的内容。
处理模块412,用于针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组。可以理解,该处理模块412可以用于执行上述步骤S220,关于该处理模块412的详细实现方式可以参照上述对步骤S220有关的内容。
渲染模块413,用于利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。可以理解,该渲染模块413可以用于执行上述步骤S230,关于该渲染模块413的详细实现方式可以参照上述对步骤S230有关的内容。
在一种可能的实施方式中,处理模块412可以用于通过以下方式例如第一线程对弹幕信息进行处理,得到弹幕信息对应的纹理信息,并存入纹理数组:
利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小;
对所述弹幕信息进行排版设置,确定所述弹幕信息在上屏时的坐标值;
根据所述弹幕信息所需占用的区域大小以及所述坐标值生成所述弹幕信息对应的弹幕位图;
对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组。
在一种可能的实施方式中,处理模块412可以用于通过以下方式利用第一线程计算弹幕信息在目标图层中所需占用的区域大小:
利用第一线程,根据所述弹幕信息所包含的字符串的长度、宽度以及所述字符串中的字符的字体大小,计算得到所述弹幕信息在所述目标图层中所需占用的区域大小。
在一种可能的实施方式中,处理模块412可以用于根据弹幕信息所需占用的区域大小对弹幕位图进行处理生成对应的纹理信息:
根据预设弹幕宽度以及预设弹幕长度创建对应的缓冲池对象;
通过所述缓冲池对象根据所述弹幕信息所需占用的区域大小,将所述弹幕位图生成对应的纹理信息,并存入纹理数组。
在一种可能的实施方式中,渲染模块413可以用于通过以下方式利用第二线程的各个子线程分别从纹理数组中提取纹理信息,将提取的纹理信渲染并显示于目标图层:
利用第二线程的各个子线程分别依次从所述纹理数组中提取纹理信息,获得所述纹理信息中包含的所述弹幕信息在上屏时的坐标值;
根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中。
在一种可能的实施方式中,上述坐标值包括弹幕信息的顶点坐标值,渲染模块413可以用于通过以下方式根据坐标值将提取到的纹理信息渲染并显示在目标图层中:
将所述顶点坐标值传递进着色器;
根据所述顶点坐标值确定所述目标图层中用于显示所述纹理信息的渲染框;
基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中。
在一种可能的实施方式中,渲染模块413可用于通过以下方式基于渲染框,利用着色器将纹理信息渲染并显示于目标图层中:
在所述纹理信息上屏时,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中的确定出的渲染框内;
对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内,以使所述纹理信息在所述目标图层中移动显示。
在一种可能的实施方式中,渲染模块413可以用于通过以下方式对渲染框进行位移更新,利用着色器将纹理信息渲染显示于位移更新后的渲染框内:
根据创建的模型矩阵对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内;
按预设渲染帧率对所述模型矩阵进行更新,根据每次更新后的模型矩阵对上一次更新的渲染框进行再次更新,利用着色器将所述纹理信息渲染并显示于再次更新后的渲染框内,直至所述纹理信息在所述目标图层中消失为止。
在一种可能的实施方式中,弹幕实现装置410还包括设置模块,还设置模块可以用于在监测到存在纹理信息完成在所述目标图层上的渲染显示过程时,将用于该纹理信息的移动显示的模型矩阵的状态设置为空闲状态,所述模型矩阵在空闲状态下可用于其他纹理信息的移动显示。
基于同一申请构思,请参阅图12,示出了本申请实施例提供的用于执行上述弹幕实现方法的电子设备400的结构示意框图,该电子设备400可以是上述用户终端,具体可以是图1中所示的直播接收终端200或者是直播提供终端100。如图12所示,该电子设备400可以包括弹幕实现装置410、机器可读存储介质430和处理器420。
本实施例中,机器可读存储介质430与处理器420均位于电子设备400中且二者分离设置。然而,应当理解的是,机器可读存储介质430也可以是独立于电子设备400之外,且可以由处理器420通过总线接口来访问。可替换地,机器可读存储介质430也可以集成到处理器420中,例如,可以是高速缓存和/或通用寄存器。
处理器420是该电子设备400的控制中心,利用各种接口和线路连接整个电子设备400的各个部分,通过运行或执行存储在机器可读存储介质430内的软件程序和/或模块,以及调用存储在机器可读存储介质430内的数据,执行该电子设备400的各种功能和处理数据,从而对电子设备400进行整体监控。可选地,处理器420可包括一个或多个处理核心,例如,处理器420可包括中央处理单元和图形处理单元,其中,中央处理单元主要用于进行数据计算处理等,图形处理单元主要用户图形界面渲染显示等。
其中,处理器420可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器420可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(Application Specific Instruction-set Processor,ASIP)、图形处理单元(GraphicsProcessing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable GateArray,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
机器可读存储介质430可以为大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-Only Memory,ROM)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(Random Access Memory,RAM);RAM可以包括动态RAM(Dynamic Random Access Memory,DRAM),双倍数据速率同步动态RAM(Double Date-Rate Synchronous RAM,DDR SDRAM);静态RAM(Static Random-AccessMemory,SRAM),晶闸管RAM(Thyristor-Based Random Access Memory,T-RAM)和零电容器RAM(Zero-RAM)等。作为举例,ROM可以包括掩模ROM(Mask Read-Only Memory,MROM)、可编程ROM(Programmable Read-Only Memory,PROM)、可擦除可编程ROM(ProgrammableErasable Read-only Memory,PEROM)、电可擦除可编程ROM(Electrically ErasableProgrammable read only memory,EEPROM)、光盘ROM(CD-ROM)、以及数字通用磁盘ROM等。
机器可读存储介质430可以是独立存在,通过通信总线与处理器420相连接。机器可读存储介质430也可以和处理器420集成在一起。其中,机器可读存储介质430用于存储执行本申请方案的机器可执行指令。处理器420用于执行机器可读存储介质430中存储的机器可执行指令,以实现前述方法实施例提供的弹幕实现方法。
弹幕实现装置410可以包括例如图11所述的各个功能模块(例如信息获取模块411、处理模块412及渲染模块413),并可以以软件程序代码的形式存储在机器可读存储介质430中,处理器420可以通过执行弹幕实现装置410的各个功能模块,以实现前述方法实施例提供的弹幕实现方法。
由于本申请实施例提供的电子设备400是上述用户终端执行的方法实施例的另一种实现形式,且电子设备400可用于执行上述方法实施例提供的弹幕实现方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
进一步地,本申请实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于实现上述方法实施例提供的弹幕实现方法。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的弹幕实现方法中的相关操作。
本申请实施例是参照根据本申请实施例的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种弹幕实现方法,其特征在于,应用于用户终端,所述方法包括:
获取待处理的多个弹幕信息;
针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组;
利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。
2.根据权利要求1所述的弹幕实现方法,其特征在于,所述利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组的步骤,包括:
利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小;
对所述弹幕信息进行排版设置,确定所述弹幕信息在上屏时的坐标值;
根据所述弹幕信息所需占用的区域大小以及所述坐标值生成所述弹幕信息对应的弹幕位图;
对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组。
3.根据权利要求2所述的弹幕实现方法,其特征在于,所述利用第一线程计算所述弹幕信息在所述目标图层中所需占用的区域大小的步骤,包括:
利用第一线程,根据所述弹幕信息所包含的字符串的长度、宽度以及所述字符串中的字符的字体大小,计算得到所述弹幕信息在所述目标图层中所需占用的区域大小。
4.根据权利要求2所述的弹幕实现方法,其特征在于,所述根据所述弹幕信息所需占用的区域大小对所述弹幕位图进行处理生成对应的纹理信息,并存入纹理数组的步骤,包括:
根据预设弹幕宽度以及预设弹幕长度创建对应的缓冲池对象;
通过所述缓冲池对象根据所述弹幕信息所需占用的区域大小,将所述弹幕位图生成对应的纹理信息,并存入纹理数组。
5.根据权利要求2所述的弹幕实现方法,其特征在于,所述利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层的步骤,包括:
利用第二线程的各个子线程分别依次从所述纹理数组中提取纹理信息,获得所述纹理信息中包含的所述弹幕信息在上屏时的坐标值;
根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中。
6.根据权利要求5所述的弹幕实现方法,其特征在于,所述坐标值包含所述弹幕信息的顶点坐标值,所述根据所述坐标值将提取到的纹理信息渲染并显示在所述目标图层中的步骤,包括:
将所述顶点坐标值传递进着色器;
根据所述顶点坐标值确定所述目标图层中用于显示所述纹理信息的渲染框;
基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中。
7.根据权利要求6所述的弹幕实现方法,其特征在于,所述基于所述渲染框,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中的步骤,包括:
在所述纹理信息上屏时,利用所述着色器将所述纹理信息渲染并显示于所述目标图层中的确定出的渲染框内;
对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内,以使所述纹理信息在所述目标图层中移动显示。
8.根据权利要求7所述的弹幕实现方法,其特征在于,所述对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内的步骤,包括:
根据创建的模型矩阵对所述渲染框进行位移更新,利用所述着色器将所述纹理信息渲染并显示于位移更新后的渲染框内;
按预设渲染帧率对所述模型矩阵进行更新,根据每次更新后的模型矩阵对上一次更新的渲染框进行再次更新,利用着色器将所述纹理信息渲染并显示于再次更新后的渲染框内,直至所述纹理信息在所述目标图层中消失为止。
9.根据权利要求8所述的弹幕实现方法,其特征在于,所述方法还包括:
在监测到存在纹理信息完成在所述目标图层上的渲染显示过程时,将用于该纹理信息的移动显示的模型矩阵的状态设置为空闲状态,所述模型矩阵在空闲状态下可用于其他纹理信息的移动显示。
10.一种弹幕实现装置,其特征在于,应用于用户终端,所述装置包括:
信息获取模块,用于获取待处理的多个弹幕信息;
处理模块,用于针对各所述弹幕信息,利用第一线程对所述弹幕信息进行处理,得到所述弹幕信息对应的纹理信息,并存入纹理数组;
渲染模块,用于利用第二线程的各个子线程分别从所述纹理数组中提取纹理信息,将提取的纹理信息渲染并显示于目标图层。
11.一种电子设备,其特征在于,所述电子设备包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该电子设备实现权利要求1-9中任意一项所述的弹幕实现方法。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-9中任意一项所述的弹幕实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000484.5A CN111131910B (zh) | 2020-01-02 | 2020-01-02 | 弹幕实现方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000484.5A CN111131910B (zh) | 2020-01-02 | 2020-01-02 | 弹幕实现方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131910A true CN111131910A (zh) | 2020-05-08 |
CN111131910B CN111131910B (zh) | 2022-04-12 |
Family
ID=70507312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010000484.5A Active CN111131910B (zh) | 2020-01-02 | 2020-01-02 | 弹幕实现方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131910B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586489A (zh) * | 2020-06-22 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 弹幕渲染方法、装置、计算机设备及存储介质 |
CN112149383A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 基于gpu的文本实时布局方法、电子装置及存储介质 |
CN113610699A (zh) * | 2021-07-19 | 2021-11-05 | 广州致远电子有限公司 | 一种硬件图层渲染调度方法、装置、设备及储存介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105597321A (zh) * | 2015-12-18 | 2016-05-25 | 武汉斗鱼网络科技有限公司 | 一种全屏游戏状态下的弹幕显示方法与*** |
CN105684037A (zh) * | 2013-10-02 | 2016-06-15 | 微软技术许可有限责任公司 | 图形处理单元 |
CN105872679A (zh) * | 2015-12-31 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 弹幕显示方法和装置 |
CN105939493A (zh) * | 2016-03-30 | 2016-09-14 | 广州华多网络科技有限公司 | 一种视频弹幕的显示方法及显示装置 |
CN106131643A (zh) * | 2016-07-13 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕处理方法、处理装置及其电子设备 |
CN106534875A (zh) * | 2016-11-09 | 2017-03-22 | 广州华多网络科技有限公司 | 弹幕显示控制方法、装置及终端 |
CN107092643A (zh) * | 2017-03-06 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 一种弹幕渲染方法及装置 |
CN107734373A (zh) * | 2017-10-12 | 2018-02-23 | 网易(杭州)网络有限公司 | 弹幕发送方法及装置、存储介质、电子设备 |
CN107770563A (zh) * | 2017-10-10 | 2018-03-06 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息处理方法及装置 |
CN108600852A (zh) * | 2018-04-28 | 2018-09-28 | 北京酷我科技有限公司 | 一种弹幕效果的实现方法 |
CN109213607A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种多线程渲染的方法和装置 |
CN109600654A (zh) * | 2018-11-27 | 2019-04-09 | Oppo广东移动通信有限公司 | 弹幕处理方法、装置以及电子设备 |
US20190215557A1 (en) * | 2016-06-29 | 2019-07-11 | Nokia Technologies Oy | Rendering of user-defined message having 3d motion information |
CN110012306A (zh) * | 2019-04-02 | 2019-07-12 | 广州虎牙信息科技有限公司 | 弹幕的显示方法、装置、设备及存储介质 |
US20190392636A1 (en) * | 2017-06-02 | 2019-12-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for displaying a bullet |
-
2020
- 2020-01-02 CN CN202010000484.5A patent/CN111131910B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105684037A (zh) * | 2013-10-02 | 2016-06-15 | 微软技术许可有限责任公司 | 图形处理单元 |
CN105597321A (zh) * | 2015-12-18 | 2016-05-25 | 武汉斗鱼网络科技有限公司 | 一种全屏游戏状态下的弹幕显示方法与*** |
CN105872679A (zh) * | 2015-12-31 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 弹幕显示方法和装置 |
CN105939493A (zh) * | 2016-03-30 | 2016-09-14 | 广州华多网络科技有限公司 | 一种视频弹幕的显示方法及显示装置 |
US20190215557A1 (en) * | 2016-06-29 | 2019-07-11 | Nokia Technologies Oy | Rendering of user-defined message having 3d motion information |
CN106131643A (zh) * | 2016-07-13 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕处理方法、处理装置及其电子设备 |
CN106534875A (zh) * | 2016-11-09 | 2017-03-22 | 广州华多网络科技有限公司 | 弹幕显示控制方法、装置及终端 |
CN107092643A (zh) * | 2017-03-06 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 一种弹幕渲染方法及装置 |
US20190392636A1 (en) * | 2017-06-02 | 2019-12-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for displaying a bullet |
CN109213607A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种多线程渲染的方法和装置 |
CN107770563A (zh) * | 2017-10-10 | 2018-03-06 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息处理方法及装置 |
CN107734373A (zh) * | 2017-10-12 | 2018-02-23 | 网易(杭州)网络有限公司 | 弹幕发送方法及装置、存储介质、电子设备 |
CN108600852A (zh) * | 2018-04-28 | 2018-09-28 | 北京酷我科技有限公司 | 一种弹幕效果的实现方法 |
CN109600654A (zh) * | 2018-11-27 | 2019-04-09 | Oppo广东移动通信有限公司 | 弹幕处理方法、装置以及电子设备 |
CN110012306A (zh) * | 2019-04-02 | 2019-07-12 | 广州虎牙信息科技有限公司 | 弹幕的显示方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
环浩: "基于OpenGL_ES的iPhone渲染技术研发与应用", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586489A (zh) * | 2020-06-22 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 弹幕渲染方法、装置、计算机设备及存储介质 |
CN112149383A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 基于gpu的文本实时布局方法、电子装置及存储介质 |
CN112149383B (zh) * | 2020-08-28 | 2024-03-26 | 杭州安恒信息技术股份有限公司 | 基于gpu的文本实时布局方法、电子装置及存储介质 |
CN113610699A (zh) * | 2021-07-19 | 2021-11-05 | 广州致远电子有限公司 | 一种硬件图层渲染调度方法、装置、设备及储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111131910B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131910B (zh) | 弹幕实现方法、装置、电子设备和可读存储介质 | |
CN109978972B (zh) | 一种图片中的文字编辑的方法及装置 | |
US11972514B2 (en) | Animation file processing method and apparatus, computer-readable storage medium, and computer device | |
US11620784B2 (en) | Virtual scene display method and apparatus, and storage medium | |
CN107707965B (zh) | 一种弹幕的生成方法和装置 | |
CN111078070B (zh) | Ppt视频弹幕的播放控制方法、装置、终端及介质 | |
CN111432262B (zh) | 页面视频渲染方法及装置 | |
CN111277910A (zh) | 弹幕显示方法、装置、电子设备及存储介质 | |
CN107748688B (zh) | 一种信息展示方法及装置 | |
WO2018166470A1 (zh) | 基于帧率的动画展示方法及终端设备 | |
CN113411664B (zh) | 基于子应用的视频处理方法、装置和计算机设备 | |
CN112135161A (zh) | 虚拟礼物的动效展示方法及装置、存储介质及电子设备 | |
CN109714627B (zh) | 一种评论信息的渲染方法、装置及设备 | |
CN110784733A (zh) | 直播数据处理方法、装置、电子设备及可读存储介质 | |
WO2014036857A1 (zh) | 一种动画播放的方法,装置及设备 | |
CN111107427B (zh) | 图像处理的方法及相关产品 | |
CN113079408A (zh) | 视频播放方法、装置和*** | |
CN114282135A (zh) | 数据轮播方法、装置、电子设备及存储介质 | |
CN113422914A (zh) | 一种视频生成方法、装置、设备及介质 | |
CN111477183B (zh) | 阅读器刷新方法、计算设备及计算机存储介质 | |
CN110719493A (zh) | 弹幕显示方法、装置、电子设备及可读存储介质 | |
CN112449230B (zh) | 字符串显示处理方法、装置、终端及存储介质 | |
CN109091866B (zh) | 显示控制方法、装置、计算机可读介质及电子设备 | |
CN115588064A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN110856033B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |