当前位置: 首页 > 专利查询>威尔乌集团专利>正文

在客户端机器之间分配着色器来进行预缓存制造技术

技术编号:25488544 阅读:32 留言:0更新日期:2020-09-01 23:07
客户端机器被配置为在执行在显示器上渲染图形的程序(例如,视频游戏)期间编译着色器。这些客户端机器可以将信息‑包括所述客户端机器的硬件配置、所述程序的应用程序标识符(ID)以及用于已编译的着色器的一组着色器ID‑上传至远程计算系统,所述远程计算系统编目所述着色器ID,选择性地向所述客户端机器中的一个或多个请求已编译的着色器,以及选择性地准备所述已编译的着色器代码以进行重新分配。此后,带有匹配的硬件配置的发出请求的客户端机器可以从所述远程系统接收已编译的着色器代码以用于特定的程序,并且可以预缓存所述已编译的着色器代码以在程序执行期间使用。

【技术实现步骤摘要】
【国外来华专利技术】在客户端机器之间分配着色器来进行预缓存相关申请的交叉引用这是要求于2018年1月26日提交的题为“在客户端机器之间分配着色器来进行预缓存”的美国专利申请序列号15/881,552的优先权的PCT申请,该美国专利申请通过引用整体并入本文。
技术介绍
着色器是一种程序,其在显示卡上执行以对显示器产生一个范围的视觉效果。现代视频游戏使用着色器来在玩游戏期间在屏幕上渲染不同的材料(例如,磨砂材料、有光泽的材料等)。当在图形管线中执行这些程序时,着色器输出逐像素值(例如,颜色值),其被组合以在显示器上创建带有期望的视觉效果的图像。游戏开发者可以以高级编程语言,诸如高级着色语言(HLSL)、OpenGL着色语言(GLSL)或类似的编程语言为着色器编写源代码,并且该源代码随后被编译成着色器的字节码表示。然而,在着色器可以在显示卡上执行之前,着色器还被编译成可由客户端机器的图形处理单元(GPU)执行的机器代码。换句话说,当客户在他/她的客户端机器上第一次运行游戏时,图形驱动程序加载与着色器相关联的字节码,并且将字节码编译成可由客户端机器的特定GPU执行的机器代码。这本文档来自技高网...

【技术保护点】
1.一种客户端机器,其包括:/n中央处理单元(CPU);/n图形处理单元(GPU);以及/n存储计算机可执行指令的存储器,所述计算机可执行指令在由所述CPU执行时,使得所述客户端机器:/n加载客户端应用程序,所述客户端应用程序被配置为执行在与所述客户端机器相关联的显示器上渲染图形的多个所安装程序中的一个;/n将对所述多个所安装程序中的程序的已编译的着色器代码的请求发送到远程计算系统,所述请求包括所述客户端机器的硬件配置;/n接收来自所述远程计算系统的表示所述已编译的着色器代码不可用的指示:/n执行所述程序;/n由所述客户端机器的图形驱动程序编译一组着色器作为所述GPU可执行的机器代码中的已编译...

【技术特征摘要】
【国外来华专利技术】20180126 US 15/881,5521.一种客户端机器,其包括:
中央处理单元(CPU);
图形处理单元(GPU);以及
存储计算机可执行指令的存储器,所述计算机可执行指令在由所述CPU执行时,使得所述客户端机器:
加载客户端应用程序,所述客户端应用程序被配置为执行在与所述客户端机器相关联的显示器上渲染图形的多个所安装程序中的一个;
将对所述多个所安装程序中的程序的已编译的着色器代码的请求发送到远程计算系统,所述请求包括所述客户端机器的硬件配置;
接收来自所述远程计算系统的表示所述已编译的着色器代码不可用的指示:
执行所述程序;
由所述客户端机器的图形驱动程序编译一组着色器作为所述GPU可执行的机器代码中的已编译的着色器;
由所述图形驱动程序在预定义的存储器位置中并且与所述程序的应用程序标识符(ID)相关联地缓存所述已编译的着色器;
生成用于所述已编译的着色器的一组着色器ID;以及
将信息发送到所述远程计算系统,所述信息包括:
所述客户端机器的所述硬件配置,
所述程序的所述应用程序ID,以及
用于所述已编译的着色器的所述一组着色器ID。


