全面升级 PowerVR开发工具和SDK 2018 Release1联合发布

工程师谭军 发表于 2018-07-11 14:54:26 收藏 已收藏
赞(0) •  评论(0

全面升级 PowerVR开发工具和SDK 2018 Release1联合发布

工程师谭军 发表于 2018-07-11 14:54:26

PowerVR开发者技术团队非常高兴的宣布最新版本的PowerVR开发工具和SDK——2018 Release1正式发布。这是继去年我们发布的主要SDK框架大幅度重构后的又一次重要迭代。

首先,我们对SDK框架做了进一步改进,包括全新的示例和文档。当然,我们对整个开发工具也做了全面的提升和bug修复,从而让工程师的开发工作变得更加轻松,具体详情见下文介绍。

PVRTune Complete升级

全面升级 PowerVR开发工具和SDK 2018 Release1联合发布

然而,这次发布的重大新闻是PowerVR性能分析器PVRTune Complete的重大升级。在移动/嵌入式硬件平台上我们暴露的数据比之前要多,这对于性能优化起到了很大的推动作用。PVRTune Complete早在3月份的GDC 2018大会上就已经发布了,现在大家只要遵循NDA协议在线申请(https://pvrsupport.imgtec.com/)下载就可以使用了。

全面升级 PowerVR开发工具和SDK 2018 Release1联合发布

PVRTune Complete有哪些新特性?

我们对于PVRTune Complete的重大更新感到非常的自豪,PowerVR GPU性能分析工具的两个版本(包括PVRTune Developer)一直都为开发者提供GPU各种性能参数的实时可视化数据。开发者将体验到为PowerVR架构量身定制的快速高效的会话分析功能。

随着PVRTune Complete新版本的发布,你将能够获取比之前更加底层的硬件和驱动数据,这则是通过“API Awareness”来实现的。

“API Awareness”是如何工作的?

PVRTune Complete能够检索和展示API客户端驱动(比如OpenGL、EGL™)生成的各种事件。这使得开发者能够在PVRTune GUI中查看应用级的API调用(比如glDraw*)并且通过PowerVR驱动来跟踪一项操作的状态和在硬件平台上的执行情况。

通过这种方式,开发者能够在应用层直接看到一项任务是如何被提交的并且直接影响驱动和硬件的行为和性能。PVRTune Complete同样可以提供客户端驱动程序的其他信息,比如表面格式、大小和着色细节等。目前它支持OpenGL ES/EGL APIs,后续将很快支持Vulkan API。

这是移动GPU供应商首次暴露出这么多底层驱动和硬件的数据信息。

为了让这些底层数据信息更加容易理解,我们对UI也进行了改头换面,现在的导航栏相比之前更加的直观,数据展示的清晰度也得到了很大的改善。

那么PVRTune Developer有哪些改进呢?

PVRTune Developer仍然与PVRTune Complete是一同开发的,可以像其他开发工具和SDK一样进行下载。PVRTune Developer具有许多与PVRTune Complete相同的特性,包括UI升级,但是功能有些减少并且不包括上文提到的API Awareness等特性。

更多关于PVRTune Developer的信息可以访问https://community.imgtec.com/developers/powervr/tools/pvrtune/。

PVRTune Complete在遵循NDA协议的前提下可以在Linux、Windows和macOS系统上使用,欢迎直接与我们联系(https://pvrsupport.imgtec.com/)获得最新版本。

SDK架构和示例

SDK有哪些更新?

这个架构是我们上次发布的重点,版本从4.X升级到5.0,我们对OpenGL ES和Vulkan进行了分离,并且使后者更加容易使用,现在版本升级到了5.1,相关工作仍在进行中。

这次主要是关于过程的流线型化!

从表面上看,你注意到的第一件事可能是我们已经重构了SDK的层次结构,这样它更加的清晰和容易理解。然而如果你进一步深入,你将发现更多的内容。

我们已经删除了旧的编译系统用到的所有项目文件,并开始采用CMake,我们仍将继续支持Windows、Android、Linux、iOS、macOS、QNX系统,当然现在添加更多的平台也非常的容易。

Vulkan内存分配(VMA)在现在的框架中得到了支持和集成,我们的示例对此进行了广泛的使用

现在框架采用的是异常而不是返回码来表示错误,这让开发者在对错误进行处理时有绝对的控制权。异常的使用极大的降低了示例的复杂性,并去掉了检查和传输返回码的操作。

我们增加了对VK_EXT_DEBUG_MARKER和VK_EXT_DEBUG_REPORT的支持,对象可以在PVRVk中轻松的进行命名,以便在调试程序中显示用户选择的名称。

我们的渲染库PVRUIRenderer已经升级为使用间接绘图,这对于Vulkan非常的重要,它支持开发者直接修改文本元素,而无需重新记录命令缓冲区。

示例和文档

我们还想告诉大家的是我们重写了Vulkan初学者示例:HelloAPI和PVRShell介绍。如果你想从Vulkan开始学习,这里提供了全面的Vulkan API示例,并有详细的步骤说明。如果还不确定是否采用Vulkan,我们还编写了一份关于从OpenGL迁移到Vulkan的原因和方法的文档(http://imgtec.eetrend.com/download/16791)。

我们还提供了一个新的示例——Vulkan和OpenGL ES的3D导航,它展示了有助于导航应用的技术,比如遮挡剔除、地图处理的几何技术以及使用per-tile命令缓冲区(Vulkan)。

如果你在开发项目中还没有使用我们的框架,尤其是Vulkan,我们强烈推荐大家了解一下,因为它会带来很多好处,尤其是可以减少冗长的代码,而且我们提供了丰富的开发工具。你可以访问我们的Github主页或者从本文结尾提供的链接下载安装文件。

其他更新

PVRCarbon

如果你喜欢我们的API调用捕捉工具PVRTrace并且希望它支持Vulkan?很幸运!我们新推出了一个开发工具,目前仅是测试版,命名为PVRCarbon。自从PVRTrace首次推出后图形技术就发生了很大的变化,因此我们要抓住机会从头开始编写PVRCarbon工具。通过对速度和内存的优化,你会发现它的体验很不错。

开发者一直要求具备的主要特性之一就是能够支持导出C++,现在PVRCarbon已经支持这一点了。目前PVRCarbon只适用于单线程应用,它捕捉的API调用能够以C++形式导出,此外PVRCarbon支持Windows和Linux(X11、XCB 窗口系统),随着时间的推移我们将增加对其他关键平台和系统的支持,与此同时,如果有必要,你甚至可以手动修改C++。

PVRCarbon还不具备PVRTrace的完整功能,但是我们正在积极的开发它,在后续的版本中你将看到更多的特性,不仅具备PVRTrace最好的部分,我们还专门为PVRCarbon设计和开发新的功能特性。

如上文所述,PVRCarbon目前处于测试阶段,因此我们非常欢迎大家通过网站(https://pvrsupport.imgtec.com/)向我们报告bug和反馈。

其他一些细节

上文我们提到了一些重大的更新,但是也有一些小的改进,大家在以后的使用中会觉得很方便:

PVRGeoPOD现在已经增加了对物理渲染(PBR)材料的支持,用于3DSMax和Bledder。

PVRTrace现在可以使用DRM缓冲区在Linux上回放捕捉的Android本地缓存,而且现在也兼容Android P平台。

和往常一样在进行系统优化和bug修复时你可以查看更多的信息,你可以查看我们发布的文档材料。

不要忘记,您可以随时通过在PVRInsider支持论坛上(https://forums.imgtec.com/)提交问题和寻求帮助,目前该网站已经升级为一个更好的平台了,当然如果你对PVRTune Complete特别有兴趣也可以通过这个链接(https://pvrsupport.imgtec.com/)与我们取得联系。

我们对能够为用户提供免费的技术支持感到非常自豪,这同时也让很多的开发者感到高兴!

收藏

相关话题
文章来源专栏

评论(0)

加载更多评论

参与评论

分享到

QQ空间 QQ好友 微博
取消