网页纹理处理方法、装置、终端设备及可读存储介质与流程

专利2022-06-29  74


本申请涉及网页渲染领域,具体而言,涉及一种网页纹理处理方法、装置、终端设备及可读存储介质。



背景技术:

随着互联网技术的不断发展,浏览器的页面内容变得愈发丰富,计算机设备需要花费更多的计算机资源来保证浏览器正常运行,其中浏览器的图像处理操作便是浏览器运行过程的一项重要组成部分。对于图形操作来说,gpu(graphicprocessingunit,图形处理芯片)相对于cpu(centralprocessingunit,中央处理器)的处理效率更高,故业界通常将浏览器的图像处理部分交由显卡通过启用cef(chromiumembeddedframework)进程进行离屏渲染来实现。而在此过程中,因gpu与cpu是两个不同的体系,各自有自己的缓存区域,都不能直接使用对方缓存区的数据,当cpu需要使用某个gpu缓存的已渲染好的图层纹理数据在另一gpu所对应的显卡处进行显示时,只能由cpu将图层纹理数据拷贝到自身的内存中并充当数据中转站的方式来实现。目前的纹理数据拷贝方案是通过直接回调的方式实现的以页面控件为基本单位的单独式拷贝方案,而这种纹理数据拷贝方案会使得到达cpu处的纹理数据无法保持原有网页布局效果,影响纹理数据在另一显卡处进行渲染显示的网页显示效率。



技术实现要素:

有鉴于此,本申请的目的在于提供一种网页纹理处理方法、装置、终端设备及可读存储介质,其能够对需要显示的网页纹理数据进行保留原有网页布局效果的数据拷贝传输操作,避免现有技术中需要重新构建网页布局的操作,达到提高网页显示效率的效果。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种网页纹理处理方法,所述方法包括:

检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致;

当检测到所述第一显卡与所述第二显卡不一致时,调用所述cef进程创建一个渲染目标视图,并根据与所述网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建;

对所述渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给所述显示进程通过所述第二显卡进行渲染显示。

在可选的实施方式中,所述对所述渲染目标视图中已重建的网页纹理数据进行数据提取,包括:

对所述渲染目标视图的视图格式进行识别;

若所述渲染目标视图的视图格式被识别为交换链格式,则调用第一图形接口对所述渲染目标视图所对应的后备缓存进行二进制数据提取,得到与所述网页纹理数据对应的纹理二进制数据。

在可选的实施方式中,所述对所述渲染目标视图中已重建的网页纹理数据进行数据提取,还包括:

若所述渲染目标视图的视图格式被识别为纹理格式时,调用第二图形接口从所述渲染目标视图中获取已重建的网页纹理数据,并调用第三图形接口将所述网页纹理数据映射到一个次级资源结构中,得到包括与所述网页纹理数据所对应的纹理二进制数据的纹理数据块。

在可选的实施方式中,检测第一显卡与第二显卡是否一致,包括:

对第一显卡与第二显卡各自对应的dxgi适配器结构进行查询,得到第一显卡所对应的显卡id及第二显卡所对应的显卡id;

将得到的两个显卡id进行比对,并在相同时判定第一显卡与第二显卡一致,否则判定第一显卡与第二显卡不一致。

在可选的实施方式中,所述方法还包括:

当检测到所述第一显卡与所述第二显卡一致时,调用所述cef进程将所述纹理指针传输给所述显示进程;

调用所述显示进程基于所述纹理指针进行纹理重建,并通过所述第二显卡对重建得到的网页纹理数据进行渲染显示。

在可选的实施方式中,所述调用所述显示进程基于所述纹理指针进行纹理重建,包括:

调用第四图形接口在第二显卡上获取所述纹理指针所指向的相关数据进行纹理重建,得到待显示的网页纹理数据。

第二方面,本申请实施例提供一种网页纹理处理装置,所述装置包括:

显卡检测模块,用于检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致;

