开源通用型渲染工具-SwiftShader–OpenGL的替代者

SwiftShader 是一款用于在 CPU 上进行高性能图形渲染的软件库。Google 已经在很多产品中使用该内容库,包括 Chrome、Android 开发工具和云服务。Swiftshader 从今天开始完全开放源码,扩展了其应用范围。

 

自 2009 年起,Chrome 就开始使用 SwiftShader 在不完全支持硬件加速渲染的系统上进行 3D 渲染。虽然为 GPU 写入了 WebGL 等 3D 内容,但有些用户的设备没有可执行此内容的图形硬件。其他设备可能包含存在严重错误的驱动程序,导致 3D 渲染不可靠,或甚至不可实现。Chrome 在这些系统上使用 SwiftShader,以确保 3D 网页内容对所有用户可用。

 

开源通用型渲染工具-SwiftShader--OpenGL的替代者

在 GPU 不合适(左图)的设备上不使用 SwiftShader 的 Chrome 无法运行 WebGL Globe 实验。在同一设备上,启用 SwiftShader 后(右图)则完全可以对内容进行渲染。

 

SwiftShader 实现 Chrome 和 Android 使用的相同的 OpenGL ES 图形 API。SwiftShader 开放源码将促使其他浏览器供应商普遍支持 3D 内容,从而使网站平台作为一个整体向前发展。具体而言,无条件的 WebGL 支持将允许网站开发人员创建更具吸引力的内容,例如休闲游戏、教育应用、合作内容创作软件、产品展示和虚拟游览等。SwiftShader 在云服务领域也有应用,实现了在无 GPU 系统上的渲染。

 

为了向用户提供最佳性能,SwiftShader 使用多种方法高效地在 CPU 上执行图形计算。动态代码生成使在运行时针对现有任务自定义代码成为可能,与更常见的编译时优化完全不同。通过使用 Reactor 简化这种复杂的方法,Reactor 是一种自定义 C++ 嵌入式语言,具有直观的命令式语法。SwiftShader 还可以单指令多线程 (SIMT) 方式使用向量运算,并结合使用多线程技术来提高 CPU 可用内核和矢量单元之间的并行性。这样可实现实时渲染,其用途包括在 Android 上进行应用串流等。

 

开发者可从其 Git 存储库访问 SwiftShader 源代码。注册邮件列表,了解最新的开发资讯,并与开源社区的其他 SwiftShader 开发者展开合作。

 

开源地址:https://github.com/google/swiftshader

预编译的文件下载:https://goo.gl/5MOcdb

原文链接: https://www.cnblogs.com/micro-chen/p/9115430.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    开源通用型渲染工具-SwiftShader--OpenGL的替代者

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/275133

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午12:46
下一篇 2023年2月15日 上午12:47

相关推荐