SwiftShader-Vulkan的线程结构

SwiftShader是谷歌的开源项目,使用软件的方式实现了部分GPU的渲染功能,它支持OpenGL/Vulkan/D3D等接口。本文讨论SwiftShader的Vulkan实现,它本身是通过多线程来实现的:

  • Submit线程:将用户提交到同一个CommandBuffer的Vulkan命令整理成绘图任务(Task,也可以叫DrawCall);
  • Raster线程:执行绘图任务。绘图任务主要工作是:顶点处理,光栅化等。

除了内部实现的两个线程之外,用户线程负责提交Vulkan命令。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TransGaming公司今天发布了一款号称革命性的纯软件3D渲染引擎工具,TransGaming宣称 这款渲染引擎工具支持所有的Pixel和Vertex Shader DX9特效,并且可以获得比微软D3D 的REF设备(reference rasterizer)快50倍的速度。可能很多朋友对TransGaming公司几 乎没怎么听说过,不过提到这家公司的一个名为Cedega的软件,很多熟悉Linux的朋友可 能马上就会想起了,Cedega是一个可以使Windows平台的游戏运行在Linux下的创新软件, 支持《战地:越南》、《马克思.佩恩》、《半条命2》等多款Windows平台下的人气大作 。 今天TransGaming新发布的SwiftShader工具据说可以让用户使用非常一般的显卡也能达到 相当不错的游戏速度,不知道这款工具会不会影响到ATi和nVIDIA的生意。我们先一起来 看看SwiftShader的具体工作需求: —— 700 MHz或更高的x86处理器(需要支持SSE扩展指令集),推荐Pentium-M处理器 —— 一块2D显卡,无需3D显卡!! —— Win2000或XP系统,Linux系统通过Cedega支持也可以。 —— 256MB内存 —— 25MB磁盘空间 SwiftShader通过TransGaming自己的SwiftAsm runtime code生成系统来达到其声称的执 行效率,SwiftAsm可以把所有基于shader的、固定的几何函数以及像素管线操作代码转换 成为高速的x86 SSE/MMX代码,然后这些代码会被缓存起来以备随时调用。SwiftAsm可以 让开发者很容易的为自己程序进行高效优化。 SwiftShader的安装非常简单,SwiftShader的渲染引擎已经被封装到了D3D8.DLL和 D3D9.DLL这两个DLL文件中。这两个DLL文件可以被拷贝到任何使用D3D的应用程序目录下 ,SwiftShader会自动代替操作系统的D3D引擎。除了DLL文件外,还需要一个额外的配置 文件SwiftShader.ini来供SwiftShader调用。不过并非所有的D3D应用程序都能正常的使 用的SwiftShader的渲染引擎,很多程序和游戏需要通过TransGaming公司的调试修改认证 才可以顺利运行。 Demo在那两个文件夹中! 如果想使用此软件的功能,请将d3d8.dll d3d9.dll 和 SwiftShader.ini 拷贝到游戏目录下即可
软件实现DX9功能 TransGaming公司发布了一款号称革命性的纯软件3D渲染引擎工具,TransGaming宣称这款渲染引擎工具支持所有的Pixel和Vertex Shader DX9特效,并且可以获得比微软D3D的REF设备(reference rasterizer)快50倍的速度。可能很多朋友对TransGaming公司几乎没怎么听说过,不过提到这家公司的一个名为Cedega的软件,很多熟悉Linux的朋友可能马上就会想起了,Cedega是一个可以使Windows平台的游戏运行在Linux下的创新软件,支持《战地:越南》、《马克思.佩恩》、《半条命2》等多款Windows平台下的人气大作。 今天TransGaming新发布的SwiftShader工具据说可以让用户使用非常一般的显卡也能达到相当不错的游戏速度,不知道这款工具会不会影响到ATi和nVIDIA的生意。我们先一起来看看SwiftShader的具体工作需求: —— 700 MHz或更高的x86处理器(需要支持SSE扩展指令集),推荐Pentium-M处理器 —— 一块2D显卡,无需3D显卡!! —— Win2000或XP系统,Linux系统通过Cedega支持也可以。 —— 256MB内存 —— 25MB磁盘空间 SwiftShader通过TransGaming自己的SwiftAsm runtime code生成系统来达到其声称的执行效率,SwiftAsm可以把所有基于shader的、固定的几何函数以及像素管线操作代码转换成为高速的x86 SSE/MMX代码,然后这些代码会被缓存起来以备随时调用。SwiftAsm可以让开发者很容易的为自己程序进行高效优化。 SwiftShader的安装非常简单,SwiftShader的渲染引擎已经被封装到了D3D8.DLL和D3D9.DLL这两个DLL文件中。这两个DLL文件可以被拷贝到任何使用D3D的应用程序目录下,SwiftShader会自动代替操作系统的D3D引擎。除了DLL文件外,还需要一个额外的配置文件SwiftShader.ini来供SwiftShader调用。不过并非所有的D3D应用程序都能正常的使用的SwiftShader的渲染引擎,很多程序和游戏需要通过TransGaming公司的调试修改认证才可以顺利运行。 目前TransGaming公司提供了一个展示DEMO供用户下载,其中包括了3个非常简单的演示DEMO以及一个《马克思.佩恩》的SwiftShader.ini配置文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值