纹理重建模块,用于当检测到所述第一显卡与所述第二显卡不一致时,调用所述cef进程创建一个渲染目标视图,并根据与所述网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建;

提取渲染模块,用于对所述渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给所述显示进程通过所述第二显卡进行渲染显示。

在可选的实施方式中,所述装置还包括:

指针传输模块,用于当检测到所述第一显卡与所述第二显卡一致时,调用所述cef进程将所述纹理指针传输给所述显示进程;

重建渲染模块,用于调用所述显示进程基于所述纹理指针进行纹理重建,并通过所述第二显卡对重建得到的网页纹理数据进行渲染显示。

第三方面,本申请实施例提供一种终端设备,包括处理器及存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令,以实现前述实施方式中任意一项所述的网页纹理处理方法。

第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述实施方式中任意一项所述的网页纹理处理方法。

本申请具有以下有益效果:

本申请在检测到cef进程所对应的第一显卡与显示进程所对应的第二显卡不一致时,调用该cef进程创建一个渲染目标视图,并根据与由该cef进程渲染得到的网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建,而后对该渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给该显示进程通过对应的第二显卡进行渲染显示,从而通过采用纹理指针进行纹理重建渲染操作,确保被传输给显示进程的网页纹理数据能够保留原有网页布局效果,无需如现有技术那般需要重新构建网页布局,以提高网页显示效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的终端设备的结构组成示意图;

图2为本申请实施例提供的网页纹理处理方法的流程示意图;

图3为图2中的步骤s230包括的子步骤的流程示意图之一;

图4为图2中的步骤s230包括的子步骤的流程示意图之二;

图5为本申请实施例提供的网页纹理处理装置的功能模块示意图之一;

图6为本申请实施例提供的网页纹理处理装置的功能模块示意图之二。

图标:10-终端设备;11-存储器;12-处理器;13-显卡;14-显示单元;100-网页纹理处理装置;110-显卡检测模块;120-纹理重建模块;130-提取渲染模块;140-指针传输模块;150-重建渲染模块。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,图1是本申请实施例提供的终端设备10的结构组成示意图。在本申请实施例中,所述终端设备10能够进行网页画面显示,并可在离屏渲染操作所采用的gpu与图像显示操作所采用的gpu不属于同一gpu时,对需要显示的网页纹理数据进行保留原有网页布局效果数据拷贝传输操作,避免现有技术中需要重新构建网页布局的操作,达到提高网页显示效率的效果。的。其中,所述终端设备10可以是,但不限于,智能手机、个人电脑及平板电脑等。

在本实施例中,终端设备10包括网页纹理处理装置100、存储器11、处理器12、显卡13及显示单元14。所述存储器11、所述处理器12、所述显卡13及所述显示单元14各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,所述存储器11、所述处理器12、所述显卡13及所述显示单元14这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

在本实施例中,所述存储器11可用于存储程序,所述处理器12在接收到执行指令后,可相应地执行所述程序。其中,存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,所述存储器11可为所述显卡13分配一定的存储空间,作为该显卡13的显存。

在本实施例中,所述处理器12可以是一种具有信号处理能力的集成电路芯片,可以是cpu(centralprocessingunit,中央处理器),用以实现或执行本申请实施例公开的各方法、步骤及逻辑框图。其中,所述存储器11可为所述处理器12分配一定存储空间,作为该处理器12的内存。

在本实施例中,所述显卡13包括gpu,并通过gpu实现图像处理操作。所述显示单元14包括显示屏,所述显示单元14通过所述显示屏进行画面显示。其中,所述终端设备10所包括的显卡13的数目为多个,多个所述显卡13中的某个特定显卡13可与所述显示单元14相互配合实现图像显示,多个所述显卡13中的任意一个显卡13均可用于对网页画面进行离屏渲染,得到对应的网页纹理数据,并由所述处理器12从渲染网页画面的显卡13所对应的显存中获取对应的网页纹理数据在该显示单元14处进行画面显示。

