支持Vulkan渲染器的Unity预览版发布
我们发布了Unity首个支持Vulkan渲染器的开发者预览版本。Vulkan是新一代的图形及计算接口,提供了更高的性能,对现在的移动和PC设备GPU实现跨平台的访问。谷歌最近发布的Android Nougat版本实现了对Vulkan接口的官方支持,而Unity也在努力让用户能将图形性能提升到一个新的层次。
使用Vulkan渲染器在Lunux上运行Unity Labs场景
打开“Play Settings…”,前往“Other Settings”,取消勾选“Auto Graphics API”以开启Vulkan支持。这样,您就会看到所有可选的图形API列表。如果Vulkan不在其中,则点击列表下方的“+”标志添加。随后,将Vulkan拖拽到列表的最上方,它将会在所有支持Vulkan渲染的设备上被启用。所有现有的着色器都会被翻译成Vulkan SPIR-V(除非一些通过#pragma only_renderers或者类似指令明确禁用的),并且能够“正常工作”。
注意!当目标平台为Android时,确保没有同时启用“Multithreaded Rendering”以及“Graphics Jobs (Experimental)”设置。他们是相互排斥的,并且在最终版本中我们会在开启Graphics Jobs时,自动取消Multithreaded Renderer选项。
现在,只需要build & run。如果一切运行正常,就可以在播放器日志中,打印启动时的部分看到以下内容:
Windows独立安装包 (编辑器中暂不支持Vulkan)
安卓
Linux独立安装包
在Windows上,我们主要测试了Nvidia和AMD的GPU。请您记得更新GPU驱动!Vulkan是一个新技术并且驱动也会持续更新,因此在提交crash报告之前,请先将驱动更新,看看是否修复了问题。
在安卓平台,我们测试了以下设备:
Samsung Galaxy S7(欧洲版,ARM Mali GPU架构)。确保是2016年8月后发布的最新固件。之前的固件带有老版本的驱动是无法工作的。
Nvidia Shield Tablet (两个版本),Shield Console。
Google Nexus 6P, 5X(虽然可能在这些手机上看到相比其他设备更多的问题)。
以下设备是现有固件无法工作的:
Samsung Galaxy S7(美版,高通GPU)。我们希望以后带有更新驱动的固件会修复这个问题。三星确保会在2016年10月下一个系统更新时,为基于高通的Galaxy S7发布一个修复Vulkan的驱动。
在Linux上,只测试了Nvidia 的GPU,您需要安装libvulkan1(无论是通过distro还是LunarG Vulkan SDK)以及最新的驱动(367.x或者更新的)。然而,我们发现在从启动画面进入游戏时,还是会随机挂起。因此,您在使用这个实验版本做测试时,可能需要考虑关闭Unity启动画面。
现阶段Vulkan上的Graphics Jobs还是实验性的。如果遇到崩溃,请您尝试禁用Graphics Jobs看看是否是它的问题。
Graphics Jobs暂不支持GrabPass。
在Nvidia的GPU中,当开启了MSAA(多重采样抗锯齿)并且渲染多了摄像机时,可能发生显示错误。
在Android设备上,Graphics Jobs现在只能运行在2个并发的线程上。因此,建议您选择使用Multithreaded renderer(这是现有的客户端线程渲染器),通常会获得更高的性能。
计算着色器还没有经过测试,就实际情况或各有不同。
希望大家乐于去尝试新的渲染器。请在论坛上联系我们进行反馈:哪些可以工作,哪些不行,哪些是您喜欢的而哪些不是。如果发现Bug,请通过Bug Report系统提交给我们(确保将它关联到Vulkan实验版)。我们特别感兴趣的情况是在Android上Vulkan渲染器比GL ES 3.X更慢或者在Windows上比DX11或者DX9明显地慢。
更多Unity相关的技术文章:
Vision VR/AR 亚洲峰会门票8折优惠中,购买从速哦。
VR Master Class 本年度最后一场正在报名中。