处理器/DSP
今年三月在旧金山的 2018游戏开发者大会上,Imagination Technologies展台吸引了不少观众的眼球。如果您没有亲临现场,不妨阅读一下这篇文章,它会告诉你可能错过了哪些新技术。
PowerVR的开发者技术支持团队在GDC 2018
那么,都有哪些重大的新闻呢?作为2018 Release 1发布的内容之一是来自PowerVR开发团队带来的两款具有开创性的开发工具:
● PVRStudio ——一款2018年全新的工具,它是一个功能齐全的IDE,世界上第一款移动/嵌入式开发工具,让你能够调试GPU(这里指PowerVR)应用,此外它还支持同时调试CPU和GPU。
● PVRTune Complete ——这款得到用户高度评价的性能分析工具此次迭代更新带来了一些非常重要的升级,作为业界另一个第一,我们比其他任何移动GPU供应商都提供更深入的驱动和硬件信息。
了解更多请看下面的内容!
PVRStudio
对于一个团队来说,发布一个新工具总是令人兴奋的,但是PVRStudio则远远不止于此,它不仅如你所期待的那样是一款为PowerVR定制的强大且功能齐全的IDE,而且支持在移动/嵌入式平台上进行GPU调试,这在之前是没有过的。
增加了对CPU和GPU的同步无缝调试功能,这在移动/嵌入式平台上也是从来没有实现过的,这样你就清楚我们为什么如此热衷的宣传它了。
开发人员将能够调试一些程序——比如在GPU硬件平台上执行的OpenGL ES着色器和OpenCL内核——尤其是统一渲染核心(USC)。这一切操作都和我们几十年来CPU调试是一样的,这款全新灵活的IDE将让你更加详细的调试GPU应用以及优化,它让开发者能够直接访问PowerVR USC资源。
一款很现代化,非常强大的IDE和调试器
PVRStudio是基于非常流行的轻量级 Qt Creator 开发的,具备如下特性:
● 完全支持用户所期望的断点设置以及步进调试
● 能够查看图形着色器和CPU内核的内存占用情况
● 在PowerVR GPU硬件平台上支持某个着色器的调试,检测内存和GPU寄存器使用情况(针对特定的示例进行调试)
PVRStudio采用的GDB的一个分支,称为PVR-GDB。这意味着PVRStudio也能够调试GDB所支持的任何处理器架构,我们也已经增加了GDB调试PowerVR架构的能力。
所有的PowerVR工具都是基于Qt框架,这给所有PowerVR开发人员提供了非常丰富的UI使用体验。
PowerVR Studio是一款功能齐全的IDE,能够让开发者在一个会话中同时调试PowerVR GPU和CPU
快速开发,全面定制化——不需要依赖其他
PVRStudio使用 CMake 作为它主要的项目管理进程,同时也支持Makefile,支持在安卓和Linux平台的部署即用的特性。
开发者可以根据需要添加定制化的构建和部署流程,此外,它还支持第三方插件来增强IDE功能。
简而言之
PVRStudio 为在 PowerVR平台上开发、调试和部署提供了端到端的解决方案,Windows 和 Linux平台版本将在四月份可用,鉴于采用了NDA保密协议,你需要从我们这里获取安卓/Linux镜像(目前支持 宏碁Chromebook R13 ),当然我们会经常的进行更新。
PVRTune Complete
PowerVR GPU性能分析工具PVRTune一直以来都为广大开发者提供实时的显示GPU的各项性能参数,快速且高效的分析完全适合PowerVR架构。
驱动层的软件计数器和硬件寄存器用于提供在PowerVR图形核心上运行应用的实时性能数据,这些详细的信息可以用来轻松的辨识性能瓶颈,并且充分了解应用程序在移动和嵌入式平台上的动态信息,这将让开发人员能够以最低的功耗获得最佳的性能。
这款高度评价的性能分析工具此次迭代更新带来了一些非常重大的升级
那么PVRTune Complete具体有哪些更新?
对于下一个发布版本(PVRTune Complete 2018R1)开发者将能够获取比以前更多底层硬件和驱动的详细信息,其中一个方式就是采用“API Awareness”。
API Awareness是怎样工作的?
PVRTune Complete能够检索和呈现由API(比如OpenGL ES/EGL)客户端驱动所生成的各种事件信息,这能够让开发者在PVRTune GUI中查看应用层的API调用(比如glDraw),并且通过PowerVR驱动和执行的硬件来跟踪一系列应用层的任务。
通过这种方式开发者能够看到在应用层提交的任务如何直接影响驱动器和硬件的行为和性能,PVRTune Complete也能够提供来自客户端驱动器的其他一些信息,比如接口格式、大小和着色细节,目前它支持OpenGL ES/EGL API,接下来将支持Vulkan。
还有哪些其他的变化?
当然!为了让那些底层的信息更加容易理解,我们也给UI做了明显的改造,导航栏比以前更加直观,数据显示的清晰度也有了很大的提升。
我想了解PVRTune Complete更多的信息……
PVRTune分为两个应用程序:
● PVRTune GUI 是一个支持多平台的客户端,运行在开发者的机器上,它会读取、格式化并且展示由服务器发给客户端的数据流。
● PVRPerfServer 是一个轻量级的应用,可以运行在各种目标平台上,它与我们的图形驱动建立连接,将驱动发送的数据传输给GUI(或者保存为一个文件)。
“客户端数据流”指的是由客户端的图形驱动器所生成和发送的时序数据,图形驱动包括OpneGL ES和EGL模块等,应用程序调用的某些特定重要的API才会被跟踪,比如glDraw *等等。
PVRTune是唯一能够与我们的驱动和硬件通信的工具,它能够读取时序数据。
根据OpenGL ES和EGL客户端驱动所生成的内容我们进行检索和呈现的特性包括如下:
● API事件
● 相关有用的信息包括:
○ 目标渲染——包括像素格式、尺寸、深度/末班加载/存储操作、压缩等
○ 着色绑定——目前包括GLSL源码,以后会涉及更多
○ 材质信息
○ 更多信息
这意味着开发者能够在PVRTune GUI中查看应用层的API调用,比如glDraw*。通过我们的驱动(服务,固件等)开发者能够“跟踪”应用层的一系列信息,并且还能够控制硬件的执行。因此开发者能够查看应用程序是如何直接上传信息来影响驱动器和硬件操作的。这是GPU供应商第一次公开如此多的底层驱动和硬件信息。
还有什么?
我们还有很多事情要做!驱动器采用对象同步来确保驱动器的操作队列被GPU以正确的次序来执行。操作可以被对象同步机制所阻塞,直到上一步的操作完成并且释放相关资源,比如目标渲染等。
PVRTune Copmlete现在可以捕捉驱动器的同步对象并且以时间线(“操作队列”)的方式显示出来。如果同步数据可用,那么每个硬件核心比如tiler、渲染和计算等都会设置相应的操作队列。
时间轴队列能够让用户看到驱动器的所有操作是如何安排的,这些操作从客户端驱动到硬件都可以被跟踪。大多数情况下,驱动程序调度与执行的硬件之间会有一定的延迟,这个信息对开发者来说非常的有用,因为它可以帮助开发者诊断应用程序负载的管道阻塞问题,比如某个操作已经排队等待了很长时间,但是由于依赖的资源缺少而无法执行,这可能就会导致硬件的空闲。
那么之前的PVRTune呢?
PVRTune Complete将只能够在NDA环境下可用,“PVRTune Developer”仍然会进行开发来配合PVRTune Complete一起使用,并且像往常一样进行下载。PVRTune Developer具有很多与PVRTune Complete相同的特性,但是也减少了一些功能,尤其是与客户端数据流和对象同步相关的内容。
四月份“PVRTune Complete”将支持在Linux、Windows和OSX系统NDA环境下使用。
我对这些工具非常感兴趣!
你当然会感兴趣!如果你今年没来GDC大会现场并参观我们的展台,不妨将你的问题以邮件的形式发送给我们(devtech@imgtec.com)。你也可以在Twitter @ImaginationTech/ @PowerVRInsider、LinkedIn、Facebook和Google+上关注我们获取最新的信息。
全部0条评论
快来发表一下你的评论吧 !