在本实施例中,网页纹理处理装置100包括至少一个能够以软件或固件的形式存储于存储器11或固化在终端设备10的操作系统中的软件功能模块。所述处理器12可用于执行存储器11存储的可执行模块,例如网页纹理处理装置100所包括的软件功能模块及计算机程序等。终端设备10通过网页纹理处理装置100对需要显示的网页纹理数据进行保留原有网页布局效果的数据拷贝传输操作,避免现有技术中需要重新构建网页布局的操作,达到提高网页显示效率的效果。

可以理解的是,图1所示的方框示意图仅为终端设备10的一种结构组成示意图,终端设备10还可包括比图1中所示的更多或更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

在本申请中,为确保上述终端设备10能够实现对待显示的网页纹理数据执行保留原有网页布局效果的数据传输操作,提高网页显示效率,本申请通过提供一种应用于终端设备10的网页纹理处理方法的方式实现上述功能。下面对本申请提供的网页纹理处理方法进行相应描述。

可选地,请参照图2,图2是本申请实施例提供的网页纹理处理方法的流程示意图。在本申请实施例中,图2所示的网页纹理处理方法可以包括步骤s210、步骤s220及步骤s230。

步骤s210,检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致。

在本实施例中,终端设备10可通过在某个显卡13处对cef内核的启动参数“off-screen-rendering-enabled(启用离屏渲染)”及“shared-texture-enabled(启用共享纹理)”进行设置的方式,启动与该显卡13对应的cef进程用以对网页画面进行离屏渲染,得到对应的网页纹理数据,此时该显卡13即为与该cef进程对应的第一显卡。而终端设备10也可通过选取某个显卡13作为与所述显示单元14对应的用于实现画面显示的第二显卡,此时该终端设备10通过在该显卡13处激活对应的显示进程,并通过该显示进程对上述cef进程渲染得到的网页纹理数据实现画面显示操作。当终端设备10确定出网页画面显示过程中所涉及的cef进程及显示进程后,可通过将该cef进程所对应的第一显卡与该显示进程所对应的第二显卡进行比对,以判断对应的第一显卡与第二显卡是否一致。

在本实施例的一种实施方式中,当cef进程与显示进程运行于directx11环境下时,所述检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致的步骤,包括:

对第一显卡与第二显卡各自对应的dxgi适配器结构进行查询,得到第一显卡所对应的显卡id及第二显卡所对应的显卡id;

将得到的两个显卡id进行比对,并在相同时判定第一显卡与第二显卡一致,否则判定第一显卡与第二显卡不一致。

其中,当终端设备10检测到cef进程所对应的第一显卡与显示进程所对应的第二显卡不一致时,该终端设备10将对应执行步骤s220。

步骤s220,调用cef进程创建一个渲染目标视图,并根据与网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建。

在本实施例中,当终端设备10确定第一显卡与第二显卡不一致时,表明该终端设备10需通过处理器12从第一显卡所对应的显存处拷贝由该第一显卡渲染得到的网页纹理数据,并传递给第二显卡进行渲染显示,此时该终端设备10将通过调用cef进程创建一个可被cpu访问的渲染目标视图,并调用该cef进程使用第一显卡基于与该cef进程渲染得到的网页纹理数据相对应的纹理指针进行纹理重建操作,并将重建的纹理数据画入到该渲染目标视图中。在此过程中,终端设备10通过选定同一第一显卡进行离屏渲染操作及纹理重建操作,使经该第一显卡重建得到的页面纹理数据在被存入到能被cpu访问的渲染目标视图中时,能够具有原有布局效果。

步骤s230,对渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给显示进程通过第二显卡进行渲染显示。