2.如权利要求1所述的客户端机器,其中所述程序是视频游戏。


3.如权利要求1所述的客户端机器,其中所述硬件配置指定所述图形驱动程序的版本和所述GPU的型号。


4.如权利要求1所述的客户端机器,其中所述计算机可执行指令在由所述CPU执行时,还使得所述客户端机器对用于所述已编译的着色器代码的所述机器代码进行散列以生成一组散列值,并且其中所述一组散列值包括在被发送至所述远程计算系统的所述信息中。


5.一种方法,其包括:
由远程计算系统从第一客户端机器接收第一信息,所述第一信息包括:
所述第一客户端机器的第一硬件配置,
程序的应用程序标识符(ID),在客户端机器上执行所述程序期间所述程序在与所述客户端机器相关联的显示器上渲染图形,以及
在所述第一客户端机器上执行所述程序期间由所述第一客户端机器的图形驱动程序编译的着色器的一组着色器ID,
由所述远程计算系统根据所述第一硬件配置和所述应用程序ID来编目所述一组着色器ID;
由所述远程计算系统并且向所述第一客户端机器请求对应于所述着色器中的一个或多个着色器的已编译的着色器代码;
由所述远程计算系统从所述第一客户端机器接收所述已编译的着色器代码;
使所述已编译的着色器代码与所述应用程序ID和所述第一硬件配置相关联以进行重新分配;
由所述远程计算系统从第二客户端机器接收第二信息,所述第二信息包括:
所述第二客户端机器的第二硬件配置,以及
所述程序的所述应用程序ID;
由所述远程计算系统确定所述第二硬件配置匹配所述第一硬件配置;以及
由所述远程计算系统将所述已编译的着色器代码发送到所述第二客户端机器以供在所述第二客户端机器上执行所述程序期间由所述第二客户端机器的图形处理单元(GPU)执行。


6.如权利要求5所述的方法,其中所述程序是视频游戏。


7.如权利要求5所述的方法,其中所述一组着色器ID包括一组着色器密钥,并且其中将所述一组着色器密钥从所述第一客户端机器接收在一组元组中,各个元组包括着色器密钥和用于对应于所述着色器密钥的着色器的所述已编译的着色器代码的散列值。


8.如权利要求7所述的方法,其还包括:
由所述远程计算系统对从所述第一客户端机器接收的所述已编译的着色器代码进行散列以生成所述已编译的着色器代码的校验散列值,
其中所述使所述已编译的着色器代码与所述应用程序ID和所述第一硬件配置相关联以进行重新分配至少部分地基于匹配在所述一组元组中的一元组中的从所述第一客户端机器接收的所述已编译的着色器代码的所述散列值的所述校验散列值。


9.如权利要求5所述的方法,其中所述第二硬件配置匹配所述第一硬件配置包括确定所述第一硬件配置和所述第二硬件配置指定了共同的图形驱动程序版本和共同的GPU型号。


10.如权利要求5所述的方法,其中所述请求所述已编译的着色器代码是响应于所述远程计算系统已从至少预定义数量的不同的客户端机器接收到所述一个或多个着色器的一个或多个着色器ID执行的,所述不同的客户端机器包括所述第一客户端机器和至少一个另外的客户端机器。


11.如权利要求5所述的方法,其还包括,在所述使所述已编译的着色器代码与所述应用程序ID和所述第一硬件配置相关联以进行重新分配之前:
由远程计算系统从具有不同的硬件配置并且提供不同的应用程序ID的多个客户端机器接收另外的着色器ID;
由所述远程计算系统按照硬件配置和应用程序ID来编目所述另外的着色器ID;
由所述远程计算系统针对所述一个或多个着色器的特定着色器ID对将所述特定着色器ID...

【专利技术属性】
技术研发人员:PL·M·格里菲斯
申请(专利权)人:威尔乌集团
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1