博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开源通用型渲染工具-SwiftShader--OpenGL的替代者
阅读量:5952 次
发布时间:2019-06-19

本文共 1033 字,大约阅读时间需要 3 分钟。

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

 

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

 

在 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

预编译的文件下载:

转载地址:http://hmaxx.baihongyu.com/

你可能感兴趣的文章
可视化分析:洞见数据的秘诀
查看>>
《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.15 如何掌握拍摄方向
查看>>
hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)...
查看>>
Apache Tomcat 信息泄露漏洞(CVE-2016-8747)
查看>>
《HBase企业应用开发实战》—— 3.6 本章小结
查看>>
《UNIX环境高级编程(第3版)》——2.6 选项
查看>>
collectd 5.7.2 发布,系统监控和统计工具
查看>>
浏览器市场 Chrome 仍占主导地位,IE 继续下降
查看>>
《Adobe Photoshop CS4中文版经典教程》—第1课1.7节检查更新
查看>>
《Arduino开发实战指南:机器人卷》一3.6 编程原理与示例程序
查看>>
KVM基础安装,手动创建桥
查看>>
《CCNP TSHOOT 300-135学习指南》——1.2节结构化故障检测与排除方法
查看>>
《ANTLR 4权威指南》——第2章纵观全局
查看>>
Babel 6.25 版本发布,JavaScript 编译器
查看>>
2017 年全球十大突破技术:逼格很高很难懂
查看>>
《机器人爱好者(第2辑)》——部署机械手或末端执行器
查看>>
《R语言与数据挖掘最佳实践和经典案例》—— 3.5 将图表保存到文件中
查看>>
《Hack与HHVM权威指南》——1.1 为什么使用类型检查器
查看>>
《C#初学者指南》一第1章 初识C#
查看>>
《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.1 应用...
查看>>