在本实施例中,当渲染目标视图中已重建有与该第一显卡所处理得到的纹理数据对应的网页纹理数据后,该终端设备10将根据该渲染目标视图的视图格式选取对应的数据提取策略,来提取该渲染目标视图中的与已重建的网页纹理数据对应的能被cpu使用的纹理二进制数据,而后由该终端设备10将提取得到的纹理二进制数据传输给显示进程,使该显示进程得以通过第二显卡对提取出的纹理二进制数据进行渲染显示,从而在实现保留原有网页布局效果的网页纹理数据拷贝传输操作的情况下,免去现有技术中存在的重新构建网页布局的操作,以提高网页显示效率。

在本申请实施例中,当cef进程所对应的第一显卡与显示进程所对应的第二显卡不一致时,调用该cef进程创建一个渲染目标视图,并根据与由该cef进程渲染得到的网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建,而后对该渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给该显示进程通过对应的第二显卡进行渲染显示,从而通过采用纹理指针进行纹理重建渲染操作,确保被传输给显示进程的网页纹理数据能够保留原有网页布局效果,无需如现有技术那般需要重新构建网页布局,以提高网页显示效率。

在本申请中,为确保终端设备10能够根据不同渲染目标视图格式执行不同方式的数据提取操作,以确保该终端设备10能够正常获取到渲染目标视图中已重建的网页纹理数据,本申请通过对上述步骤s230的可选实施方式进行举例说明,以实现上述功能。

可选地,请参照图3,图3是图2中的步骤s230包括的子步骤的流程示意图之一。在本实施例中,上述步骤s230中的对渲染目标视图中已重建的网页纹理数据进行数据提取的步骤可以包括子步骤s231及子步骤s232。

子步骤s231,对渲染目标视图的视图格式进行识别。

子步骤s232,若渲染目标视图的视图格式被识别为交换链格式,则调用第一图形接口对渲染目标视图所对应的后备缓存进行二进制数据提取,得到与网页纹理数据对应的纹理二进制数据。

其中,所述第一图形接口用于供cpu调用以从交换链的后备缓存中提取数据,所述交换链的后备缓存所存放的数据是等地刷新到所述显示单元14处的纹理数据。在本实施例的一种实施方式中,当cpu运行在directx11环境下时,该第一图形接口可以是getbuffer接口。

可选地,请参照图4,图4是图2中的步骤s230包括的子步骤的流程示意图之二。在本实施例中,上述步骤s230中的对渲染目标视图中已重建的网页纹理数据进行数据提取的步骤还可以包括子步骤s233。

子步骤s233,若渲染目标视图的视图格式被识别为纹理格式时,调用第二图形接口从渲染目标视图中获取已重建的网页纹理数据,并调用第三图形接口将网页纹理数据映射到一个次级资源结构中,得到包括与网页纹理数据所对应的纹理二进制数据的纹理数据块。

其中,第二图形接口用于供cpu调用以从格式为纹理格式的纹理文件中提取纹理数据,第三图形接口用于供cpu调用以对纹理数据进行数据映射。在本实施例的一种实施方式中,当cpu运行在directx11环境下时,该第二图形接口可以为copyresource接口,该第三图形接口可以为map接口。

在本申请中,终端设备10能够通过执行上述子步骤s231-子步骤s233,根据不同渲染目标视图格式执行不同方式的数据提取操作,以确保该终端设备10能够正常获取到渲染目标视图中已重建的网页纹理数据。

请再次参照图2,在本申请中,为确保终端设备10能够在第一显卡与第二显卡一致时快速地传输被第一显卡渲染得到的网页纹理数据,图2所示的网页纹理处理方法还可以包括步骤s240及步骤s250,并通过步骤s240及步骤s250实现上述功能。

步骤s240,调用cef进程将纹理指针传输给显示进程。

在本实施例中,当终端设备10确定第一显卡与第二显卡一致时,表明该终端设备10将采用统一显卡13进行离屏渲染及渲染显示,此时该终端设备10可通过进程间通信将与经所述cef进程渲染得到的网页纹理数据对应的纹理指针传输给所述显示进程。

步骤s250,调用显示进程基于纹理指针进行纹理重建,并通过第二显卡对重建得到的网页纹理数据进行渲染显示。

在本实施例中,所述终端设备10在将纹理指针传输给显示进程后,可根据所述纹理指针所对应的地址与结果之间的对应关系,在第二显卡的作用下基于显示进程直接创建对应的网页纹理数据并进行渲染显示,从而无需执行数据拷贝操作,节省数据传输所造成的资源开销,提高网页显示效率。

所述调用显示进程基于纹理指针进行纹理重建的步骤,包括:

调用第四图形接口在第二显卡上获取纹理指针所指向的相关数据进行纹理重建,得到待显示的网页纹理数据。

其中,第四图形接口用于供gpu调用以在对应显卡上进行纹理数据重建操作。在本实施例的一种实施方式中,当gpu运行在directx11环境下时,该第四图形接口可以为opensharedresource接口。

在本申请实施例中,当cef进程所对应的第一显卡与显示进程所对应的第二显卡一致时,调用cef进程将纹理指针传输给显示进程,使显示进程能够基于纹理指针进行纹理重建,并通过第二显卡对重建得到的网页纹理数据进行渲染显示,以避免执行数据拷贝操作,节省数据传输所造成的资源开销,提高网页显示效率,从而快速传输被第一显卡渲染得到的网页纹理数据。

在本申请中,本申请通过对网页纹理处理装置100进行功能模块划分,以通过网页纹理处理装置100所包括的软件功能模块实现上述终端设备10所具有的功能。下面对本申请提供的网页纹理处理装置100的具体组成进行相应描述。

可选地,请参照图5,图5是本申请实施例提供的网页纹理处理装置100的功能模块示意图之一。在本申请实施例中,图5所示的网页纹理处理装置100包括显卡检测模块110、纹理重建模块120及提取渲染模块130。

显卡检测模块110,用于检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致。

纹理重建模块120,用于当检测到第一显卡与第二显卡不一致时,调用cef进程创建一个渲染目标视图,并根据与网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建。

提取渲染模块130,用于对渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给显示进程通过第二显卡进行渲染显示。

可选地,请参照图6,图6是本申请实施例提供的网页纹理处理装置100的功能模块示意图之二。在本申请实施例中,与图5所示的网页纹理处理装置100相比,图6所示的网页纹理处理装置100还可以包括指针传输模块140及重建渲染模块150。

指针传输模块140,用于当检测到第一显卡与第二显卡一致时,调用cef进程将纹理指针传输给显示进程。

重建渲染模块150,用于调用显示进程基于纹理指针进行纹理重建,并通过第二显卡对重建得到的网页纹理数据进行渲染显示。

需要说明的是,本申请提供的网页纹理处理装置100的基本原理及产生的技术效果与上述的网页纹理处理方法相同,为简要描述,本实施例部分未提及之处,可参考上述的对网页纹理处理方法的相应描述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,在本申请提供的一种网页纹理处理方法、装置、终端设备及可读存储介质中,本申请在检测到cef进程所对应的第一显卡与显示进程所对应的第二显卡不一致时,调用该cef进程创建一个渲染目标视图,并根据与由该cef进程渲染得到的网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建,而后对该渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给该显示进程通过对应的第二显卡进行渲染显示,从而通过采用纹理指针进行纹理重建渲染操作,确保被传输给显示进程的网页纹理数据能够保留原有网页布局效果,无需如现有技术那般需要重新构建网页布局,以提高网页显示效率。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。


技术特征:

1.一种网页纹理处理方法,其特征在于,所述方法包括:

检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致;

当检测到所述第一显卡与所述第二显卡不一致时,调用所述cef进程创建一个渲染目标视图,并根据与所述网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建;

对所述渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给所述显示进程通过所述第二显卡进行渲染显示。

2.根据权利要求1所述的方法,其特征在于,所述对所述渲染目标视图中已重建的网页纹理数据进行数据提取,包括:

对所述渲染目标视图的视图格式进行识别;

若所述渲染目标视图的视图格式被识别为交换链格式,则调用第一图形接口对所述渲染目标视图所对应的后备缓存进行二进制数据提取,得到与所述网页纹理数据对应的纹理二进制数据。

3.根据权利要求2所述的方法,其特征在于,所述对所述渲染目标视图中已重建的网页纹理数据进行数据提取,还包括:

若所述渲染目标视图的视图格式被识别为纹理格式时,调用第二图形接口从所述渲染目标视图中获取已重建的网页纹理数据,并调用第三图形接口将所述网页纹理数据映射到一个次级资源结构中,得到包括与所述网页纹理数据所对应的纹理二进制数据的纹理数据块。

4.根据权利要求1所述的方法,其特征在于,检测第一显卡与第二显卡是否一致,包括:

对第一显卡与第二显卡各自对应的dxgi适配器结构进行查询,得到第一显卡所对应的显卡id及第二显卡所对应的显卡id;

将得到的两个显卡id进行比对,并在相同时判定第一显卡与第二显卡一致,否则判定第一显卡与第二显卡不一致。

5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述方法还包括:

当检测到所述第一显卡与所述第二显卡一致时,调用所述cef进程将所述纹理指针传输给所述显示进程;

调用所述显示进程基于所述纹理指针进行纹理重建,并通过所述第二显卡对重建得到的网页纹理数据进行渲染显示。

6.根据权利要求5所述的方法,其特征在于,所述调用所述显示进程基于所述纹理指针进行纹理重建,包括:

调用第四图形接口在第二显卡上获取所述纹理指针所指向的相关数据进行纹理重建,得到待显示的网页纹理数据。

7.一种网页纹理处理装置,其特征在于,所述装置包括:

显卡检测模块,用于检测cef进程在渲染网页画面时所使用的第一显卡,与显示进程在需要显示由该cef进程渲染得到的网页纹理数据时所使用的第二显卡是否一致;

纹理重建模块,用于当检测到所述第一显卡与所述第二显卡不一致时,调用所述cef进程创建一个渲染目标视图,并根据与所述网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建;

提取渲染模块,用于对所述渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给所述显示进程通过所述第二显卡进行渲染显示。

8.根据权利要求7所述的装置,其特征在于,所述装置还包括:

指针传输模块,用于当检测到所述第一显卡与所述第二显卡一致时,调用所述cef进程将所述纹理指针传输给所述显示进程;

重建渲染模块,用于调用所述显示进程基于所述纹理指针进行纹理重建,并通过所述第二显卡对重建得到的网页纹理数据进行渲染显示。

9.一种终端设备,其特征在于,包括处理器及存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令,以实现权利要求1-6中任意一项所述的网页纹理处理方法。

10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-6中任意一项所述的网页纹理处理方法。

技术总结
本申请提供一种网页纹理处理方法、装置、终端设备及可读存储介质,涉及网页渲染领域。本申请在检测到CEF进程所对应的第一显卡与显示进程所对应的第二显卡不一致时,调用该CEF进程创建一个渲染目标视图,并根据与由该CEF进程渲染得到的网页纹理数据对应的纹理指针在该渲染目标视图中进行纹理重建,而后对该渲染目标视图中已重建的网页纹理数据进行数据提取,并将提取出的纹理二进制数据传输给该显示进程通过对应的第二显卡进行渲染显示,从而通过采用纹理指针进行纹理重建渲染操作,确保被传输给显示进程的网页纹理数据能够保留原有网页布局效果,无需如现有技术那般需要重新构建网页布局,以提高网页显示效率。

技术研发人员:范赐丰;谢孟辉;杨剑飞;梁伟鑫
受保护的技术使用者:广州虎牙科技有限公司
技术研发日:2020.01.15
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-23130.html

最新回复(0)