Quantcast
Channel: 英特尔开发人员专区文章
Viewing all 583 articles
Browse latest View live

VRMonkey 提供的虚拟现实用户体验技巧

$
0
0

作者:Pedro Kayatt,一名对虚拟现实和游戏充满激情的英特尔软件创新者

摘要

多年以来,虚拟现实一直属于热点话题,如今,大家相信虚拟现实时代即将来临。您现在有机会进入一个全新的开发平台,但是您准备好了吗?

本指南介绍了开发虚拟现实时如何避免不愉快的经历。此外,我们还展示了经过测试的解决方案,这些解决方案由新媒体的一线开发人员所提供。

准备迎接新的旅程?

本文旨在介绍虚拟现实的最佳实践,涵盖了人们面临的主要问题,并提供了解决方法。

我们的方法包含若干条规则,首先介绍第一条规则,它是一条重要的虚拟现实 (VR) 规则:每条规则都有例外。随着大量新型虚拟现实设备的不断涌现,人们几乎不可能真正了解每台设备的优劣。考虑到这一点,建议您尝试一些不同的事物。

也就是说,这个领域内没有真正的专家,只有科学家,您应该像科学家那样应用一个明确的方法。反复尝试所有方法,让尽可能多的人参与,这点也非常重要。

请记住,每个人对虚拟现实的需求各不相同。有些人在玩游戏时喜欢到处跑和转圈,但是不会有任何不适;有些人看到视野 (FOV) 不佳的场景便觉得恶心,这种感觉甚至会持续一整天。

下面介绍第二条规则:不要造成玩家突然加速。多数游戏并非专为虚拟现实而设计,它们通过监控器创造加速的感觉。如果将其应用在虚拟现实游戏中,玩家会因为加速而感到不舒服,还会产生强烈的眩晕感。

请记住,在多数虚拟现实体验中,玩家通过头盔式显示器 (HMD) 观看摄像头捕捉的画面。如果玩家没有移动,就不要移动摄像头。摄像头震动亦是如此,为了创造被打或涉险的感觉,经常使用摄像头震动,但是会为玩家带来强烈的不适感,就像喝醉之后晃动脑袋。


图 1.加速会使玩家觉得非常恶心。

请不要忘记,盔式显示器 (HMD) 会增强玩家的空间概念,因此,大小和速度应该符合现实生活中的实际情况。例如,在 Half-Life* 2 中,正常的步行速度约为 17 千米/小时 [1],而现实世界中的步行速度约为 4 到 5 千米/小时 [2],两者差别过大。因此,创建角色的运动输入时,请注意避免上述问题。

事实上,虚拟现实中的所有移动都会产生不适感。目前,人们提出了众多建议,如使用传统的控制器,添加手柄或键盘,或创建移动元素(事实上,采用这个建议后,Resident Evil* 7 演示 [3] 的反响变差)。远距传动或 dash 移动等其他方法被视为更好的选择。

如果移动时间不足 100 毫秒,玩家无法察觉,也不会感到移动眩晕。这个方法的舒适感较强,但是由于玩家能从一个地方跳到另一个地方,容易使人失去方向感。某些方法显示玩家前进的方向,并且保持方向不变。

沿着轨道移动也是一个不错的方法,《Virtual Cop*》和《House of the Dead*》等老版街机游戏均采用了这个方法。设置参考点对避免网络眩晕来说非常重要,如果显示了头盔或驾驶舱内部,也能有效避免眩晕。

某些研究人员甚至添加了虚拟鼻子,用于提升虚拟现实体验的舒适感。这个想法不错。并非全部的虚拟现实游戏都需要嗅觉,但是这种用户界面特性有助于玩家轻松专注于无法移动的对象。

另一个常用的方法是应用连续移动。例如,玩家按下按钮后,开始在一个轴上移动,在移动头部或再次按下按钮之前,玩家始终沿着一个轴移动。

除了运动以外,虚拟现实应用中常见的另一个主要问题是帧速率。帧速率非常易于测量,如果游戏的帧速率无法保持在 90 fps 及以上,虚拟现实商店不会发布该游戏。

即使帧速率低至 45 fps 时,借助低延迟屏幕和异步时间扭曲 [4]、异步空间扭曲 [5] 等技术,我相信玩家仍能获得出众的游戏体验;请记住,移动设备(如GearVR* 或 Daydream*)的目标帧速率是 60 fps(目前受限于硬件)。


图 2.异步空间扭曲示例—基于插值 2 创建全新的帧。

尽管如此,帧速率仍不容忽略。尽管帧速率为 30 fps 时,游戏机游戏或其它游戏的视觉效果良好,但这并不意味着虚拟现实体验在如此低的帧速率中不受影响。帧速率降低会导致头部移动和游戏响应之间的交互变慢,玩家的视线变得模糊。相信我,长期暴露这种环境下会产生眩晕。

使用 HMD 带来的另一个变化是界面的摆放位置。如今,游戏界面提供了地图、弹药、敌人、教程等各种信息,遍布屏幕四周。玩家站在 5 英尺以外的地方注视 50 英寸的电视屏幕,或利用鼠标或键盘在 21 英寸的显示器前玩游戏时,不会产生任何问题。但是在使用虚拟现实头盔的情况下,需要慎重考虑界面信息的位置。

事实上,如果显示的内容与人眼的距离过近,便难以聚焦。因此,如果您想在界面中使用 2D sprite,至少需要将它放置在两米以外的地方。也可以尝试更自然的方法,例如,将界面覆盖在虚拟现实对象之上,《Tomb Raider*》、《The Division》等广受欢迎的游戏便采用了这个方法。这样使玩家与界面的交互变得更自然,结果更令人满意。

VR Display
图 3.在虚拟对象和玩家之间保持舒适的距离。

显示内容切勿离玩家过近,便于清晰显示界面和虚拟世界的全部对象。由于虚拟现实体验采用了立体视角,玩家通常躲避接近自己的对象,因此,关闭摄像头也是一个不错的方法。但是同时需要缩短这种交互的时间。注视近距离的物体会使玩家产生眩晕。

了解人体在现实世界中如何应对不同的刺激,这点很重要。例如,人类对视觉输入的反应时间通常为 250 毫秒,声音输入的反应时间为 170 毫秒,触摸输入的反应时间为 150 毫秒(如控制器的声音)。但是当环境变暗时,我们的反应变慢,可以在虚拟现实中应用这个理论。

也就是说,黑暗的虚拟环境使比明亮的环境更舒适,这是因为在现实生活中我们的反应速度更慢。快速的音频反馈也能提高体验的舒适度,学会使用特殊声音将为您的虚拟现实应用带来巨大的改变。

举例来说,《Virtual Barbershop》借助音频带来了虚拟现实体验。由于采用了双声道音频,可以表现(甚至通过立体声耳机)音源的不同位置。从双声道音频中获得的沉浸式体验会好很多,幸运的是,多数游戏引擎开始创建 3D 声音环境。


图 4.双声道音频和立体声音频的区别,前者创造了更强大的沉浸式环境。

另一个重要问题是不要显示玩家的身体。您可能会问为什么,原因有以下几点:首先,玩家不是观众,而是游戏的参与者!玩家的代入感会更强,举例说明,女孩玩游戏时不会把自己当作健壮、平胸的男士。

除此以外,新推出的一些非常棒的工具支持玩家以不同的方式参与游戏,如使用空间定位虚拟现实、手动控制或游戏台。设想一下玩家的差别,玩家参与游戏的方式各不相同,如何分析玩家的行为?


图 5.请记住,玩家不喜欢墨守成规。他们会以自己喜欢的方式玩游戏。

说起控制器,可以将双手设置为控制器,可以采用几项技术来实现该目标,最常用的技术包括 Leap Motion* [6] 和虚拟现实主要平台的运动控制器(Oculus Touch* 和 HTC 控制器)。它们的精度极高,确保了与环境的完美交互。

这些技术彻底改变了常见的交互方法,但是每位玩家第一次进入虚拟世界时,他们的第一反应便几乎都是用手触摸物体。

事实上,这些行为都是自然发生的,比使用智能手机的触摸控制更简单。如果您看过网上的视频,您会发现老年人(而非猴子)使用虚拟现实设备时几乎没有遇到任何问题,他们一般尝试用手来触摸与互动。

您是否感觉到有些角色的面貌很奇怪,甚至是错误的?这可能与恐怖谷有关。恐怖谷指的是我们如何将仿真人视为机器人或人类;与人类外形一致,但稍有差别的事物能引起我们的强烈反感。[7].

为什么恐怖谷理论对于虚拟现实如此重要?基本上,该理论对每个游戏都非常重要,但是由于虚拟现实的性能存在一些问题(至少需要保持 90 fps 的帧速率),不得不省略了若干图形细节,通常还会删除动画和多边形。最终,角色的面部看起来不真实、不健康,产生了恐怖谷效应。尽量避免恐怖谷!


图 6.恐怖谷[8],与人类相似的外貌会令人毛骨悚然。

总而言之,由于虚拟现实是一门科学,必须采用科学的方法来研究。这意味着您必须反复实验,提出新的假设,利用原型来验证假设。请不要忘记记录成功和失败的地方,尝试进行调整,但不要太执着于某个实验,标记为失败后继续探索新的想法。

结论

我们正在进入虚拟现实的新世界,那里有无限的可能,所以请不要固守某些想法,如“我的游戏必须是第一人称”或“不应该用模拟摇杆控制角色的移动”。尝试得出新的结论。如果您想尽快得出结果,请采用大家所熟知的方法,如果您想获得新的成就,就不要害怕尝试。更多信息请参阅参考资料文档 [9]、[10] 和 [11]。

参考资料

[1] E. D. Van Der Spek,《电脑眩晕症对虚拟环境情感评估的影响》,Organization,2007 年。

[2] N. Carey,《确定行人步行的速度》,no. 503,2005 年。

[3] J. Conditt,《虚拟现实版“Resident Evil 7”是一部紧张刺激的杰作》,Engadget,2016 年。[在线]. https://www.engadget.com/2016/06/15/resident-evil-7-vr-sickness-ps-vr/.

[4] M. Antonov,《经过检验的异步时间扭曲》,Oculus,2015 年。[在线]. https://developer3.oculus.com/blog/asynchronous-timewarp-examined/.[访问时间:2017 年 3 月 23 日]。

[5] D. Beeler, E. Hutchins 和 P. Pedriana,《异步空间扭曲》, Oculus,2016 年。[在线]. https://developer.oculus.com/blog/asynchronous-spacewarp/.[访问时间:2017 年 3 月 23 日]。

[6] L. Motion,《体感控制器》, URl. https://www.leapmotion.com,2015 年。

[7] R. Schwarz,《恐怖谷效应的 10 个恐怖案例》。[在线]. http://www.strangerdimensions.com/2013/11/25/10-creepy-examples-uncanny-valley/).

[8] M. Mori、K. F. MacDorman 和 N. Kageki,《恐怖谷》,《IEEE Robot.Autom.Mag.》,第 19 卷,第 2 章,第 98–100 页,2012 年。

[9] P. O. Luanaigh 和 R.“fabs”Fabian,《虚拟现实注意事项背后的原因》, nDreams。[在线]. http://malideveloper.arm.com/downloads/ARM_Game_Developer_Days/LondonDec15/presentations/nDreams_VR_presentation.pdf.

[10] D. Allen,《提高虚拟现实舒适度的 10 大注意事项》

[11] M. Rose,《虚拟现实游戏设计注意事项》


来自 Underminer 工作室的虚拟现实优化建议

$
0
0

简介

本文介绍了如何充分提升虚拟现实 (VR) 项目的性能、视觉效果和设计功能。本文主要讨论了特定的虚拟现实问题,多数问题的起源可以追溯到核心优化领域,如多边形数量、常见的性能错误以及如何应用更高效的质量解决方案。由于我们正在编写虚拟现实模式,我还会与您分享教科书上没有的技巧、方法和专业建议。

从本质上看,尽早且经常优化更为简单。设想一下在火车上维持一架十字形跷跷板的平衡,跷跷板的每个座位上都有一枚针,针上有一个保龄球。4 个保龄球分别代表了项目的 4 个负载:封装尺寸、CPU、GPU 和 RAM。火车代表了项目中不断变化的其他部分。由此可以得出,这个过程是一个不断平衡的过程,必须了解所有的移动部件,才能更全面地分析这个项目。

了解这些优化对象的原理非常重要。为了更好地解决每个资产所面临的性能优化问题,需要与设计人员、编码人员和美工沟通,了解他们的技术。如果您知道设备的组装方式,便可以将它拆卸,了解如何提高各个零件的协作效率。花费精力进行优化有助于发挥每个游戏的独有优势。

优化前

优化后

入门指南
尽管虚拟现实提供了许多新的机遇,但是大多数项目采用了前几代的视觉效果。本文介绍了虚拟现实面临的挑战,开发人员应对挑战的措施,以及怎样帮助开发人员应对挑战,本文从开发人员的角度入探讨了性能。读者需要深入了解游戏引擎技术,对充分利用系统功能非常感兴趣。本文主要介绍了自动系统的管线创建,以优化资产,利用与优化相关的高级技术。本文不是一篇标准的游戏优化概述;游戏优化方面的资源已经非常丰富。本文的重点讨论了“需要优化数千个资产但是人手不够”和“正在尽力优化但帧速率仍旧很低”两个主题。我们从概念、代码和流程入手详细说明了这两个主题,以使您的项目运行速度达到最快。

首先,我们介绍了虚拟现实速度下降的原因以及应对措施。参阅以下文章获取关于总体优化的更多信息,了解如何确定瓶颈以及寻找最佳实践。

https://software.intel.com/zh-cn/android/articles/unity-optimization-guide-for-x86-android-part-1

https://software.intel.com/zh-cn/articles/performance-analysis-and-optimization-for-pc-based-vr-applications-from-the-cpu-s

为什么虚拟现实计算成本如此高昂?

目前,影响虚拟现实性能的因素主要有 3 个:虚拟现实体验、更新率和多屏幕渲染。有些问题比其他问题更棘手,因此,我们对每个问题进行深入讨论。

虚拟现实体验
每个虚拟现实系统都会进行某种形式的跟踪,Vive*、Rift* 和 PSVR* 建立了跟踪站,可以快速计算玩家在 3D 空间中的位置/旋转和配件,还会在 1/90 秒甚至更短的时间间隔内计算预测信息。例如,如果玩家正在前行,系统预测此人将继续前行,电脑必须计算,但是计算不是免费的。

另一个问题是跟踪速度。每个系统的跟踪速度各不相同,某些系统的扩展性略低,跟踪速度和帧速率之间丢失的数据全部返回预测信息。Vive 基站每 4 毫秒更新一次,Rift 被帧速率锁定,但是不管怎样,如果对象的运动超过一定的速度,而预测无法跟踪对象,对象会在 1/90 秒内被认定为延迟。

在 Vive 中调整图像和复合 chaperone 等也会带来问题。某些系统中,来自 OSVR 的复合占用了所有内核。

开发人员应该怎样做?
就目前来看,能做的不多。许多问题都和虚拟现实硬件密切相关,只有更新了硬件版本才能解决这些问题。我们的长期目标是开发能够自行支持整个体验的头盔。

更新率
现在我们来讨论这个“无足轻重”的问题。多数 AAA 游戏的帧速率在 30 到 60 FPS 之间。运行虚拟现实游戏的帧速率为 90 FPS,高出三分之一。问题不算太严重,是吗?不幸的是,问题要复杂得多。多数系统确实借助二次投影特性来处理偶尔发生的 FPS 故障,但是稍后系统将默认降至下一个帧速率级别。如果您无法提供处理的扩展空间(特别在 Vive 中),应用将完全降至下一个帧速率级别。如果系统长期以低于 90 FPS 的帧速率运行,将会降至 45 FPS 级,只有良好结果达到一定数量,才能重新上调级别。这意味着您的理想帧速率为 100–110 FPS,才能确保当屏幕上出现 45 颗头的反派,而且无法匹配大量的 45 FPS 时,有充足的扩展空间。因此,帧速率必须提高三分之一,对吧?

除此之外,还有一个常被忽略的因素 — 驱动程序计时。在开发人员看来,游戏是技术世界的“洗发露”。数据从 CPU 传输到 GPU,最终在屏幕上显示。经历了类似于涂抹洗发露、冲洗泡沫和反复清洗的过程,游戏便产生了。这些小切换不断累积,最终形成高昂的成本,限制了整个体验。以下链接显示了在优化过程的某个阶段,驱动程序成本占整个体验的 38.5%。

https://software.intel.com/zh-cn/articles/performance-analysis-and-optimization-for-pc-based-vr-applications-from-the-cpu-s

开发人员应该怎样做?
为了提升帧速率,开发人员需要优化平台,优化游戏(我们稍后会介绍)需要良好的性能开销,才能成功创建出色的体验。DX12*、Mantle* 和 Vulcan* 正在率先对抗这个问题,可能为驱动程序带来一些新的可能。希望未来会对特性进行更新,创建新的驱动程序和硬件芯片组。如欲了解更多的优化实践,请访问:

https://www.pcper.com/reviews/Editorial/What-Exactly-Draw-Call-and-What-Can-It-Do

多屏幕渲染
这个问题非常令人头疼。所有虚拟现实头盔均包含多个屏幕,每只眼睛分别对应一个屏幕。其微小的视觉偏移量能带来深浅的错觉,使用户相信他们身处珠穆朗玛峰,而不是穿着短裤坐在伦敦的公寓中。目前,我们为双眼分别连接了两个独立的摄像头,以创造视觉存在感。双摄像头和其它效果(如法线图和基于 sprite 的粒子系统)使需要绘制的对象数量增加了一倍。当然,这并不意味着开销仅为 50%,为了显示纹理,绘制调用渲染摄像头的次数是原来的两倍,这是一个非常庞大的任务。帧速率高于 90 FPS 时,绘制调用增加了一倍,纹理被渲染了两次,而非一次,同时跟踪和管理跟踪开销。真正的问题在于每只眼睛相当于平均尺寸的 1080p 高清屏幕,像素为 2160x1200(每只眼睛 1080x1200)。抗锯齿 (AA) 也给系统带来了繁重的负担。由于虚拟现实游戏必须戴上头盔体验,它们对抗锯齿特性的要求比普通游戏更高。

开发人员应该怎样做?
目前,已经实施了一些新特性,还有一些正在实施。其中,基于性能的屏幕尺寸与 AA 的组合将在所有游戏中实施。这个概念非常易于理解:当游戏出现卡顿时,缩小屏幕尺寸,降低 AA。第二个方法是一秒内多次刷新 GPU,确保 GPU 处理更多的任务。实例化立体渲染选择场景中的某个对象,在 CPU 上针对一只眼睛准备所有信息,打包、转换信息以弥补另一只眼睛,然后进行渲染。请访问以下链接了解该技术:

https://docs.google.com/presentation/d/19x9XDjUvkW_9gsfsMQzt3hZbRNziVsoCEHOn4AercAc/edit#slide=id.g57948245f_046

注视点渲染技术选择和放大用户视线中的重要对象,缩小和虚化不重要的背景图像。这项技术能进一步减少每个头盔向屏幕输出的数据大小。径向密度屏蔽每隔一个像素进行渲染,生成棋盘图像,邻近像素提供缺失像素的相关信息。观看以下视频,Valve 公司的图形工程师 Alex Vlachos 将向您介绍上述话题的更多信息:

http://www.gdcvault.com/play/1023522/Advanced-VR-Rendering

Valve 实验室在针对 Unity* 进行渲染时实施了多项技术,提供了绝佳的项目示例。

未来的解决方案

更高效的软件和硬件
多数开发人员正致力于升级游戏引擎的功能,以充分利用多核 CPU。多线程已在软件应用领域流行了一段时间,但是对于多数游戏平台而言,这是一项新兴技术。当前一代 GPU 已经在 PC 端提升了虚拟现实的性能,但是头盔显示器 (HMD) 制造商可能进一步优化该性能。如今,绝大多数头盔采用了虚拟系统,以导入提供的图像。新一代头盔将拥有独立的处理能力,以处理位置信息和立体渲染,在帧速率较低时进行二次投影。

面向移动市场的优质散热系统
对于当前的移动平台(包括笔记本电脑和小型电脑)而言,CPU 是主要瓶颈。与同类的台式机甚至笔记本电脑相比,这些设备的性能较低,无法充分发挥全部的潜力。到目前为止,手机部件无法满负荷运行(任意时长都不行),面向通话时间、电池使用寿命和部分游戏性能进行了优化。造成了极低的绘制调用数量和顶点数量。

径向密度屏蔽
本方法渲染了相隔的像素,并使用相邻的像素填充缺失的信息。本方法小幅提升了性能(在某些示例中性能提升了高达 10%),发挥了一定的作用。如下所示,如果此方法与注视点渲染相结合,将显著提升性能,同时不影响感知体验。

http://arstechnica.com/gaming/2016/03/how-valve-got-passable-vr-running-on-a-four-year-old-graphics-card/

注视点渲染
如果用户没有关注某个对象,注视点渲染不会对它进行详细渲染。当前版本为固定注视点渲染 (fixed foveated rendering)。放大位于中心的三分之一部分,缩小其余三分之二部分。随后将发布更先进的技术,包括基于感知的注视点渲染和基于目光的注视点渲染。基于感知的注视点渲染根据场景中心的对象的重要程度来确定对象的细节。基于目光的注视点渲染通过视线跟踪渲染重要的区域。上述技术可以结合多种技术,如基于视野的景深和基于视点的细节层次 (LOD)。硬件开发人员在提升设备的计算能力时(如 HMD 制造商示例所示),可以借助该特性避免跟踪的开销成本。

遗憾的是,由于硬件、软件和平台存在限制,这些技术无法满足开发人员的创新需求。在多数情况下,单独使用某个解决方案时会在系统的其他位置引发瓶颈。例如,实例化立体渲染可以使 GPU 工作负载增加至 257%。

https://forums.unrealengine.com/showthread.php?110953-Instanced-Stereo-Rendering-increases-GPU-time-up-to-257-why-such-a-huge-performance-decrease

其它解决方案可能为存在瓶颈的领域带来性能问题。了解项目的需求非常重要,例如,如果您的应用占用了大量的 CPU 资源,优化 GPU 不仅浪费时间,而且无法发挥应用的最佳性能。

开发人员如何优化项目?
很明显,当前的技术存在不足之处,但是虚拟现实带来的多数问题和电子游戏中的轻微扭曲一样,我们可以利用已知工具来解决这些问题。熟悉移动游戏开发的开发人员可以使用已知的优化技术,如拼合、大规模着色器优化和多数(即使不是全部)纹理的烘焙。即使您有丰富的开发经验,您的项目极有可能是一个 GPU 密集型项目;也就是说,除非开发移动游戏,使用笔记本电脑或小型电脑生成虚拟现实,否则,热量控制会对性能构成重大问题。由于受到 GPU 设计实施方式的限制,除非您拥有极速的 CPU(如第七代智能英特尔® 酷睿™ i7 处理器或更高配置),GPU 将是长期存在的瓶颈。高端的 CPU 提供的计算能力将有助于您最大限度地提升性能,为负担繁重的 GPU 分担部分任务。这是当今游戏开发过程中反复出现的问题:一个 GPU、一个屏幕、延迟渲染和屏幕空间效果。GPU 主要忙于对双眼进行渲染,因此,了解如何优化 GPU 更为重要。由于性能的限制,Oculus 不建议应用全屏效果。

英特尔® 图形性能分析器能帮助您分析项目
评估项目占用的 CPU 或 GPU 资源至关重要。可以使用 英特尔® 图形性能分析器 (GPA)评估项目的状态,该工具在单个程序包内提供性能分析。请访问以下链接,获取该关于工具的更多信息,包括英特尔员工 Seth Schneider 制作的一个视频。

点击此处下载:
https://software.intel.com/zh-cn/gpa
点击此处,了解更多信息
https://www.twitch.tv/intelgamedev/v/89218972
点击此处,了解更多信息
https://software.intel.com/zh-cn/gpa/documentation

多边形数量

问题分析
过去,多边形数量并未给游戏带来任何问题;系统可以毫不费力地处理数百万个三角形。最新版 PC 可以轻松处理数百万个三角形,但是在虚拟现实项目中,熟练的专业人员也很难处理三百万个三角形。多边形数量优化分为两种类型: LOD 版本和原始版本。

如何确定
通常项目本身不受多边形数量的限制。由于填充率、实时光照和着色器复杂度等因素的制约,减少多边形的数量非常有用,上述因素限制了出现在屏幕上的多边形数量。查看屏幕上的超量绘制数量,以了解填充率。如果存在大量的超量绘制, 优化多边形会有所帮助。如果您的项目中存在许多实时光照,每条光线都会对多边形进行单次正向渲染(推荐在虚拟现实中采用该渲染路径)。如果您的项目布景考究,着色器复杂度能显著增加多边形数量,建议您在虚拟现实中使用移动着色器。您需要开动大脑,使游戏变得美观。减少多边形数量可能会轻微降低着色器的质量。

应对措施
如果团队成员能够完成手动操作,请务必选择手动操作。如果您有充足的资金,可以使用 Mixamo 提供的 Simplygon* 或 Decimator*。还可以采用另一项技术快速、批量处理多个资产,根据您的使用案例产生高质量的结果。请记得使用版本控制,这是因为全面优化不适用于全部资产,需要您返回以进行更多优化,消除中心对象的优化。

import pymel.core as pm

#lets get all the objects by the type of geometry
pm.select(pm.listRelatives(pm.ls(geometry=True), p=True, path=True),r=True)
objectsToReduce = pm.ls(sl=True)

for objectToReduce in objectsToReduce:
    pm.select(objectToReduce)
    pm.polyReduce(percentage=35, version=1)

LOD

问题分析
LOD 带来了几个问题:上文描述的顶点数量受限和绘制调用数量受限。LOD 能够创建存在于背景中的低版本对象,为场景效果带来新的突破。例如,我们的前方有一个长了 45 颗头的怪物不断逼近,背景是一个茶壶。这是一个中心茶壶,一个包含 6 个绘制调用的 2k tri 特写:颜色、法线图、高度图、高光图和烘烤环境光遮蔽。长着 45 颗头的怪物在您面前,茶壶在房间另一头。应该从何处减少细节?从怪物那里着手,对吗?LOD 帮您解决这个问题。

Unity 的图像属性。

如何确定
很明显,LOD 不可能适用于所有场景和对象,使用 LOD 组件有时会影响性能。为了正确使用 LOD,寻找密集对象和拥有许多绘制调用的对象,如包含许多对象的大房间或开放空间。由于人们通常会关注单个对象,如果场景中只包含几个对象,LOD 的效果更加明显。在这种情况下,运行几个绘制调用后使用 LOD 进行优化完全是浪费时间。如果场景又小又挤,也不适合利用 LOD 进行优化;小幅移动便会引起 LOD 的变化。每次变化都会消耗成本,成本会逐次累加,所以,请合理使用 LOD。

应对措施
成功部署的 LOD 任务包含 3 个方面:优化的模型、优化的材料和优化的着色器。我们以细节繁多的特写为例,如分辨率很高的茶壶。使用细节图将显示逼真特写和粗糙特写的区别。PBR 等着色器效果出众,有助于展现主角的奶奶非常喜欢这个茶壶。如果茶壶距离拉远,使用法线图和高度图,并将顶点数量减少 50% 左右。如果茶壶位于房间的另一头,将着色器改为移动,再次降低顶点数量。

import pymel.core as pm

#remember to select an object
reductionPrecentages = [0,10,20]
nameOfLODS = []
selectedObject = pm.ls(sl)

for x in range(0,ReductionPrecentages.length):
        newName = (selectedObject + "_LOD[%s]")%(x)
        pm.duplicate(newName)
        pm.parent(selectedObject)
        pm.polyReduce(percentage=reductionPrecentages[x], version=1)

本脚本更新非常适用于 Unity,甚至可以为您创建 LOD 组件。我们将脚本更改为 for loop,将优化数量设置为变量,并在后缀名称中添加了和 _LOD[variable] 相同的变量。循环您所需的大小列表,通过 FBX 导出,导入 Unity 和 viola,便可成功创建 LOD 组件。

对象数量

问题分析
由于对象数量不包含减少的对象数量,因此,它是优化面临的一个严重问题。请看以下纹理拼合,面向绘制调用而优化也非常重要。

Unity 的图像属性。

如何确定
再次以茶壶为例,我们添加了一整套茶具,因此,需要渲染形状各异的大量对象,每个对象的材料和纹理各不相同。优化这些对象需要使用拼合的不同版本:不通过拼合而结合,通过拼合而结合,以及通过 LOD 拼合进行低级别结合。

不通过拼合而结合的技术意味着能够整合几乎所有的纹理,优化了几项性能。由于该技术将所有要素渲染为单个对象,并将整个茶壶绘制成网格,因此,对降低超量绘制非常有用。

如果虚拟现实游戏中需要结合不同的资产,通过拼合进行结合技术能有效满足该需求,这是因为该技术可以对纹理进行拼合,几乎不耗费成本。对象缺乏特写细节时,可以借助该项技术结合对象。拼合纹理可以显著提升性能,因此,整套茶具是同一个对象,材质完全一样。该技术的主要优势在于只需要 6 个绘制调用,缺点是由于每种材料对应不同的细节图,因此,茶壶或茶具的细节消失了。

通过 LOD 拼合进行低级别结合技术在较低的 LOD 级别上整合不同对象,保持材料的多样性,同时增加了成本。该技术保留了资产的众多细节,同时支持在茶具的整合版本和原始版本之间进行快速的资产转换。如需捡起茶具,该技术能发挥极大的作用。

应对措施
结合的方法非常简单,只需在 Unity 中运行以下脚本,脚本来自面向 Mesh.CombineMeshes 的 Unity 文档。

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(MeshFilter))]
[RequireComponent(typeof(MeshRenderer))]
public class ExampleClass :MonoBehaviour {
    void Start() {
        MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
        CombineInstance[] combine = new CombineInstance[meshFilters.Length];
        int i = 0;
        while (i < meshFilters.Length) {
            combine[i].mesh = meshFilters[i].sharedMesh;
            combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
            meshFilters[i].gameObject.active = false;
            i++;
        }
        transform.GetComponent<MeshFilter>().mesh = new Mesh();
        transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
        transform.gameObject.active = true;
    }
}

由于通过拼合进行结合的方法耗时很长,建议您使用 Mesh Baker*,可以为您节省数小时的时间。如欲在 LOD 中应用长时间结合和拼合,建议使用 Mesh Baker LOD。请访问以下链接,了解更多信息。

https://www.assetstore.unity3d.com/en/#!/content/5017
https://www.assetstore.unity3d.com/en/#!/content/12276

如果您想创建最高级的技术,同时保持最强的控制,需要加倍发挥您的创造力。理念是在每个对象的每个独立模型中导出 LOD。利用 Mesh Baker 将最高分辨率的网格结合在一起,无需整合它们的纹理。为了优化移除某些纹理后,利用 Mesh Baker 优化中等分辨率网格。对于最低分辨率网格,将所有着色器降至最低,然后开始整合。技术越先进,耗费的时间越多,但是能节约大量计算。

绘制调用

问题分析
绘制调用(或更为重要的 set pass)是数据从管道一端传输到另一端的成本。简而言之,set pass 指的是一个从 CPU 传递至驱动程序,最终到达 GPU 的数据集。set pass 的数量越少,复杂度越低越好。优化 set pass 的最简单的方法是优化不同的材料、拼合纹理,减少二级纹理的使用,如高度图、法线图和镜面反射度。我之前已经简单提到了 set pass 的优化方法,下面将详细介绍。

如何确定
寻找共享同一个着色器的对象,这种对象的优化效果最理想。在本示例中,整套茶具使用了同一个着色器。然后查看二级图,确定细节繁多的对象,如茶壶。我们没有办法一直优化中心对象,但是最好密切关注,以免它耗尽全部资源。最终,如果对象使用较小的纹理,将它们整合为一个大型纹理,效果将会非常显著。结合我们的示例,思考每个盘子拥有不同的纹理。将纹理整合到一个图集会减少绘制调用的数量。

应对措施
如果对象的着色器高度相似,几乎无法通过肉眼察觉到差别的话,通过更改、匹配它们的着色器,可以结合不同的对象。如果对象距离较远,而且不可用,保留微小细节将造成资源浪费。如果从来没有戴上头盔查看资产,虚拟现实游戏中可能存在过多细节,这些细节通常会导致画面模糊,无法观看。

因此,戴上头盔体验游戏效果非常重要。请记住,早期发现的资产可能占用了大量资源。如果资产不够明显,将它删除;如果资产可见,尝试整合纹理。尽管转换会消耗更多的硬盘空间和 RAM,但是就算没有填满整个图集,也值得尝试。将纹理拼合为一种材料(未整合网格)确保更灵活地设置细节。

另一个方法是创建一个高度混合的自定义 LOD 系统,该系统中的对象可以独立运动,到达一定的距离后,整合成一个对象,然后由 LOD 系统接管。请注意,您的结果可能有所不同,整合后的性能可能低于独立运行的性能,在受到填充限制且 CPU 空间充足的情况下,可以采用该方法。

纹理整合是一个众所周知但不受重视的方法,该方法和拼合不同,它是将灰度图像的纹理整合为单一颜色的图像。例如,茶壶包含 AO 图、高光图和高度图。如果将 AO 置于红色通道,高光图置于绿色通道,高度图置于蓝色通道,可以利用一个绘制调用将它们整合在一起。现在,您必须确保着色器相互匹配,这是低级别优化的关键。

  1. 选择层。
  2. 进入通道。
  3. 删除绿色和蓝色的通道,生成一个纯红色通道。
  4. 返回层对话框,重复上述操作,创建一条绿色通道。
  5. 再次重复上述操作,创建一条蓝色通道。
  6. 尽情创建吧!

Gimp 团队的图像属性。

烘焙灯光和环境光遮蔽

问题分析
我们已经看到,虚拟现实中所有的计算都需要进行预计算。维持游戏的运行几乎耗费了一个 CPU 内核,GPU 利用空闲时间加速,同时处理两个游戏。这意味着您必须尽力烘焙。几乎不可能实现实时全局照明,实时照明会让您立即陷入麻烦。

如何确定
几乎所有对象都需要光照贴图,不需要光照贴图的对象接收实时阴影,不一定必须是阴影。参阅下文了解更多信息。查看 Valve 实验室的渲染,以了解如何在场景中使用灯光。

应对
我们要完成几项任务,首先,烘焙所有照明。遗憾的是,在最新版 Unity 光照贴图中,如果屏幕较大且流程没有成功的话,烘焙十分困难。建议您将全部资产导出到数字内容制作程序,如 Maya*,然后烘焙您的背景图和环境光遮蔽。创建优质的光照贴图不在本文的讨论范围内。以下是 Maya 提供的 Turtle* 知识库,也是我的个人最爱,下面的是 Substance* 提供的环境光遮蔽知识库。

Autodesk 的图像属性。

https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/ENU/123112/files/turtle-html.html

Allegorithmic 的图像属性。

https://support.allegorithmic.com/documentation/display/SPDOC/Baking

缺点是还需要创建着色器以提供支持,但是 Valve 着色器的快速组装能为您节省不少时间,实现了着色器的最佳优化。

实时光照阴影完全不需要阴影,只需利用光照方向在地面投射虚假阴影,这些阴影无非是拼合而成的动画纹理(与角色动画相匹配),或者利用更简单的技术创建能调节角度的老式 blob 阴影。让人惊讶的是,几乎没有人会察觉。

着色器

问题分析
对于优化而言,着色器是“万恶之源”。很少有人会编写着色器,引擎自带的着色器一般不包含应用优化。最好的办法是使用着色器的移动版本或想办法创建着色器。

如何确定
如果着色器包含 4 个以上插槽,而且您创建的对象不是中心对象,着色器可能没有面向您的应用而优化。对于虚拟现实中的非中心对象,颜色、法线图、闭塞和光照贴图是必不可少的。

应对措施
您可以利用着色器的移动版本进行优化,但是最好的方法是学会编写着色器。其实没有那么难学,您的成果会证明付出都是值得的。

遮挡剔除

问题分析
您可能不知道在 Unity 游戏中,剔除在默认情况下开启,视锥剔除将剔除摄像头视锥视线以外的全部对象。下一步使用遮挡剔除,以茶具为例,如果茶壶在银器的前方,打开遮挡剔除后禁止绘制银器,这个功能非常实用。

如何确定
该技术适用于封闭区域,如房屋或建筑物内,但是如果您身处开放区域,对象之间有重叠,使用该工具会降低性能。

应对措施
就开销而言,遮挡剔除有利也有弊。我认为,对于摄像头查看的无关事物,无需担心剔除。例如,在一栋房子里,您站在车库向厨房张望。桌子上有一套茶具,您和茶具之间隔着一堵墙。游戏通常会渲染茶具,由于墙的阻隔而丢弃渲染。应用遮挡剔除后,生成预计算网格,能感知视线范围内的全部对象。摄像头发送射线以检测能看到的事物,碰到边界后,便不会对视线外的对象进行渲染。建议您在标准设置下尝试该技术,查看是否有用,标准设置的速度非常快;如果并非如此,设置为渲染,然后就可以去忙别的事情了。如果您已经看到了改观,开始测量并计算所有对象的实际大小。

最后一项新技术
混合 mono 渲染是一项新技术,可以立即添加该技术。基本理念是对近距离的对象进行立体渲染,远距离的对象只渲染一次。

https://developer.oculus.com/blog/hybrid-mono-rendering-in-ue4-and-unity/

结论

希望本文能为您带来关于开发虚拟现实这一全新平台的新想法。

在 Unity 中进一步优化虚拟现实
https://unity3d.com/learn/tutorials/topics/virtual-reality/optimisation-vr-unity

在 Unreal* 中进一步优化虚拟现实
https://developer.oculus.com/blog/introducing-the-oculus-unreal-renderer/

非常感谢英特尔创新者计划对本文的支持,在创新者计划的帮助下,我们致力于改善最佳实践。

关于作者

Tim Porter 是 Underminer 工作室的虚拟现实和 PC 图形开发人员。他的技术美工背景有助于统筹优化全局,他在前沿图形技术积累的丰富经验使他掌握了大量的方法和技巧,与大家一起分享。请发送邮件至 Tim@UndeminerStudios.com,与他取得联系。 

在 GamesBeat 峰会采访科幻小说作家 Austin Grossman

$
0
0

Kim Pallister, VR expert at Intel, and sci-fi author Austin Grossman at GamesBeat Summit 2017

现代虚拟现实市场刚刚起步,但在小说中,虚拟现实世界的想法已经存在了数十年。

Austin Grossman 是一位科幻小说作家,他曾写过《You: A Novel》等科技惊悚类小说。他也曾帮助编写游戏,如 PC 经典游戏《杀出重围》和《网络奇兵》,以及最新的《羞辱》系列。今天,在加利福尼亚州伯克利举办的 GamesBeat 峰会上,Grossman 在台上了接受英特尔虚拟现实专家 Kim Pallister 的采访,畅谈过去的科幻故事如何能够告诉我们有关虚拟现实的未来,以及我们如何努力实现这一未来。

Grossman 提到了《雪崩》、《一级玩家》等小说,这些小说均以虚拟现实社会空间为特点。过去,这些想法只能在科幻小说中看到,但现代虚拟现实设备和在线游戏使得这些想法更接近现实。但 Grossman 说,我们其实就像小狗,赶上一辆车,却不知道该怎么办。

VR 不仅是小说中人们每次使用 10 分钟的娱乐体验,Grossman 说道。它是社会中不可或缺的一部分,人们用于工作,也用于娱乐。它还是一个工具,用于逃离反面乌托邦噩梦。在《一级玩家》中,许多人生活在由拖车房屋组成的摩天大楼聚集区。小说的主人公将尽可能多的时间投入到虚拟现实,利用虚拟现实获得他在真实世界中没有的东西:朋友、教育和冒险。

这可能会给我们的 VR 未来造成威胁。如果人们利用未来的虚拟世界逃离真实世界,该怎么办?我们可以为了更明显的数字错觉而放弃地球以及我们与地球的关系吗?

所以,小说中提出的 VR 的未来可能会令人不安。但小说并不是一切都对。在《黑客帝国》中,人们需要进入隔舱或其他收缩性设备才能与虚拟世界相连(而且大部分人被囚禁,能量被邪恶机器人吸走)。但我们不使用神经接口。

Grossman 说道:“很高兴我们弄错了。”实际 VR 有玩家四处移动。他说,这使得 VR 更加精彩,少了令人恐惧的反面乌托邦。

Grossman 提到,要制作令人享受的虚拟现实体验,需要世界建构这一关键技能。为了给小说创造一个世界,他需要花费两或三年的时间进行规划。但对于现代虚拟现实游戏,更多工作投入在体验设计和编程方面。对叙事、角色和历史的关注较少。这些因素会使得人们爱上并且想要生活在虚构世界。

IP 许可是一种欺骗,Grossman 表示。它为您提供一个观众们都喜欢的眼前的世界。VR 设计师需要自己创造新的世界。最近的星际迷航:舰桥船员就是一个很好的例子。除了玩游戏,人们享受游戏仅仅是因为这让他们身处星际迷航中。

虚拟现实有潜力改变人们以及相互之间的关系。迫使我们以独特的方式彼此互动。但 Grossman 提到,他也期待让 VR 教他学习。他期待全身跟踪,因为 VR 程序可以教他如何跳舞。与机器霸主将我们插入迷惑性的 VR 世界同时从我们被囚禁的身躯吸走能量相比,这听上去肯定更吸引人。

Nightdive 通过虚拟途径为老游戏营造光明的未来

$
0
0

Nightdive 通过虚拟途径为老游戏营造光明的未来

许多游戏公司都是先布置办公室,让开发团队在里面协同工作,刻苦努力多年创造出新知识产权 (IP),然后将产品交给零售店和直接分销网站出售,Steam就是一个典型的例子。但愿能获得利润,这样他们就可以再来一次。

Nightdive Studios却走了一条截然不同的道路,其网站揭示了它的核心使命:“让找不到和被遗忘的珍贵游戏重见天日……”

通过取得已发布游戏的权限,更新它们,让它们在当前平台上运行,然后借助直接分销渠道提供这些游戏,Nightdive 可以避免租用办公室,而且也不需要雇佣大量当地员工协助工作。该开发公司在虚拟办公环境中运行,这意味着,参与游戏更新和编码的人无需离开各自的国家,甚至不用走出家门。所有这些都有助于 Nightdive 盈利,然后工作室又一次次地循环利用这些利润创造价值。

令人震惊的旅行

Nightdive 由现任首席执行官 Stephen Kick 于 2012 年成立。当时,Kick 是索尼娱乐在线的一位角色美术师,但后来厌倦了为他人做游戏。他决定开始世界之旅,在途中寻找新灵感,像许多旅行者一样,他带了一些游戏,其中就有他青年时期的经典游戏。

Stephen Kick
Stephen Kick。图片来源:Nightdive Studios。

他回忆称:”一天晚上,我正在玩,也可能是试图玩《网络奇兵 2》,但游戏不能运行了。”“我上了网,尝试购买这款游戏(通过 GOG.com),却发现没有合法途径可以购买该产品。所以,我搜集了一些资料,发现它的 IP 在 Looking Glass Studios 倒闭后被转给了一家保险公司。我找该公司商量通过数字渠道在 GOG、Steam 和其他网络平台上重新发行该游戏,Nightdive Studios 大致就是这样诞生的。”

Kick 称《网络奇兵 2》重新发行的成功是公司获得新生的第一步,但它很快就促使公司“寻找消失在时间里的其他游戏,”然后按照同样的步骤让它们重返市场。正如经典老歌《重焕生机》唱的那样,Nightdive 证明这一点对复古游戏来说是真的。该工作室的产品目录包含超过 100 种产品,并在 SteamGOGHumble Bundle’s Humble Store上有售,包括《第七访客》《影子武士》《太空指挥官》《巫术》系列等。

Kick 称:“我们的灵感其实来自伴随我们成长和给我们带来美好回忆的所有游戏。我们希望重新玩那些游戏,将它们保存下来让后代玩,我想,只是为了继续执行管理工作,以确保每个人都能再玩这些游戏。”

摆脱雾效

2017 年 3 月,Nightdive 发布了最新版本:《恐龙猎人 2:邪恶之种》。这款第一人称射击游戏于 1998 年在任天堂 64 游戏机上首次亮相,由 Acclaim Entertainment 发行,一年后移植到 Windows。Nightdive 已经发布了适于 PC 的《恐龙猎人 2》更新版,并正在研究移植到 Xbox One 游戏机上运行。

恐龙猎人 2 的分画面多人对战
《恐龙猎人 2》的分画面多人对战。图片来源:Nightdive Studios

Nightdive 的其中一个特征是,《恐龙猎人 2》可以在几乎所有 PC 上运行。这使得采用各种系统的玩家能够继续享受稳定的游戏和高保真画面。

Nightdive 业务拓展总监 Larry Kuperman 称:“很有趣……我们与英特尔合作,使用他们的工具集;英特尔提供多种不同的软件工具,用来优化游戏性能。”“我们发现英特尔工具集的其中一个优势是,能够确保 [《恐龙猎人 2》] 在市场上种类最多的计算机上运行,所以,如果您想在回家途中用笔记本电脑畅玩《恐龙猎人》,一定会很流畅。”

Kuperman 指出,与该游戏相关的另一个改变是视距。由于上世纪 90 年代末处理器的限制,原来的游戏开发人员只能使用雾效限制玩家向前看到的距离,这样,他们就可以在相对较短的距离内提供高度详细的画面。但是,经过将近 20 年发展,随着 CPU 能力和显卡的增强,距离限制雾效已经不需要了。

Larry Kuperman
Larry Kuperman。图片来源:Nightdive Studios

Kuperman 介绍:“我们可以去掉雾效,给游戏提供全新的视觉处理效果。”“这些游戏并不能用来与市场上最高端、最高要求的游戏抗衡,但从视觉上看,它们确实很有吸引力。”

另一个 Nightdive 开发团队正在努力重新启动《网络奇兵》。Nightdive 已经成功取得了该游戏的全部权限,所以,工作室正在利用“虚幻引擎”对它进行完全重建。

Kick 称:“我们取得许可证的最终目的是为了能够将特许经销权重新提供给当代游戏玩家。大约 [2016 年] 6 月底,当我们启动众筹时,一切才真正拉开帷幕。我们超额完成了目标的 150%,共筹集到 135 万美元,这为我们重新启动该系列的第一款游戏开了个好头。”

虚拟现实

Nightdive 采用虚拟办公环境运营,因此工作室可以招揽世界各地的人才完成项目。正如 Kick 所说,这意味着借助团队协作与沟通工具(如 GitHub、JIRA 和 Slack),开发工作几乎可以全天候进行。此类软件将帮助经理跟踪所有人的工作,以确保每个人都能完成项目所需的任务。Kick 为一些折衷手段感到遗憾,如缺少办公室社交和同事情谊,但 Kuperman 反驳称,使用分布式办公室可以避免出现同事相互抱怨按手关节的声音或音乐播放音量太大等情况。

Kuperman 认为这是投身游戏开发的大好时机,游戏创建过程的变化可以为所有人带来益处。利用 Kickstarter 和 Fig 等众筹平台,工作室可以更轻松地做项目,无需再和出版商交易(及分享未来的收入)。Unity 和 Unreal 等游戏引擎的功能非常强大,而且在销售自己制作的产品之前都可以免费使用。还有许多数字销售平台提供产品零售服务,因此,开发人员可以轻松自行出版。Kuperman 称,即使开发人员选择与出版商合作将产品投入市场,依然会从那些工具中获益。

“开发人员能做到相对自给自足,可以走到出版商面前说‘这是我目前制作的产品。您对它感兴趣吗?’所以说,您现在已经具备了一切条件。一个稳健的游戏开发生态系统正在等待您的挖掘。”

Telltale Games 利用较大授权磨炼其章节技术

$
0
0

 Action pose!

如果您从熙熙攘攘的技术中心旧金山向北开,穿过金门大桥,继续在 101 号公路上行驶大约半小时,您将抵达一个与出发地截然不同的地方:圣拉斐尔。在这里,生命似乎以更加悠闲的方式流逝,秀美的风光和郁郁葱葱的自然资源围绕四周,旧金山湾北部向东延伸;塔玛佩斯山偶尔峰峦积雪,抑或雾霭笼罩,面朝西方矗立;在其南面,是谬尔红杉森林。但您还没有完全将技术抛诸脑后。

圣拉斐尔孕育了一家不断崛起的游戏开发公司:Telltale Games。2004 年,三位前任 LucasArts 游戏制作人员在略有不同的产品发布模型基础之上成立了 Telltale。公司并没有投入数年时间去开发一款游戏,相反,公司领导决定,他们想要制作较小型的章节游戏,可以更快速开发完成,同时仍然吸引并留住游戏玩家的注意力。

“[Telltale 的创始人在公司成立之初]开创了基于叙事和故事的章节游戏,根据我们在 LucasArts 的经验,这是冒险游戏机制的进一步演化。”Telltale 高级发行副总裁 Steve Allison 说道。“另外,他们强调,授权游戏服务匮乏 [而且] 未得到充分认识…通过故事,可以纪念人们喜爱的 [知识产权]。”

从第一章开始

在早些年的经营中,Telltale 发行了多款单章游戏(一个德州扑克标题,和一些基于《识骨寻踪》绘画小说的游戏)和一些多章游戏(四款基于《CSI》电视特许权,三款基于《妙探闯通关》漫画系列)。逐渐地,公司磨练其开发技术,同时通过在其产品目录中添加更大的授权许可,扩大曝光度并增加观众,包括《超级无敌掌门狗》(2009)、《回到未来》(2010–2011)、《侏罗纪公园》(2011) 和 NBC 的《法律与秩序》(2011–2012)。

 The Walking Dead series.
《行尸走肉》系列。图片来源:Telltale Games

在过去五年里,凭借更知名且持久的授权,这一趋势不断攀升。2012 年,Telltale 发行了屡获殊荣的第一季《行尸走肉》,由五个章节组成。改编自《成人童话》漫画书的五章系列《我们身边的狼》于 2013 年下半年推出。HBO 的《权力的游戏》电视改编获得 Telltale 的青睐,从 2014 年开始,推出六章系列(截至本帖之日,游戏第二季正在开发)。这三个授权帮助 Telltale 大获成功,接触并吸引了许多新玩家。

“凭借《行尸走肉》《我们身边的狼》以及过去这些年来我们一直在做的工作,我们真正接触到不同类别的玩家,”Allison 说道。“经过努力,我们的产品从公司建立之初的类型发展成为今天的样子。”

 Story Mode.
《我的世界:剧情版》。图片来源:Telltale Games。

此外,Telltale 完成了独一无二的跨界,例如,与 Gearbox Software 合作,对《无主之地》特许权进行章节游戏改编,开发《无主之地传说》(2014–2015)。他们还开发了八章的《我的世界:剧情版》(5 章从 2015 年 10 月起每月推出,然后在 2016 年下半年,有 3 个可下载章节),并受到《我的世界》创作者 Mojang 的肯定。

公平无处不在

除了章节模型的成功,跨平台战略也令 Telltale 受益匪浅。该公司的大部分游戏基于移动设备、游戏手柄、计算机等平台,因此 Telltale 的游戏可以随时随地畅玩。

“对我们而言,每个平台上的相同游戏是 Telltale 的秘密武器。我们的游戏出现在 [亚马逊] Fire TV 和 PlayStation 4、PC、Android、iOS 及新兴平台,”Allison 说道。“帮助使我们的业务保持健康强大的一个因素是我们不断带来新平台,无论是 Nintendo Switch 还是智能电视,或我们正在开发的即将宣布的平台,而这对其他工作室和其他发行商可能更具挑战性。当平台转变时,我们也保持移动,我们的内容通常可移植到现有的所有设备(在合理规格内)。”

 The Telltale Series.
《银河护卫队:剧场版》。图片来源:Telltale Games。

Telltale 的最新产品是另一热门授权:漫威的《银河护卫队》。近期可通过数字发行和零售盒获得,《银河护卫队:剧情版》似乎是适合所有年龄段的刺激游戏,虽然故事与即将推出的《银河护卫队 2》电影无关,但毫无疑问,伴随电影推出进行的宣传工作将令游戏受益匪浅。

“我们有许多[《银河护卫队》]特许权的粉丝,他们之前都是电影迷,”Allison 说道。“对我们而言,这是一个绝佳机会,可以解决这些角色,并为他们赋予我们自己的特性。在这方面,工作室的男性和女性员工全部投入大量精力。”

《银河护卫队》提出了独一无二的演示挑战,因为从故事和氛围的立场来看,漫画书和电影之间存在一定差异。Telltale 的解决方案是,在熟悉的领域创作新故事,而非制作衍生作品,从而最大限度减少每个媒体对比故事的趋势,为观众呈现相同的体验。

“挑战是确保我们遵守电影的精神,同时遵守漫画的精神,”Allison 说道。“有时,这些方面会产生大量摩擦,漫画比电影刻画的更加严肃。但我认为,我们在创作原创故事方面达到良好平衡,让每个喜欢电影的人都能完全投入。而之前曾阅读过漫画的任何人也将发现共鸣,向他们可能 [从漫画] 掌握的额外知识致敬。”

 The Telltale Series.
《银河护卫队:剧场版》。图片来源:Telltale Games

随着任何公司不断发展,总是会面临发展挑战,通常围绕平台变化,以及制作游戏所需的工具的变化。Telltale 也不例外,但作为章节软件公司,也会面临特定挑战。

“站在我们工作的立场上,达到我们期望的质量标杆,同时仍然按时为人们提供内容,继续成为推动因素。我们在这方面做得更好,”Allison 说道。“但我们总是希望作出权衡,制作尽可能最好的章节,但是,我们的目标是在 4 至 6 周内将内容提供给人们…虽然有时,我们不得不延长时间。”

Telltale 预计将于今夏宣布另外几款游戏,有可能会在 6 月份于洛杉矶举办的 E3 贸易展览上发布一款,在 7 月于圣迭戈举办的 Comic-Con 上发布另一款。另外,Allison 表示,工作室正在制作其他游戏,将于 2018 年宣布推出。圣拉斐尔的生活节奏可能较为悠闲,但如果 Telltale 想要不断发展业务并使业务繁荣发展,就没有机会坐下来放松。

漫威《银河护卫队:剧情版》第一章缺少特点

$
0
0

 Action pose!

我喜欢冒险游戏,但我对整个 Telltale 并不感兴趣。

我从小玩的是《猴子岛》、《触手也疯狂》和《冥界狂想曲》,都是一些关于探索、收集物品和解决谜题的冒险游戏。从热门《行尸走肉》系列开始,开发人员 Telltale Games 不断发展该体裁,专注于故事、对话和玩家选择。虽然这些游戏拥有自己的粉丝,但我觉得这种游戏没有成就感,而且乏味。Telltale 新出的适用于 PlayStation 4、Xbox One、PC、iOS 和 Android 的《银河护卫队》系列也是如此。第一章是“抑郁缠身”,我玩过 PC 版。

我有段时间没玩 Telltale 游戏了,所以我很好奇开发人员对这种热门品牌的处理是否会转变我的想法。但《银河护卫队》就是 Telltale 游戏的典型范例。动作场景仅需偶尔按下按钮提示,大部分真实游戏围绕与人对话、查看对话和决定的结果(Gamora 将会记住该结果)。

如果您研究 Telltale 品牌,我相信,该第一章将为您提供愉快的数小时体验。但我仍然不喜欢 Telltale 类型。

 tar-Lord explores
星爵探索。图片来源:Telltale

您喜欢的方面

做您自己的星爵

您以星爵的身份玩游戏,他是太空雇佣兵组织的人类领袖。通过对话选项,您可以决定星爵是什么类型的人,他更关心钱、正义还是同志情谊。虽然星爵始终是一个刻薄的英雄,但您可以选择他的刻薄程度。如果您确定情况足够严重,您可以选择更真诚的对话。

您也必须做出更艰难的决定,这些决定将打扰到您的一些队友。虽然选择仍然是二元的,但比传统的“好人/坏人”体系更有趣。大部分选项并不是非黑即白,只是会导致不同的结果。

 Rocket loves his comically large guns
火箭浣熊喜欢他的诙谐大枪。图片来源:Telltale

您不喜欢的方面

虚假护卫队

现在,《银河护卫队》炙手可热。第一部电影令所有人感到惊喜,凭借其幽默和良心制作,引来大批粉丝,同时赚得盆满钵满。续集于 5 月 5 日推出。看起来像是理想的漫画书版权被处理成视频游戏。

然而,问题是,Telltale 的版本改编自漫画,而非电影本身。这并不是说它没有从电影吸取灵感,相反,很多灵感都来自电影。对角色的一些诠释都是其荧幕形象的翻版。例如,Drax 不理解隐喻,Yondu 有类似南方的口音。

但游戏只是看起来像电影,实际上并不是。火箭浣熊和格鲁特看起来与电影版的角色非常相似,但 Drax 和 Gamora 看起来更像是漫画书版形象。有时,关于侵犯电影原创想法的谨慎做法变得让人分心,例如,星爵有一卷盒式录音带,标签写着“Rad Mix”,而非标志性的“Awesome Mix Vol. 1”。

感觉 Telltale 尽管没有真正获得电影许可,但却想要在那个领域有所作为。所以,星爵的服装和头盔看起来和电影版完全相同,但脸部与克里斯·帕拉特截然不同。编剧和表演尝试传递那种刻薄、唠叨的语调,但感觉是在模仿。

 Weeeeeeee.
Weeeeeeee。图片来源:Telltale

快速活动,而非真实难题

《银河护卫队》中的游戏设置分为三部分:动作场景、与人交谈和问题解决。与人交谈占据大部分体验。您经常与队友聊天,解决他们的争吵,深入了解他们并推动故事发展,同时为您自己版本的星爵塑造性格。这是游戏里的最佳执行部分。这些角色十分可爱,即使他们成功脱离电影版本,他们这种亲如家人般的关系为标准的漫画书故事增添了一些趣味。

 

动作场景是第二常见的活动。这些场景就像是小电影,当屏幕上出现按钮时,您偶尔需要按下特定按钮。例如,您必须按左箭头避开激光,或者按 E 朝某人挥剑。虽然场景本身可能有趣,但没有挑战性。这类快速活动代表最浅形式的互动。

问题解决是最不常见的活动,也最无聊。有时,您将身处房间内,可以自由走动。您会遇到问题,如锁住的门,您需要进行修理。但您并不是真的在解决谜题。您只需四处走动,直至找到该点击的正确物品。起初,没有许多物品可供点击,可以互动的任何物品上方有个图标,所以不会花费太长时间。


无需等待下一部《复仇者联盟》,便可看到人们对抗灭霸。图片来源:Telltale

结论

如果我真的想要获得持续数小时的良好《银河护卫队》体验,我只需观看第一部电影即可。“抑郁缠身”努力捕捉电影的神奇魔力,有时,效果非常接近,有好笑的台词以及角色之间的有趣互动。但始终感觉是在模仿。

但即使作为超出《银河护卫队》特许权范围的游戏,体验并没有提供足够的刺激度。这是一个互动故事,一个自选冒险的视觉小说,附带陈旧乏味的快速活动,一点也不像真实谜题。这是一系列选择,乐趣(我想象)在于观看这些选择如何发挥作用。

但在第一章中,您只获得少许体验。也许在后续章节中,当故事进一步发展,我将会了解我的决定带来的影响,但与大荧幕版本相比,该第一章黯然失色。

只需一些果酱,Salmi Games 就可制作出最美味的面包

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:只需一些果酱,Salmi Games 就可制作出最美味的面包 如欲了解更多有关游戏开发的新闻和相关主题,请访问 https://venturebeat.com/category/intel-game-dev/Intel on VentureBeat.

Glowing colorful geometric shapes moving against a black screen

英特尔提供

代码 果酱(编程挑战赛)广受欢迎,经常能够聚集数十位,数百位,甚至数千位编程人员通过快速编码来进行创新、合作和竞争。同样,游戏果酱也突然涌现出来,支持游戏厂商构思和开发切实可行的游戏,有时甚至在短短的 24 小时内就可完成这一过程。

Yacine Salmi 及其合作方 Stefan Hell 熟知游戏果酱这一概念。事实上,他们就是因此而结缘。他们决定提出自己的游戏创意时,对喜欢的主题进行研究,然后组成两人小组进行脑力激荡,就像参加内部游戏果酱一样。

Image of Stefan Hell and Yacine Salmi standing together in an outdoor area
上图人物:Salmi Games 的 Stefan Hell(左)和 Yacine Salmi

 

通过这些活动他们积累了丰富的知识和经验,从而萌发出了创建可行游戏开发工作室(名为 Salmi Games)的想法。去年,这家小型工作室发布了 Ellipsis,“avoid-’em-up” 标题复古怀旧,让人联想起几何战争.该游戏最初在移动设备上发布,今年一月他们通过 Steam* 发布了 PC 版。

 

唾手可得

Salmi 在美国出生,目前居住在德国慕尼黑。2013 年,Salmi 创办了一家雨伞公司,一方面为他坚持自由编码工作提供了生活保障,另一方面为他实现游戏开发梦想提供了资金支持。

Salmi 说:“我之前曾在游戏行业工作十年,但这才是我尝试保持独立和挣钱养家所坚持的方向。我之前还经营过另外一家独立公司,但情况不太顺利。我把所有鸡蛋都放在一个篮子里,但最终鸡飞蛋打。[这次],我希望能够坚持下去。”

第一批 Salmi 游戏果酱用于探讨如何通过触摸功能来控制游戏。有了触摸概念,才能实现针对移动设备发布游戏的目标但触控游戏也有它自身的问题,Salmi 希望找到解决办法。

Glowing colorful geometric shapes moving against a black screen

Salmi 解释说:“人们不构建触控游戏的主要原因是手指或手容易把游戏动作掩盖住。但我们非常喜欢这一概念,因此我们决定进一步开发,以解决玩家手部带来的局限性。

我们决定构建大而稀疏的关卡,以便玩家有时间发现物体和敌人,然后四处移动。这在一定程度上变成了手部与手指的舞蹈。”

游戏进展顺利,但 Salmi 表示他们希望把游戏带到 PC 中,这是一条不同寻常的游戏开发途径。他们不希望仅仅将游戏移植到 PC 中,而是致力于“开发相应的 PC 版本”。

Salmi 解释说:“我们意识到该游戏会用到鼠标…但我们不想进行移植。我们添加了内容,添加了关卡编辑器,并重新安排所有资产。我们对其进行调整以使其适合 PC…确保这款游戏能够在所有类型的设备上运行,因此我们选择使用英特尔优化工具。”

这款游戏不仅在 PC 上运行良好,还在 2016 年的 英特尔® 进阶游戏开发人员大赛上荣获了“年度游戏”和“最佳动作类游戏”两项大奖

Glowing colorful geometric shapes moving against a black screen

下一款游戏具有颠覆性意义

Ellipsis’大获成功后,Salmi 和 Hell 马不停歇,开始继续探索新的产品创意。目前他们正在开发一款暂时命名为 Late For Work的游戏,这是一款虚拟现实游戏,类似于经典的街机游戏 《狂暴大破坏》,游戏中一只类似金刚的大猩猩登上摩天大楼,企图破坏大楼,同时躲避人类对它的追捕。

早期的概念包含多玩家模式,Salmi 希望将它开发成一款“社交类虚拟现实游戏”。其中一人带上耳机扮演大猩猩,其他两人通过电脑使用游戏手柄或使用手机操控飞机、坦克和汽车。然后他们互换角色,因此每个人都有机会在虚拟现实中扮演这只大猩猩。

Salmi 表示他们正在为这一概念寻找外部投资,并考虑寻求其他编码员的帮助。在慕尼黑居住时,Salmi 和 Hell 一直各自外出办公,最近他们搬进了办公室…这间办公室可容纳五个人同时工作。

“我希望在接下来的三至四个月发展新成员…新增一名美术师和编程人员,并有可能将音频和动画方面的工作外包出去。”

这些是公司发展壮大所面临的问题。

但这一切都来源于有这个两人团队所调制的游戏果酱。

Blowfish,走在通往巅峰时代的路上

$
0
0

文章最初由英特尔游戏开发人员发表于 VentureBeat*:Blowfish,走在通往巅峰时代的路上请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Mech-Man, shooting away at opponents with guns blazing

新工作室进入竞争激烈、对手林立的游戏开发市场后将面临重重挑战,已知的挑战非常棘手,隐蔽的挑战极其恐怖,规则突然变化时,挑战更加难以对付。

2010 年,Ben Lee 和 Aaron Grove 在澳大利亚悉尼创立了 Blowfish 工作室,在见证了几家工作室的兴衰后,该工作室将目标定为创建“可持续”的独立游戏工作室。话虽如此,但是成功完成很难,这是许多开发人员的亲身体会。

“我们可以通过开发移动游戏和免费游戏赚很多钱,但是这不是我们真正的目标。”Lee 表示。“我们运行了各类游戏,全力维持受雇开发和自主开发之间的可持续的平衡,未来将倾向于自主开发。”

该工作室的新项目 Siegecraft* 为面向 iPhone* 4S 和 5 推出的精选游戏提供基本框架,最终使其成为 iPad 平台上排名第一的游戏应用。当然,对于任何处于起步阶段的工作室而言,游戏开发需耗费大量的精力,专注于核心板块对于其积极投入地开发游戏至关重要,因此,转变至 PC 领域、开发 Gunscape 是重要的一步。

为了掌控未来的发展方向,Blowfish 现在集中团队才智着重开发那些可以提升自己工作室基础配置的游戏,力求在竞争激烈的 PC 射击游戏市场中脱颖而出。

Gunscape 美化

团队致力于开发在 iOS 中最受欢迎的游戏,为《Gunscape》的开发铺平了道路,《Gunscape》是一款射击游戏,将经典的 FPS 设置、敌人和基于数据块的最新(经典风格)构建机制结合在一起。从表面上来看,它的意义非凡:对 Minecraft 构成强大的威胁;支持观众参与创建;人们可以尽情共享任何创建经验。

Screenshot of split screen FPS shooter action in a game world

上图:分屏显示有助于定义 Gunscape 的社交游戏。

Blowfish 专门创建了工具和方法,以共享用户生成的内容和内容水平,为块状、程式化的游戏路线提供示例。目的(期望)在于用户能利用简单易用的工具创建大量的射击体验。通常在这种情况下,占总数 1% 的用户创建了令 99% 的用户痴迷的内容。Gunscape 的情况并非如此,Lee 表示“多数用户”均在一定程度上参与了地图创建。

协作项目还帮助社区克服地图设计机制中的不足。Lee 直率地承认未将计时器连接至敌人或地图事件“或许是我们的疏忽”。但是社区独立弥补了上述不足。您可以设置怪兽的出现和飞镖等陷阱,虽然文档并未明确规定,但是飞镖会造成特定的伤害。地图创建者计算出每只飞镖的威力,触发陷阱时将生成一只怪兽,玩家对怪兽投掷一定数量的飞镖后才能杀死怪物,然后触发另一个事件。同样,Macgyver 的计时器系统已经生效。

Screenshot of split screen FPS shooter action in a game world

上图:如果某些关卡设计看起来像受经典 FPS 游戏的启发,如《Wolfenstein 3D》《DOOM》和《Quake》,这不是巧合。

“借鉴其他游戏给了我们创新的源泉,”Lee 如此评价社区利用提供的工具进行开发。尽管如此,Lee 承认游戏超出预期的执行预算,也没有达到团队在早期开发阶段设立的某些创新目标。“我们的初步目标更远大,”Lee 表示,“计划将其设计成 RPG,用户也可以自己创建游戏。”

由此,需要继续按照最初设想的方式继续支持社区和项目。“我们仍在邀请新玩家,他们对游戏非常满意,因此,我们想持续对此进行投资。”Lee 表示。这些努力不太可能会付之东流,因为基础技术经过开发后可以应用于其他项目,“现在的技术有可能将来再次使用,”Lee 补充道。

为未来而创建

毫无疑问,可以通过多种方式衡量成功。确保可持续发展是一个核心目标,也来了了巨大的机遇。Blowfish 内有大量的实习生,被一些初级岗位或全职岗位吸引而来。虽然有半数以上的员工刚从大学毕业,但我们也并没有理由去认为他们处境堪忧。

这也正是 Blowfish 的用意所在。这些管理人员受到刚毕业的游戏爱好者的鼎力支持,结果也是……具有可持续性的。

对于创建者而言,游戏套路非常清晰,但玩家仍需揭开地图的层层面纱,才能发现地图背后最为重要的故事。无论游戏出自实习生、新手还是管理人员之手,衡量 iOS 和一般 PC 版本的标准只有一个 —— 做到最佳。

开始游戏吧!


开发战略将玩家变成机器人建造者

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:Freejam Games* 的开发战略将玩家变成机器人建造者如欲了解更多有关游戏开发的新闻和相关主题,请访问 Intel on VentureBeat.

Freejam Games

英特尔提供

Image of Mark Simmons CEO of Freejam Games
上图:Freejam CEO/游戏总监 Mark Simmons 图片来源:Freejam

 

几年前,Mark Simmons 在职务作品工作室从事游戏开发工作。他享受与朋友在一起工作的乐趣,但存在的局限性令他头疼不已,包括紧缩的预算、紧密的时间安排,而且最重要的是他从事的游戏属于别人。

另外,他开始制作一种原型,使玩家能够通过用户生成的内容 (UGC) 为项目出一份力。Simmons 从 Eric Ries 的著作 The Lean Startup得到启发,感觉自己也可以成立一间工作室,召集几位出色的员工在 UGC 的协助下完成主要工作。他认为 UGC 可提供“一种方法,支持小型开发商开发游戏,其规模要比小型团队依靠自身力量开发出的游戏大得多 — 充分利用社区的力量。”

Simmons 曾获得物理专业的学位,因此他能够将模块拼凑成原型 — 受 Minecraft*启发— 这些模块能够组合起来并与外界进行适当的交互。他将该原型制作成与开发人员朋友一起玩的演示,而且一位投资者朋友最终伸出了援助之手。

Simmons 说:“[他]给了我们创办公司的机会。我们全部辞职,创办了这家新公司,并且承诺,如果一年半内没有获得成功,就关掉公司。”

这样,2013 年 4 月,Freejam 在英国朴茨茅斯成立,Simmons 担任公司 CEO/游戏总监,四名开发人员朋友担任团队的其他成员。Simmons 组建的基本原型为公司发展奠定了基础,并成为公司日后的主要业务。

共同分享

从那之后,团队不断开发这款产品,并添加了更多新的功能。最初只是连接这些模块,装上轮子,然后操控它在小范围内移动的功能。后来团队添加了一项拾捡绿色水晶的功能,这种绿色水晶可作为货币来购买物品。

大多数工作室都是首先构建完整的产品,然后再卖给消费者。但 Freejam 的想法是让玩家自己创建内容,并以此为基础发展游戏规模。因此,他们发布原型以获得反馈,并建立社区。

Simmons 说:“我们希望多多学习,我们认为只要拥有足够的勇气展现它的原始状态,和社区一同进行开发,就一定能够学到更多。”

Screenshot of a battle bot being built in a 3d environment
上图:建造机器人图片来源:Freejam

 

Simmons 表示,他们的想法是通过让人们融入游戏、分析后续数据、实施新特性、向社区发布更新、分析数据… 以完成“构建、测量、学习”,然后车削、漂洗、重复。Simmons 表示,这款游戏是免费的,他们不以此来赚钱,但同时,他们的战略也不是开发完整的产品并预期它会轰动一时。

Simmons 解释说:“我们认为,花费三年时间琢磨主题然后发布一款游戏是非常疯狂的 — 我们希望一切顺利。当然,有些开发人员会做得很好,通过这种途径获得成功的例子不胜枚举。但是作为一家小型独立公司,你没有庞大的经济实力支持制作守望先锋那种画面优美、无与伦比的游戏。

因此,你要做的就是创新,只要坚持创新,就会与众不同。但会始终面临一个固有风险,因为你的创意可能非常糟糕,观众可能不会喜欢。”

幸运的是,这不是问题。Simmons 的原型最终变成了游戏《Robocraft》,一款规模更大,功能丰富的射击类游戏。该产品基本上是免费的,不过也有一些应用内购买 — 比如可以购买救援箱以获得更多物品,或者提供部分优势的“会员制”。但这些优势不会提高你的战斗力,从而造成社区内玩家之间的不平衡。

Simmons 说:“我们尽量确保它不变成花钱就赢的游戏,并保证盈利的公平性,因此价格比较公道。免费玩游戏的人都能够在合理的时间内获得他想要的一切。我们尽量确保游戏的公平性。”

制作或破坏

与其他开发商一样,Freejam 也面临 — 并将继续面临 — 游戏制作方面的问题。Simmons 指出,举个例子,各种不同,而且经常变化的 PC 规格一直是困扰他们的问题。很难制作出一款适用于所有计算机的游戏。

Variety of robots team up to shot at adversary in a 3d environment
上图:组成三人射击者 Robocraft 图片来源:Freejam

 

另外,尽管Robocraft一直在更迭和修正,意味着这款游戏将持续发展(好事),但有时所做的改变并不适合每位玩家(可能是坏事)。

Simmons 说:“如果觉得某一部分不太适用,我们通常乐于对游戏进行改动。不可避免,一部分玩家希望保持原来的游戏方式,如果经常对游戏进行大幅度的改动,— 我们对这款游戏的改动可能比它发布以来要经历的改动大得多 — 因此与现有的社区产生了一定程度上的摩擦。他们厌烦改动,或者反对改动。

“你会一直紧张不安。[一方面,你吸引了]第一次玩这款游戏的新玩家,并且[发现]这款游戏越来越好,因为玩家的游戏时间更长,还向他们的朋友积极推荐这款游戏。另一方面,之前的用户群从游戏发布“第一天”起就开始玩这款游戏,他们记得某个时间点(所偏爱的时间点),那么这种改动对他们来说就不是一件好事。”

这是一场战斗,开发人员需要不断地斗争:是冒着令现有的长期玩家失望的风险,添加新特性或对游戏进行您认为更好的改动?还是一直取悦老玩家,尽管存在越来越难以吸引新玩家的风险?幸运的是,近三年多来,Freejam(员工数量已从最初的五名开发人员增长至目前的 40 名)的注册玩家不断增加,已达到 1200 万,可为工作室做出正确选择提供切实可行的反馈。

Image of the July 2016 Freejam team standing on a dock by the water
上图:Freejam 团队不断发展壮大(最初仅五人)图片来源:Freejam

一个人的团队,和他的侏儒山羊。

$
0
0

文章最初由英特尔游戏开发人员发表于 VentureBeat*:一个人的团队,和他的侏儒山羊。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Very cute pigmy goats climbing colorful tall buildings

如果某游戏开发工作室只有一个人经营,位于澳大利亚新南威尔士州偏僻的乡下,距离悉尼几小时的车程,恐怕这个工作室很难取得成功。但这正是独立开发人员 Alberto Santiago 所从事的事业,经营他的公司 —— Canvas 工作室。

对了,他还在 YouTube 视频的帮助下自学游戏编程!作为一名 3D 艺术家,Alberto Santiago 拥有长达 10 年的电影、TV 广告和广告牌艺术从业经验。目睹了澳大利亚工作室的迅速发展后,他开始考虑抓住新的机遇,上述经验为他涉足新的行业奠定了坚实的基础。

Santiago 曾创建了一个可以控制 DSLR 摄像头的小型 iOS 应用,如今,他开发的最新游戏 GoatPunks 即将推出 PC 版。“我花了两个月的时间才完成,效果非常不错……事实上,现在它仍在盈利。”Santiago 表示。源源不断的收入为 Santiago 提供了极大的灵活性,他可以将精力集中在学习游戏编程和着手开发自己的游戏。

Photo portrait of of Alberto Santiago, grayscale

上图:Canvas 工作室的唯一的工作人员,Alberto Santiago.

“我想把编程与我的 3D 艺术背景结合在一起,”他表示,抱着这种想法,他开始浏览 YouTube*,“YouTube 上有许多年轻人讲解编程,他们对编程的兴趣感染了我,这是一种很酷的学习方式。”由此开启了一段新的旅程,这是 Santiago 始料未及的,他一开始计划花三个月的时间从事该项目,“最终却花费了 3 年!”

当 YouTube 视频无法满足 GoatPunks 的特定需求时,他利用 Unity* 将文档归置得整整齐齐,便于从反复试验中学习,因此,Unity* 对他的帮助非常大,他将自己的成功归因于 Unity*。

尽管距离悉尼两个小时的车程,他经常参加当地开发人员举办的“啤酒与像素”聚会,与他人交流观点,寻求测试方面的帮助,享受有爱、实用的关怀。重要的是,他见证了多家 3D 艺术和游戏开发工作室的更新换代,“有时我觉得只有我一个人在开发游戏!”

GoatPunks?是什么?怎么样?

事实上,需要问以下问题:像 GoatPunks 这样的游戏概念是怎样产生的?它的主要游戏模式是四位山丘之王玩家与发射火炮的山羊进行战斗。您也可以在单人模式中与 Santiago 设计的人工智能对手交手,但是以分屏方式显示的 4 人模式才是最精彩的玩法,据说它具有和许多设计师最爱的游戏(如 Smash Bros)相同的趣味性和竞争性。

“最初,游戏并不是这样的。”Santiago 直言。Santiago 一心想要设计一款 iOS 游戏,利用陀螺仪围绕树屋旋转,同时消灭怪兽。在他坐火车车去悉尼的路上,沿途的普通风景令他改变了主意。“游戏最初类似于塔防游戏,”Santiago 表示,“在去往悉尼的两小时路程中,我的思绪开始游荡。我看到了树屋,树屋里有生物……”

Santiago 正努力发掘使游戏角色爬上建筑顶部的编程方法,这时他看到了令人发笑的一幕,“一个人正牵着他的侏儒宠物羊……看起来就像一只长了角的狗。我开始在 YouTube 上查找侏儒羊,找到许多侏儒羊在陡坡和悬崖上跳跃和攀爬的视频。

“由于它们非常擅长爬坡而且非常有趣,因此,我把怪兽替换为山羊。最终采用了山脉,而不是树屋塔。”

一般认为,灵感可以来源于任何地方,观察最重要,幸运的是,Santiago 居住在 Katoomba,这是一个非常受欢迎的旅游胜地,“基本占据了一座山顶……当地有一处天然形成的景观,叫作三姐妹,这三个石柱和游戏里的山很像。”

Photo  of a mountainous landscape in Australia, depicting the Three Sister mountains.Color
上图:真实的三姐妹景点(照片由 Alberto Santiago 提供,获得许可后使用)

重改、重播、重试

作为一名独立开发人员,长时间在山顶的工作室中设计独特的游戏难免会觉得与世隔绝。Santiago 准备在 PAX 上展示游戏,他感到游戏并没有以预想的方式提供娱乐性。Santiago 在短短一个月的时间内重新调整了游戏体验,“添加了分屏显示,游戏更像《Smash Bros》或《Bomberman》。”从那以后,游戏的口碑一路飙升。”

调整后采用了山丘之王的游戏格式,将打斗集中在山顶,玩家必须应对总共 30 秒的全方位攻击。要知道,在 4 人对决游戏中,想实现极具吸引力、娱乐性和震撼力的游戏体验,很大程度上取决于地图和武器之间的平衡。

Pigmy goats climbing up candy mountain.Different map with a different visual style.
上图:每张地图的视觉风格各不相同。

需要创建高效的人工智能例程,模拟玩家的实际风格和动作。“我只能选择正确开发人工智能,便于游戏的自动运行,测试也需要人工智能。我获取了几台英特尔设备,安装后开始运行游戏。”

Santiago 发现从头开始学习如何编程人工智能例程并非易事。“我试着在 YouTube 上学习,但是由于需要在特定的游戏中应用,YouTube 上的视频帮助不大。因此,我开发了一个记录系统,去记录玩家如何操作,然后尝试着去确定模式和策略。”

本质上,该系统捕获重要的数据转储,对其进行压缩以发现玩家的移动和行动方式,然后根据这些信息调整人工智能例程,确保非人类玩家在游戏中展示和真实玩家相同的行为。

Pigmy goats climbing up a mountain with asian style home on its rock-face.Multiplayer map

上图:最好和 3 个朋友坐在沙发上玩。

经验总结

独自开发意味着了解一系列信息,而开发人员并没有意识到自己不了解这些信息,即使像 Santiago 这样聪明的艺术家和编程人员亦是如此。首先需要相信的便是在超前开发版本中,观众不介意游戏不完整,存在错误或仍需开发。

“我明白了发布超前开发版本时,游戏应该已经完成了 99%。”Santiago 透露。“大多数玩家认为他们提前获得了游戏。”

在这种状况下,社区对创建状态的反应常常使 Santiago 震惊不已。“您得到的任何反馈都经过放大的。在大团队中,反馈带来的效应分散在团队成员之间,但是独自开发的情况却完全不同。”他表示。

为了缓解压力,Santiago 想出了一个创新的方法:“我让女朋友在线阅读这些反馈。”他边笑边说。独自从事了 3 年的项目受到社区的批评,他只能以这种方式应对批评。

Santiago 希望 2017 年年底彻底完成这个 3 年项目,并在游戏机上发布,他的游戏开发热情并没有因批评而衰减。尽管他已经掌握了利用人工智能例程创建在线多人游戏的技术知识,也配备了数据报告系统以及核心的游戏体验和显卡系统,为实施下一个项目做了充足的准备,但他仍需对自己的工作现状进行重大调整:“这个项目完成后我将开发另一款游戏,但是一定要比现在的项目小很多!”

当然,现在还无法保证下一个项目还会有侏儒山羊。(如果您之前在 YouTube 视频上已经见过这些侏儒山羊了,可能您会对此深为惋惜!)

Trion Worlds:与时俱进

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:Trion Worlds:与时俱进如欲了解更多游戏开发新闻和相关主题,请访问:Intel on VentureBeat。

Colorful, futuristic, 3d gaming plaza, populated with other colorful gaming characters.

在全球产业版图中,十年听起来并不算太长,但在视频游戏 —— 尤其是网络游戏领域 —— 十年就是一辈子。的确,Trion Worlds* 成立十年以来,玩家的口味和偏好发生了巨大变化,公司也在不断地完善游戏设计和风格,以赶上不断涌现的最新趋势。

Trion Worlds 公司位于加利福尼亚雷德伍德城,在 CEO Scott Hartsman 的带领下,公司的发展变化也在一定程度上反映了这一演进历程。最初加入公司时,Scott Hartsman 担任《时空裂痕》的执行制作人,见证过大型多人网络 (MMO) 游戏的成功发布。四年前,Scott Hartsman 重返公司,担任 CEO。然而,Hartsman 丰富的网络 PC 游戏经验可追溯到进入该行业伊始,他曾在 ENGAGE games online*、Simutronics* 等早期在线公司负责设计和运行游戏,之后带着《无尽的任务》和《无尽的任务II》加入索尼在线娱乐* 公司。

在网络游戏精彩纷呈的演进过程中,Hartsman 积累了丰富经验,这使得他能够精准把握玩家们快速变化的口味与喜好。Trion Worlds 成立于 2007 年,最初的宗旨是创建一个能够支持构建大规模网络游戏的技术平台。同时该公司还开发了游戏《时空裂痕》,用于展示公司的技术并提供共享世界体验。

Hartsman 表示:“在游戏创建方面,人们的希望与现实总是有着天壤之别。因为技术、人们的喜好和业务模式不断地发生变化。我想这时你可以将其称之为 Trion 2.0。”

这种转变使 Trion 开始专注于游戏,或更加具体地说,专注于玩家的口味和喜好。Hartsman 说:“我们并不是面向开发人员的引擎商店,因为我们的目标客户是玩家,因此我们不得不开始像游戏公司那样运营公司。因此我们开始更多的专注于所创建的游戏,而不是基础核心技术。

创建《时空裂痕》

《时空裂痕》在 MMO 游戏领域持续获得成功,一直强化着公司对游戏开发(而非技术开发)的倾向。但即使是这样,网络游戏领域的发展趋势依然表明,用于支撑《时空裂痕》设计与创建的技巧正在快速向完全不同的方向转变。

Hartsman 说:“2010 至 2011 年间,玩家每天平均花费四小时时间探索神奇的世界,类似于《无尽的任务》和《魔兽世界》。

An animal that looks like an armored triceratops, rhinoceros mix is ridden by a warrior through a semi wild landscape.

上图:《时空裂痕》的开发耗费数年,但发布后成为了一款成功的大型多人网络游戏。

关于玩家偏好、基础性互联网接入和游戏兴趣,Hartsman 确定了核心的调整措施。他表示:“互联网基本上已经普及到每一个人。但人们的口味不断变化,每个人都在寻求着与众不同的体验。”

人们每天花数小时的时间于在线社区,一部分原因是为了与其他玩家建立社交联系。由于对网络游戏的兴趣并不完全相同,因此每天畅玩游戏、学习深度游戏系统以及分享游戏体验的意愿也是有限的,仅限于那些“了解游戏”的人。

他说:“现在,人们玩游戏时会带朋友一起玩。每个游戏基本都是网络游戏,大家来玩它并不是为了结交新朋友。”社交动态方面的这种转变直接影响了游戏体验,也被越来越多的玩家习以为常并欣然接受。

Hartsman 说:“目前玩家每次只玩 5-20 分钟,但他们可以一直重复玩。例如《炉石传说》、《英雄联盟》、《刀塔》和《星际战甲》,这类游戏有着相同的游戏参与深度,但游戏世界并不同步。

对现实世界的反作用

为了响应玩家兴趣的变化,Trion Worlds 以《Atlas Reactor》形式向市场推出了一款极具竞争力的游戏。这款游戏出自内部 Trion 实验室 —— 能将 35 种长达一页的初始补丁减至 15 条应对措施,最后减至 3 种原型的实验室 —— 这支充满活力的团队向竞争激烈的游戏市场呈现了一款独特的游戏。

Colorful, futuristic, 3d characters engaged in battle

上图:Trion 的首席执行官 Scott Hartsman 表示:“构建过程的迭代循环对制作最佳游戏来说至关重要。”

Hartsman 在强调游戏独特性至关重要时说:“它更讲究战略而非快速行动,而且这款游戏将场景设置在竞技场。但是在以巷道为基础的 MOBA (多人在线战术竞技游戏)市场中,我们不希望这款游戏才位列第八。如果不排在前三,游戏可能会失去存在感。”对《Atlas Reactor》来说,重要的是找准自身的定位,而不是挑战快速行动的巷战游戏,因此团队开发了一套以同步调整为基础的技巧,以应对四对四竞技比赛。Hartsman 表示:“它的玩法类似于《德州扑克》或《美式足球》。首先在头脑中想好计划,然后计划实施时一切就瞬间发生了。”

对 Trion Worlds 来说,鉴于之前构建大型同步网络游戏的体验,在更严格、更专注的环境中开发游戏令人耳目一新。Hartsman 说:“制作开放式游戏时,只有到项目的最后阶段才能知道游戏的趣味性和连贯性。你永远找不到一个垂直切面去一下子了解游戏是否有趣,因为需要花费四年时间才能达到那一阶段。”

Hartsman 说:“它将游戏开发从最初的原始阶段 —— 和十年前一样 —— 一步步变得更具预测性和合理性”,并补充说,每个限制项目范围的机会实际上也是让他们“增加实际发布产品的机会”。

随着游戏垂直切面不断变窄,开发过程中的另一个关键部分是持续迭代的能力。Hartsman 深知,尽管经过大肆宣传,开放式游戏也可能发布了但不运行。他解释说:“在我努力成为开发者期间,曾经度过了一段非常艰难的时光。因为情况非常复杂,在许多方面就像一个奇迹。”

迭代、迭代、迭代

Hartsman 断言:“对即将发布的产品,所进行的迭代次数与其最终的质量成正比。他继续说:“它与时间、资源、金钱和人数...无关,他关乎的是迭代次数和改进游戏的次数,只要尽快改进,就能不断地完善游戏。”

Colorful, futuristic, 3d characters engaged in battle

Above:进入竞争激烈的游戏领域,找准定位对 Trion Worlds 来说至关重要。

尽管包含迭代游戏测试的开发流程更加简单,但由于竞争的日益激烈和受众期望的不断变化,市场挑战会变得更加艰巨。谈到当前竞争激烈的环境时,Hartsman 说:“质量不断提高,玩家的期望也随之提高,但我们的关注点也在于此,是不断地提高质量,而不是制定越来越广阔的愿景。”

随着开发进程的大钟摆不断徘徊在促进了 MOBA 和移动游戏领域实现大规模增长的短期体验上,Hartsman 期待如果回到开放式共享体验,机会仍然存在。他说:“我期待它再次出现,它是一种个人激情。作为一名玩家,我喜欢玩这些游戏,但制作多种类游戏可帮助我们提高质量。

无论游戏产业兴起何种潮流,我们的经验,或讯息, 就是保持敏捷,并积极调整以应对玩家在游戏口味方面的变化。Hartsman 说:“近十年来,人们经历着种种革新。”唯一可以确定的是,在你游戏完成的那一刻,就已经有另外一股潮流完全改变了消费者的喜好。因此需要时时刻刻保持敏捷性。

Pixeldash 工作室的多样化成功之路

$
0
0

文章最初由英特尔游戏开发人员发表于 VentureBeat*:Pixeldash 工作室的多样化成功之路。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Screenshot of fast motorcycle running into a car crash, in a winter snowy pass

Jason Tate 和 Evan Smith 在巴吞鲁日唯一的一家工作室工作时,路易斯安那州(别称塘鹅州)显然不是游戏开发者的温床。公司倒闭后,两人面临何去何从的选择:前往旧金山湾区或其他游戏开发行业的集聚地,或留在此处,最大限度地利用家乡的形势。

“我们选择留在路易斯安那州,创立自己的公司,进行游戏开发,”联合创始人兼首席编程员 Tate 表示,他和 Smith 两人组成了一个团队,Smith 担任创意总监。

2011 年,他们做出的这个决定与州政府扶植游戏行业密切相关,政府还派代表参观 E3,为独立公司提供减税计划和其他机遇,以吸引团队前来入驻。“我们搬进了名为路易斯安那州科技园区的孵化园,6 年后该园区聚集了 7 家独立公司。如今,我们拥有先进的设施,节省了很多成本。”Tate 表示。

Pixel Dash 的特别之处不仅在于该工作室只有两名成员,还在于他们通过承担客户项目为《公路救赎》游戏补充资金,该游戏已登陆 Kickstarter、Humble Store 和 Steam* Early Access 平台。“最初,我们两人完成了 10 个人的工作,”Smith 表示,“主要在社区创建持续时间较长的项目,我们不会只参加一个项目,将前景寄托在一个项目上。”

他们曾经所在的团队把所有赌注都压在一个项目上,最终项目失败了,因此,他们决定一定要为团队多留几条退路。“过去五年的经历非常有趣,我们从事各种项目,如企业客户项目、电子学习以及将我们的游戏开发技巧用于培训模拟。”Smith 表示。

是的,Pixel Dash 创建了不同主题的应用和软件,如路易斯安那州立大学的学生准备应用(创建一个游戏化的求职应用,支持学生自由设置路线中的冒险环节,最终指出学生的正确与错误之处。该工具还能提供服装方面的建议,为学生出席商务休闲场合做好准备。)

对于小团队而言,这意味着重点游戏项目的开发将持续一段时间,在此期间,维持公司的经营和业务的运转。但是,游戏化公司应用或计划并不是单向的。

“与客户合作的优势之一便是为企业提供了游戏设计的专业知识,同时也从企业那里学习了许多东西,能反过来促进游戏开发。”Tate 表示。

最终目的是确保《公路救赎》能发布完整的版本。2011 年开始开发游戏,2013 年登陆 Kickstarter* 平台,这对于独立公司而言是一个长期的历程。由于公司拥有多样化的客户,游戏将发布完整版本,这也是每位开发人员的主要目标。“Kickstarter 和 Early Access 为我们这个大型项目提供了充足的资金。所有资金直接流向开发环节,”Smith 表示。

Screenshot of fast speed motorcycle rooftop chase with guns
上图:自行车、速度、枪和屋顶追踪为《公路救赎》带来了真实的视觉风格。

《暴力摩托》的设计理念

《公路救赎》游戏基于经典公路格斗游戏《暴力摩托》的理念而设计,这点不足为奇。受《烈火战车》以及在 Sega Genesis 上发布的《街头轮滑》等游戏的启发,这款公路格斗游戏不仅收到了积极的社区反馈,玩家还通过筹资活动持续支持游戏,由此可见,此类游戏拥有一批忠实的玩家。

“我们想添加弹射武器或枪支等新品,而玩家对此的反应呈现两极分化,我们感到很惊讶。”Smith 表示。“有些完美主义者表示‘《暴力摩托》就没有配枪,这款游戏中也不应该出现枪’。”

“一部分人主张忠于原版游戏,另一部分人期待有所改动。”Tate 补充道。

社区参与以及 YouTube* 意见领袖和自媒体与观众的交互维护了《公路救赎》在玩家心中的地位。“它非常滑稽,适合在 YouTube 上传播,所以,我们邀请了 PewDiePie 每周为我们宣传两次,其他主播也推出相关内容。我们在努力建立关系……我们的视频在 YouTube 上的总播放量已经超过了 5,000 万次。”Smith 表示。

由于该团队缺乏人力和资金,无法投放传统的广告,因此,这是一个重要的营销渠道。在论坛上,玩家讨论策略,发表非常简单的评论,如“太棒了……圣诞老人用铲子打了某人的脸”。这样的论坛很受团队的重视,有助于他们利用社区反馈保持某些平衡,考虑是否满足玩家对模式的要求。

当然,还有几个便利的方法,如吸引某些知名意见领袖的关注。“早期,我们曾将许多游戏角色命名为 YouTube 的知名人士,所以他们会主动查看自己在游戏中的角色。”Smith 表示。手段高明!

Screenshot of high speed motorcycle chase, at night.Biker with a pumpkin on his head attacks other with a baseball bat
上图:在疾驰的摩托车上用棒球棒痛击敌人……孩子们,请勿在家中模仿。

“在众多的互联网评论中,难免会出现不满的声音,但当您看到某人被游戏深深吸引时,将获得不断前进的动力。”Smith 表示。这些操作还有助于他们利用社区反馈维持某些平衡,考虑是否满足玩家对模式的要求。“一种模式是仅凭一个单位的生命值赢得游戏。我们认为通关会很费时,但是几天之内,已经有人在论坛中宣布通关了。”Tate 表示。是的,他们做到了,虽然花时间进行改善及跟进各种评论,最终公司实现了理想的游戏寿命。

如果没有州政府的支持、数字分发版的易访问程度以及新兴的融资机会,公司可能无法迈过第一道障碍,也无法实现这么大的成就。

在路易斯安那州,这个团队得到了重要的支持。Pixel Dash 开始招收带薪实习生,负责路易斯安那州立大学的课程学分项目,许多实习生已经成功转为全职员工。

这和 Smith 几年前看到的机遇相距甚远,“我们都生长于路易斯安那州,从未想过家乡会为我们提供这么多支持。对个人而言,我会惊叹于游戏行业在此生根发芽。我们可以在这里开发游戏……我们拥有先进的开发套件,面向游戏机进行开发,几年前我们想都不敢想。”

现在这一切正逐渐变为现实。

英特尔虚拟现实负责人能预知未来(提示:与虚拟现实头盔无关)

$
0
0

文章最初由英特尔游戏开发人员发表于 VentureBeat*:英特尔虚拟现实负责人能预知未来(提示:与虚拟现实头盔无关)请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Shutterstock

英特尔提供

虚拟现实 (VR)是当今游戏行业的焦点话题,但是关于它的发展方向以及演变方式,仍存在许多问题。2017 年 GamesBeat 峰会举办在即,俄勒冈州英特尔® 虚拟现实卓越中心负责人 Kim Pallister 将在峰会上向参会者详细展示虚拟现实技术的未来。

虚拟现实中心隶属于英特尔客户端计算事业部,据 Pallister 所讲,该中心“推动我们的基础业务发展,即面向 PC(台式机和笔记本电脑)的英特尔芯片和解决方案销售。”作为整体任务的重要部分,Pallister 和他的团队关注 PC 如何处理虚拟现实应用,同时为用户提供最卓越的性能。

“由于虚拟现实成为多功能平台的另一个特性,我们必须清楚如何调整前代 PC、路线图以及新推出的 PC。”Pallister 解释道。

“我们的职责便是监控要求受到怎样的影响,”他补充道。“需要与 Valve*、HTC*、Oculus* 等合作伙伴开展协作,为它们规划发展路线,巩固我们的合作关系。同样,我们与 Microsoft* 密切合作,为 Microsoft* 推出的 Windows* 混合现实和 Microsoft* 帮助合作伙伴上市的 PC 互联头盔做好准备。”

Image of Kim Pallister
上图:英特尔公司的 Kim Pallister,图片来源:英特尔

 

Pallister 还表示虚拟现实中心“正对各种技术进行研发,以助力行业的发展。”这项工作形式多样:最佳实践软件技术;旨在充分利用 CPU 的示例应用和方法;提升用户体验,如开发无线的虚拟现实头盔,用户无需连接至 PC。

从虚构到现实

2017 年 GamesBeat 峰会的主题是“游戏、科幻和技术如何创建真实的魔法”。Pallister 将基于硬件和软件的未来变化发表一篇演讲,预测虚拟现实、增强现实 (AR) 以及混合现实体验在短期内的发展趋势。他还会向游戏开发人员介绍如何掌握这个处于萌芽阶段的技术,在技术快速发展的过程中保持领先地位。

“许多演讲都围绕科幻小说和虚拟现实行业发展方向的交汇,”Pallister 表示,“因此,我关注了未来中短期内英特尔以及整个行业内哪些技术具有巨大的潜力,以及技术发展对未来的内容和体验而言意味着什么。我还会探讨设计这些游戏体验将面临哪些挑战,以及如何引导用户体验。可以想象,这些话题将在峰会上引起广泛的讨论。

“硬件和软件领域的每个人都在快速发展的形势中不断学习,技术的快速发展已成为常态,人们需要耗费一定的时间才能找到高效使用工具的方法。”

谁在推动技术发展?

Pallister 指出,如果 PC 处于快速发展的全新领域的中心,将具有极其突出的表现,如今,虚拟现实便是这样一个领域。众多企业和个人都在推动创新,尝试在未知领域内抢占一席之地,导致技术飞速发展,有时会引发混乱局面。但是混乱之中也会产生秩序,秩序不是出自某个自命不凡、具有约束作用的权威人物之手,其他人只能被迫“追随领导者”,而是由发现、进步和社区精神(尽管社区成员最终会相互竞争)所创造。

“处于萌芽阶段的虚拟现实技术更是如此,PC 平台所带来的一大优势便是开放的生态系统。” Pallister 表示。“在所有人都对未来一无所知的领域内,很多人可以拥有多种选择,承担各种风险,尝试不同的事物,您可以随心所欲地做自己喜欢的事情,无需受制于某个厂商,不必追随它们所设定的未来。”

但是谁将成为 Pallister 口中推动虚拟现实变革的“很多人”?

“英特尔以及行业内的各方,包括众多硬件和平台提供商,都认为开发人员将成为推动技术发展的未来大军。因此,我们为他们提供的灵活性越高,为他们提供的工具越多样,他们越有可能成为未来道路的引导者。”

英特尔® 至强® 处理器家族具备全新的可靠性、可用性和可服务性 (RAS) 特性

$
0
0

简介

英特尔® 至强® 可扩展处理器家族为全部产品线(SKU 将命名为铜牌、银牌、金牌和铂金)推出了多项全新的可靠性、可用性和可服务性 (RAS) 特性。这些新增特性将支持平台从不良数据使用中恢复、检查不良指令并重新尝试交易以进行恢复,从而显著增强最终用户体验。该处理器还提供一种创新方法以标记出故障 DRAM 设备,从而帮助延长 DIMM 的使用寿命。

本篇宣传材料将介绍自适应双 DRAM 设备更正 (ADDDC)、高级错误检测与纠正 (AEDC)、本地机器校验异常 (LMCE) 等特性。

自适应双 DRAM 设备更正 (ADDDC)

英特尔® 至强® 处理器推出了一种创新方法,用于管理 DDR4 DRAM DIMM 可能在产品使用寿命期间诱发的错误。ADDDC 在运行时部署,可动态标记出故障的 DRAM 设备,并持续在 DIMM 上提供 SDDC ECC 覆盖,进而延长 DIMM 的使用寿命。这一操作通常在 DRAM Bank 和/或 Rank 的精细化过程中进行,以便对整个系统性能产生的影响达到最小。

随着 ADDDC 的出现,内存子系统通常配置为以性能模式运行。当 DRAM 设备的更正数量达到目标阀值,所识别的故障 DRAM 区域将在 UEFI 运行时代码的帮助下自适应地被放置在锁步模式下,以便从 ECC 中标记出 DRAM 设备的故障区域。如果是 ADDDC,高速缓冲行 ECC 将持续覆盖单个 DRAM (x4) 错误检查并将纠错算法运用于半字节。

根据处理器 SKU 的不同,每个 DDR4 渠道可支持一至两个区域,从而在 Bank 和/或完整 Rank 的粒度上管理一至两个故障 DRAM。由于这种操作存在动态性质,因此只有在 DRAM 设备被检测出故障时,系统上的锁步操作才会产生较大的性能影响。目前,锁步操作对系统性能产生的总体影响可反映出渠道中故障 DRAM 设备的数量,最坏的情况是每个 DDR4 渠道中出现两个故障 Rank。

银牌/铜牌 SKU 能够在 Bank 的粒度上提供自适应数据更正 (ADC [SR]) 功能,而铂金/金牌 SKU 则能够在 Bank 和 Rank 的粒度上提供自适应双 DRAM 设备更正 (ADDDC [MR]) 功能,还具备其他硬件功能以支持设备标记。

高级错误检测与纠正 (AEDC)

AEDC 利用专用剩余代码故障检测校验来识别和更正处理器可能在执行引擎(阵列和逻辑)中的内部通道中遭遇的错误,从而提高内核执行引擎中的故障覆盖率。AEDC 将试图重新运行指令以纠正错误。如果重新运行指令成功,将视作已纠正事件;否则将记录和发出严重 MCERR 信号。

处理器中的 AEDC 技术是独立的。它使用现有的错误信号和记录来标记错误,并且不需要操作系统提供任何特定协助就可完成这一操作。所有产品 SKU 均支持 AEDC 技术。

本地机器校验异常 (LMCE)

LMCE 是一项全新的 RAS 操作,可将对不良数据使用的处理定位在正基于不良数据执行的内核上。通过以这种方式实现本地错误处理,系统可防止多机器校验情况的出现,并提高 MCA 恢复 — 执行路径的性能。

通过实现本地错误信号发送,遭遇不良数据的各个远程内核都可调用自己的 LMCE,尝试在不被其他内核操作干扰的情况下进行恢复。LMCE 可帮助在多种极端情况下完成恢复,还可完善成功恢复的流程。

MCA 恢复 — 执行路径

MCA 恢复 — 执行路径特性支持系统在处理器无法纠正内存子系统中的数据错误的情况下持续运行,并支持软件层(操作系统、VMM、DBMS 和应用)参与系统恢复。

如果出现 SRAR 错误类型也可进行恢复,而且机器校验架构协议要求将机器校验错误 (MCERR) 广播至所有线程,并建立一个汇合点。如果临近的内核相互使用不良数据,每个发送 MCERR 错误信号的线程都可创建导致意外系统关闭的多 MCERR 情况。

LMCE 可帮助处理这种情况,具体方法是在本地将 MCERR 信号仅发送至正在使用数据的线程,从而支持每个线程从使用的不良数据情况中恢复。协议中的这种变化要求操作系统同样知道 LMCE 就绪型平台,并选择支持 LMCE 流程。

如何启用 LMCE

LMCE 支持要求处理器、UEFI 代码和操作系统支持该操作。默认情况下该操作处于禁用状态,只有每个堆栈上的组件都可用时才可启用该操作。使用 LMCE 需首先完成以下步骤:

  1. 硬件指出 SKU 支持 LMCE 的 UEFI 代码。
  2. 在固件优先的模式中,UEFI 代码必须了解 LMCE 流程并发送平台就绪信号,以支持针对该操作系统的流程。
  3. 操作系统需了解 LMCE 流程,并检查平台就绪状态以支持 LMCE。如果操作系统不知道这一特性,那么 LMCE 将保持 OFF 状态。

更多关于 LMCE 的信息请参阅英特尔® 64 和 IA-32 架构软件开发人员手册

结论

英特尔至强处理器将面向计算行业内各细分市场持续增强系统 RAS 特性产品。充分利用不同处理器 SKU(铜牌、银牌、铂金或金牌 SKU)的英特尔® 至强® 平台均可获益于这些增强功能。这些全新功能意味着可通过创新的错误检测和重新尝试机制、更加完善的恢复方法,以及性能经过优化的内存子系统(可延长 DDR4 DIMM 的使用寿命),进一步提高系统的可靠性和可用性。

参考资料

  1. 英特尔® 可靠运行技术
  2. 如何运用面向错误检测的剩余代码
  3. 错误代码检测与更正

英特尔® 至强® 可扩展处理器家族的新特性

$
0
0

这些处理器基于英特尔® 酷睿® 微架构(代号 Skylake)并采用 14 纳米制程技术上制造,性能明显高于上一代英特尔® 至强® 处理器 v4 产品家族。英特尔® 至强® 处理器家族具备多项有利于整数运算和增强安全性的新技术和新指令,以及支持分配内存带宽的新特性。

如欲了解更多有关英特尔® 至强® 可扩展处理器的主要特性和架构,请参阅技术概述文档

主要支持特性

英特尔® 内存保护扩展(英特尔® MPX)

英特尔® 内存保护扩展(英特尔® MPX)支持查看软件应用中的缓冲区溢出,并通过检查确保计划在编译时间所做的内存引用不会在正常运行期间变成不安全操作。关于如何在 Windows® 10 中实施该特性,请参阅 如何保护应用免受缓冲区溢出攻击。使用 Linux* 环境的开发人员可参阅面向 Linux* 的英特尔® 内存保护扩展(英特尔® MPX)"以了解如何使用英特尔 MPX。

更多关于英特尔 MPX 的信息请参阅本支持指南

英特尔® QuickAssist 技术(英特尔® QAT)

英特尔® QuickAssist 技术(英特尔® QAT) 通过将数据卸载至能够优化压缩、加密等功能的硬件,从而帮助加快完成这些任务。英特尔 QuickAssist 技术可用于:

  • 批量加密:对称加密和验证,以及密码操作。
  • 公共密钥加密:非对称加密、数字签名和密钥交换
  • 压缩:对动态和静态数据进行无损数据压缩。

请点击此处,了解英特尔 QuickAssist 技术如何为网络功能带来优势。本篇宣传资料介绍了英特尔 QuickAssist 技术及其压缩服务,并展示了所使用的英特尔 QuickAssist 技术 API 及其执行流程,如欲详细了解该技术如何帮助加快完成压缩任务,可加以阅读。这些视频展示了使用英特尔 QuickAssist 技术所带来的性能提升,并介绍了如何查找性能问题解决安装问题

英特尔® 高级矢量扩展指令集 512 (英特尔® AVX-512)

英特尔® 高级矢量扩展指令集 512 (英特尔® AVX-512)是一个全新的 SIMD 指令集,运行于 512 位寄存器。这一全新指令集可显著提高某些领域的应用性能,包括科学模拟、金融分析和人工智能。英特尔 AVX-512 之所以具备这一优势,是因为它能够将 8 个双精度浮点数和 16 个单精度浮点数打包在 512 位矢量中,还可打包 8 个 64 位和 16 个 32 位整数。如欲了解这些指令的应用范围,请阅读文章了解英特尔 AVX-512 指令在实施数学函数时的用途。如欲将英特尔 AVX-512 用于譬如 C/C++ 等高级语言,请阅读文档了解所有面向英特尔 AVX-512 的内部函数

以下示例展示了如何使用内部函数处理位数组

更多关于英特尔 AVX-512 的详情请阅读英特尔® 架构指令集扩展编程参考。

英特尔® Omni-Path 架构(英特尔® OPA)

英特尔® Omnii-Path 架构(英特尔® OPA)可提供低延迟、低功耗和高吞吐量等优势。有关英特尔 OPA 详情,请参阅本文档。想实施英特尔 OPA 的客户可参考本篇快速入门指南。该指南列出了正常运行英特尔 OPA 集群的基本步骤。客户如欲了解更多有关安装适用于英特尔 OPA 的软件,可参考英特尔® Omni-Path 架构(英特尔® OP 架构)软件安装指南,该指南介绍了如何安装英特尔 OPA 软件,以及如何配置英特尔 OPA 机箱、交换机等。安装软件后,接下来的一步是设置和管理该架构,然后进行调试,以使其基于客户的系统高效运行。

可靠性、可用性和可服务性 (RAS)

英特尔至强处理器 v5 推出了两项新RAS特性,分别为高级检错与纠错 (AEDC) 和本地 机器校验异常 (LMCE)。

AEDC 采用剩余校验和奇偶校验保护技术增强内核执行引擎中的故障检测功能。AEDC 通过重新运行指令尝试纠正错误。如果重新运行失败,则触发严重的 MCERR。

LMCE 可完善机器校验架构 (MCA) 的恢复执行路径事件,并提高恢复几率。该特性通过让耗费线程的未纠正数据处理错误,而不是向系统中的其他线程广播严重的 MCERR 事件(将导致阻止系统恢复),以此提高恢复几率。

更多相关信息请参阅英特尔至强可扩展处理器家族全新可靠性特性文章

:LMCE 是一项高级 RAS 特性,仅支持四路或更高版本的系统。


英特尔® 至强® 处理器可扩展家族技术概述

$
0
0

要点综述

英特尔采用了与前代处理器相关的 tick-tock 模式。新一代英特尔® 至强® 处理器可扩展家族(原代号为 Skylake-SP)是一个基于 14 纳米制程技术的“tock”。大规模架构改进在“tock”上执行,而小规模架构改进和芯片微缩在“tick”上执行。

Tick-Tock model
图 1.Tick-Tock 模式。

基于 Purley 平台的英特尔至强处理器可扩展家族是一个全新的微架构,与前代英特尔® 至强® 处理器 E5-2600 v4 产品家族(原代号为Broadwell 微架构)相比,添加了许多全新特性,包括更大的处理器内核数量,更高的内存带宽、非包含高速缓存、英特尔® 高级矢量扩展指令集 512(英特尔® AVX-512)、英特尔® 内存保护扩展(英特尔® MPX)、英特尔® 超级通道互连(英特尔® UPI)和 sub-NUMA 集群。

前代双路和四路处理器家族划分为不同的产品线。英特尔至强处理器可扩展家族采用了与新一代处理器相关的所有处理器模型,这是一个重大变化。英特尔至强处理器可扩展家族的处理器可从双路配置扩展为八路配置。它们具有最卓越的可扩展的可靠性能,各种特性和集成专为满足各种工作负载的需求而设计,是一款精选的英特尔平台。

New branding for processor models
图 2.处理器模型的品牌名称。

铜级到白金级的所有产品均提供双路英特尔至强处理器可扩展家族配置,黄金级到白金级产品提供四路配置,八路配置仅限于白金级。铜级产品提供的特性最少,随着等级的上升,特性随之增多。白金级产品涵盖所有处理器插槽数量(2 到 8 个),提供全部可用特性。

简介

本文介绍了英特尔至强处理器可扩展家族的全新特性和改进,指导开发人员充分利用这些特性和改进。

英特尔® 至强® 处理器可扩展家族微架构概述

Block Diagram of the Intel® Xeon® processor scalable family microarchitecture
图 3.英特尔® 至强® 处理器可扩展家族微架构的结构图。

基于 Purley 平台的英特尔至强处理器可扩展家族提供最高 28 个内核,和前代 22 核处理器相比,提供了更强大的计算功能。其他的改进包括非包含高速缓存、最后一级高速缓存、更大的 1MB L2 高速缓存、更快的 2666 MHz DDR4 内存、每 CPU 提升至 6 个内存通道、全新的内存保护特性、英特尔® Speed Shift 技术、片上 PMAX 检测、英特尔® Omni-Path 架构(英特尔® OPA)集成结构、互联网广域 RDMA 协议 (iWARP)*、内存带宽分配、英特尔® Virtual RAID on CPU(英特尔® VROC)等。

表 1。英特尔至强处理器可扩展家族、英特尔® 至强® 处理器 E5-2600 和 E7-4600 产品家族对比。

Table 1 generational comparison

英特尔至强处理器可扩展家族特性概述

接下来,本文将介绍英特尔至强处理器可扩展家族的性能改进、新功能、安全和虚拟化增强特性。

表 2.英特尔至强处理器可扩展家族的新特性和技术。

Table 2 New features and technologies

Skylake Mesh 架构

基于 Grantley 平台的前代英特尔® 至强® 处理器家族(原代号为 Haswell 和 Broadwell)的处理器、内核、最后一级高速缓存 (LLC)、内存控制器、IO 控制器和和插槽间英特尔® 快速通道互联技术(英特尔® QPI)端口通过环形架构连接在一起,近几代英特尔® 多核 CPU 均采用了这种架构。随着 CPU 内核数量的增多,访问延迟变长,每个内核的可用带宽减少。通过将芯片一分为二,采用另一个环来缩短距离、提高带宽,有效缓解了这一状况。

Platform ring architecture
图 4.基于 Grantley 平台环形架构的英特尔® 至强® 处理器 E5-2600 产品家族(原代号为 Broadwell-EP)。

英特尔® 至强® 处理器可扩展家族提供了更多的每处理器内核数量和更高的内存和 I/O 带宽,对片上互联的额外需求将限制环形架构的性能。因此,英特尔至强处理器可扩展家族推出了网格架构,以消除前代环形架构日益严重的延迟和带宽限制。英特尔至强处理器可扩展家族还以模块化、分布式的方式将缓存代理、归属地代理和 IO 子系统模块集成至网格互联,以消除访问这些功能时遇到的瓶颈。每个内核和 LLC 片具有整合的缓存和归属地代理 (CHA),为整个网格的资源提供出色的可扩展性,实现了英特尔® 超级通道互联(英特尔® UPI)高速缓存一致性功能,无需任何热点。

英特尔至强处理器可扩展家族网格架构包含一系列垂直和水平通信路径,以最短的路径实现内核间的遍历(在垂直路径上纠正行,在水平路径上纠正列)。每个 LLC 片上的 CHA 将获取的地址映射至特定的 LLC 存储区、内存控制器或 IO 子系统,并借助网格互联提供到达目的地所需的路由信息。

Intel Xeon processor Scalable family mesh architecture
图 5.英特尔至强处理器可扩展家族网格架构。

除了改善总体的内核至缓存以及内核至内存延迟,我们还计划改善 IO 启动访问的延迟。在前代处理器中,为了访问 LLC、内存或 IO 中的数据,内核或 IO 需要在环内运行,当源和目标不在同一个环上时,需要访问环之间的交换机。在英特尔至强处理器可扩展家族中,内核或 IO 可以在网格内以最短的路径访问 LLC、内存或 IO 中的数据。

英特尔® 超级通道互联(英特尔® UPI)

前代英特尔® 至强® 处理器采用英特尔 QPI,英特尔至强处理器可扩展家族将其替换为英特尔 UPI。英特尔 UPI 是面向可扩展系统的一致性互联,在单个共享地址空间内集成了多个处理器。支持英特尔 UPI 的英特尔至强处理器提供两到三个英特尔 UPI 链路,利用高速、低延迟路径连接至其他英特尔至强处理器的 CPU 插槽。英特尔 UPI 采用基于目录的归属地探听一致性协议,将运行速度提高至高达 10.4 GT/秒,通过 L0p 状态低功耗状态改善能效,借助全新分包格式提升链路上的数据传输效率,改善了协议层,如无需预分配,便可消除英特尔 QPI 的可扩展限制。

Typical two- socket configuration
图 6.典型的双路配置。

Typical four-socket ring configuration
图 7.典型的 4 路环形配置。

Typical four-socket crossbar configuration
图 8.典型的 4 路交叉矩阵配置。

Typical eight-socket configuration
图 9.典型的 8 路配置。

英特尔® 超级通道互联缓存和归属地代理

前代英特尔至强处理器在每个内核实施了一个分布式英特尔 QPI 缓存代理,在每个内存控制器实施了一个集中式英特尔 QPI 归属地代理。英特尔至强处理器可扩展家族实施了整合的 CHA,分布于每个内核和 LLC 存储区,因此,随着内核数量和 LLC 存储区数量的增加,将提供更多的资源。CHA 负责跟踪内核的请求,响应本地和远程代理的探听,以及解决多个处理器的一致性问题。

英特尔 UPI 支持以分布式的方式实施归属地代理,无需预分配资源。分布式归属地代理逻辑上仍是单个英特尔 UPI 代理,在不同的 CHA 上交叉地址,因此,无论使用了多少个内核、内存控制器或采用了何种 sub-NUMA 集群模式,可见的英特尔 UPI 节点数量始终为 1。每个 CHA 实施一个聚合 CHA 功能片段,负责映射至该片段的部分地址空间。

sub-NUMA 集群

sub-NUMA 集群 (SNC) 类似于与 Haswell 组合推出的片上集群 (COD) 特性,两者之间也存在一些差异。SNC 将本地内存控制器的地址映射至与该内存控制器相近的 LLC 片的二分之一,将映射至另一个内存控制器的地址映射至另一半 LLC 片,从而在一个处理器中创建两个本地化域。通过地址映射机制,相比映射至其他 SNC 域的地址的访问,在 SNC 域上内核运行的程序(使用位于相同 SNC 域的内存控制器的内存)降低了 LLC 和内存延迟。

不同于高速缓存行在每个集群的 LLC 上进行复制的 COD 机制,SNC 为 LLC 中每个地址分配独特的位置,不会在 LLC 存储区内复制。每个 SNC 域 的 LLC 地址本地化仅适用于在同一个插槽内映射至内存控制器的地址。映射至远程插槽内存的所有地址均匀分布在所有 LLC 存储区内,不受 SNC 模式的限制。因此,即使在 SNC 模式中,每个内核都可以使用插槽上的所有 LLC 容量,CPUID 报告的 LLC 容量不受 SNC 模式的影响。

图 10 显示包含 SNC 域 0 和 1、相关内核、LLC 和内存控制器的双集群配置。每个 SNC 域包含插槽上二分之一的服务器、二分之一的 LLC 域、一个支持 3 通道 DDR4 内存的内存控制器。借助常用的 NUMA 关联参数在操作系统内显示域内内核、LLC 和内存的关联,调度任务或分配内存时 SNC 域将被考虑在内,以实现最佳性能。

SNC 要求内存不能以精细的方式在内存控制器内交叉。此外,需通过 BIOS 启用 SNC 模式,显示每插槽上的两个 SNC 域,设置资源关联和延迟参数,以供 NUMA 基元使用。

Sub-NUMA cluster domains
图 10.sub-NUMA 集群域。

基于目录的一致性

前代英特尔至强处理器支持 4 种探听模式(无探听、早期探听、归属地探听和目录模式),而英特尔至强处理器可扩展家族仅支持目录模式。高速缓存结构变为非包含 LLC 后,根据高速缓存行在高速缓存结构中位置的不同,探听模式的延迟将变长。随着内存带宽的增加,插槽间英特尔 UPI 带宽变得尤为稀缺,如果不必要的探听被发送至远程插槽,UPI 带宽成为影响系统性能的瓶颈。因此,相比前代英特尔至强处理器,英特尔至强处理器可扩展家族中各种探听模式的优化方法不同,复杂的多种探听模式没有带来任何优势。

英特尔至强处理器可扩展家族保留了前代处理器的部分一致性优化,并添加了新的优化,以降低有效内存延迟。例如,英特尔至强处理器可扩展家族不仅继续支持某些目录高速缓存优化,如 IO 目录高速缓存和 HitME 高速缓存,还对其进行了加强。仍支持随机广播特性,但是仅限在写入本地内存时使用该特性,以避免目录查找引发内存访问。

对于 IO 目录高速缓存 (IODC),英特尔至强处理器可扩展家族为远程插槽的 IO 写入高速缓存目录状态提供每 CHA 8 条目目录高速缓存。为了将更新数据存入内存或归属地插槽 LLC,IO 写入通常需要多个交易,回写后使所有高速缓存代理的高速缓存行失效。目录信息存储在内存后,检索和更新目录状态需要多个访问。IODC 将目录信息缓存在 IODC 结构中,以减少 IO 写入对内存的访问。

HitME 高速缓存用于缓存目录信息,加快高速缓存到高速缓存传输的速度,是 CHA 提供的另一个功能。借助 CHA 的分布式归属地代理架构,HitME 高速缓存资源随着 CHA 数量的增加而扩展。

随机探听广播 (OSB) 是从前代处理器沿袭至英特尔至强处理器可扩展家族的另一大特性。当英特尔 UPI 链路处于负载较轻的状态时,OSB 广播开始探听,以避免目录查找内存,降低内存带宽。在英特尔至强处理器可扩展家族中,OSB 仅用于本地 InvItoE(由内核或 IO 的整行写入生成)请求,原因是该操作无需数据读取。避免目录查找能直接影响内存带宽。

高速缓存结构的变化

Generational cache comparison
图 11.各代处理器的高速缓存对比。

前代处理器的中级高速缓存为每内核 256 KB,最后一级高速缓存为每内核 2.5 MB 共享包含式高速缓存。英特尔至强处理器可扩展家族对高速缓存结构进行了调整,提供更大的每内核 1 MB MLC 和更小的每内核 1.375 MB 共享非包含 LLC。MLC 越大,命中率越高,可降低有效内存延迟以及对网格互联与 LLC 的要求。相比包含式高速缓存,非包含 LLC 提高了片上高速缓存的总体有效利用率。

如果英特尔至强处理器可扩展家族的内核丢失了所有级别的高速缓存,将获取内存中的高速缓存行,然后直接存入该内核的 MLC,前代产品则需将副本存入 MLC 和 LLC。需要重新利用的高速缓存行从 MLC 中清除后,将被置于 LLC。

鉴于 LLC 的非包含属性,LLC 中高速缓存行的缺失并不代表它不存在于某个内核的专有高速缓存内。因此,当高速缓存行未被分配至 LLC 时,借助探听过滤器在内核的 L1 或 MLC 中进行追踪。而在前代 CPU 中,此任务由共享 LLC 处理。

我们在不同的内核上运行了各种应用后发现,尽管英特尔至强处理器可扩展家族对高速缓存结构进行了调整,但每内核有效高速缓存和前代产品大致相同。基于 LLC 的非包含特性,对于在单个内核上运行的应用,其有效高速缓存容量是 MLC 高速缓存容量和部分 LLC 高速缓存容量之和。在其他应用场景中,如在多个内核上运行的、共享代码和数据的多线程应用,或仅使用插槽上部分内核的应用,应用的有效高速缓存容量可能与前代 CPU 有所不同。在某些情况下,应用开发人员可能需要利用英特尔至强处理器可扩展家族的现有高速缓存结构调整代码,优化应用。

页面保护密钥

由于存在遗失写入,复杂的多线程应用面临内存破坏问题。例如,所有数据库应用代码并非都需要同样的权限级别。日志写入进程应拥有日志缓冲区的写入权限,但在其他页面应仅有读取权限。同样,如果某个应用包含与关键数据结构相关的生产者线程和消费者线程,在特定页面,生产者线程将拥有消费者线程不具备的额外权限。 

基于页面的内存保护机制可强化应用。但是,页表变化需关闭转换后备缓冲区 (TLB),引起 TLB 缺失,对性能产生不利影响。保护密钥授权或撤销用户级访问许可,无需更改页表。

保护密钥为用户页面提供 16 个域,利用页表叶片节点(如 PTE)的位 62:59 确定保护域 (PKEY)。每个保护域包含两个权限位,位于名为 PKRU 的全新线程专有寄存器。在存储器中,页表查找用于确定存储器的保护域 (PKEY),PKRU 寄存器内容用于确定相应的保护域许可,查看是否已授权访问和写入许可。在保护密钥和传统页面许可的共同允许下才能授权访问。保护密钥错误被报告为带有新页面错误代码位的页面错误。保护密钥不会影响管理页面,但是管理程序访问用户页面需经过校验,校验方式和用户访问相同。

Diagram of memory data access with protection key
图 12.利用保护密钥访问内存数据的结构图。

启用保护密钥前,需要获得虚拟机管理器、操作系统和编译器的支持。由于该特性是对内存管理架构的扩展,使用该特性不会影响性能。

英特尔® 内存保护扩展(英特尔® MPX)

C/C++ 指示器算法是一个简单易用的语言结构,通常用于处理一组数据结构。如果迭代写入操作没有考虑目的地的范畴,相邻内存位置将被损坏。相邻数据的意外改变被称为缓冲区溢出。缓冲区溢出以被利用、继而引发拒绝服务 (DoS) 攻击和系统崩溃而著称。同样,不可控读取将泄漏加密密钥和密码。更为恶意的攻击通过修改代码执行路径,如堆栈帧中的返回地址,执行恶意代码或脚本,用户或系统管理员很难在第一时间察觉恶意攻击。

英特尔病毒防护技术和其他厂商提供的类似硬件特性有效阻止了缓冲区溢出攻击,避免执行被重新定向为以数据形式存储的恶意代码。英特尔® MPX 技术包括全新英特尔® 架构指令和寄存器,编译器可利用寄存器在使用之前检查指示器的运行时范畴。这项新硬件技术受编译器的支持。

New Intel® Memory Protection Extensions instructions and example of their effect on memory
图 13.全新英特尔® 内存保护扩展指令和它们对内存的影响。

如欲获取更多信息,请查看英特尔® 内存保护指令启动指南。

基于模式的执行 (MBE) 控制

MBE 提供精细的执行许可控制,帮助保护系统代码的完整性,使其免受恶意更改。还对扩展页表 (EPT) 进行其他修改,将执行启用 (X) 权限位变为两个选项:

  • XU 用于用户页面
  • XS 用于管理页面

CPU 根据客户机页面的许可选择一个选项,如果页面不支持其写入与执行管理程序,保持不变。管理程序能更可靠地验证与加强内核级代码的完整性,这是该特性的一大优势。XU/XS 位的值由管理程序提供,因此管理程序支持是必不可少的。

英特尔® 高级矢量扩展指令集 512(英特尔® AVX-512)

Generational overview of Intel® Advanced Vector Extensions technology
图 14.各代英特尔® 高级矢量扩展指令集技术概述。

英特尔® 高级矢量扩展指令集 512(英特尔® AVX-512)最初与英特尔® 至强融核™ 处理器产品线(前代号为 Knights Landing)一同推出。某些英特尔 AVX-512 指令组(AVX512CD 和 AVX512F)通用于英特尔® 至强融核™ 处理器产品线和英特尔至强处理器可扩展家族。英特尔至强处理器可扩展家族推出了全新英特尔 AVX-512 指令组(AVX512BW 和 AVX512DQ)和新功能 (AVX512VL),进一步扩展了该项技术的优势。AVX512DQ 指令组面向高性能计算 (HPC) 工作负载添加了全新特性,涵盖了石油和天然气、地震建模、金融服务业、分子动力学、光线跟踪、双精度矩阵乘法、快速傅立叶变换与卷积以及 RSA 加密。AVX512BW 指令组支持字节/字操作,为企业应用、媒体应用和 HPC 带来重要优势。AVX512VL 是一个与矢量长度正交性相关的特性,而非指令组。

前代处理器 Broadwell 提供最高每内核两个浮点 FMA(融合乘加),英特尔至强处理器可扩展家族提供相同的优势。由于英特尔至强处理器可扩展家族上的 FMA 由 256 位扩展至 512 位,因此可扩展家族可处理的单元数量是 Broadwell 的两倍。

Generation feature comparison of Intel® Advanced Vector Extensions technology
图 15.各代英特尔® 高级矢量扩展指令集技术的特性。

英特尔 AVX-512 指令集为软件开发人员提供最高等级的支持,指令设计的丰富程度达到前所未有的水平,包括封包浮点数据或封包整数数据上的 512 位操作、嵌入式舍入控制(撤销全球设置)、嵌入式广播、嵌入式浮点故障抑制、嵌入式内存故障抑制、额外的集中/分散支持、高速数学指令和高位移值的紧凑表示。下文详细介绍了英特尔 AVX-512 的几个特性。

AVX512DQ

由 AVX512DQ CPUID 标签表示的双字和四字指令,有助于增强整数和浮点操作,包含在 512 位矢量(16 个 32 位单元或 8 个 64 位单元)上运行的其他指令。某些指令提供新功能,如将浮点数字转换为 64 位整数。其他指令改善现有的指令,如通过 vxorps 指令使用 512 位寄存器。

AVX512BW

由 AVX512BW CPUID 标签表示的字节和字指令,有助于增强整数操作,扩展写入掩码和零掩码,使其支持更小的单位。由于 512 位矢量寄存器能容纳最多 16 个 32 位单元,因此,原始英特尔 AVX-512 基础指令支持矢量单位为 32 或 64 位的掩码,16 位写入掩码即可满足需求。

由于 512 位矢量寄存器能容纳 64 个 8 位单元或 32 个 16 位单元,由 AVX512BW CPUID 标签表示的指令需要高达 64 位的写入掩码大小。为支持此操作,推出两个全新的掩码类型(_mmask32 和 _mmask64)以及其他可屏蔽内联函数。

AVX512VL

一种名为矢量长度指令的正交功能不仅支持英特尔 AVX-512 指令运行于 512 位单元,还支持其运行于 128 或 256 位单元。矢量长度指令目前适用于多数基础指令和冲突检测指令,以及新字节、字、双字和四字指令。这些英特尔 AVX-512 矢量长度指令由 AVX512VL CPUID 标签表示。矢量长度指令对多数英特尔 AVX-512 操作进行扩展,支持其运行于 XMM(128 位,SSE)寄存器和 YMM(256 位,AVX)寄存器。矢量长度指令还提供 EVEX 编码功能,包括使用屏蔽寄存器和访问寄存器 16..31,不仅适用于 ZMM 寄存器,还适用于 XMM 和 YMM 寄存器。

屏蔽寄存器

在前代英特尔® 高级矢量扩展指令集和英特尔® 高级矢量扩展指令集 2 中,屏蔽位的功能仅限制于负载和存储操作。英特尔 AVX-512 对这一特性进行了大幅扩展,利用 8 个全新的 opmask 寄存器进行条件执行和对目标操作数的高效合并。每个 opmask 寄存器的宽度均为 64 位,标记为 k0–k7。在 8 个 opmask 寄存器中,7 个(k1–k7)寄存器能与 EVEX 编码的英特尔 AVX-512 基础指令结合使用,以提供条件处理,如与只能部分填充寄存器的矢量化剩余结合使用。如需对所有数据元素进行无条件处理,Opmask 寄存器 k0 通常被视作“非掩码”。此外,opmask 寄存器还被用作矢量标记/单元级矢量源,为 VCOMPRESSPS 等指令引入全新的 SIMD 功能。操作系统利用 XSAVE/XRSTOR/XSAVEOPT 指令管理 512 位 SIMD 寄存器和 opmask 寄存器支持。(请查看《64 位和 32 位英特尔® 架构软件开发人员手册》第 2B 卷和《64 位和 32 位英特尔® 架构软件开发人员手册》第 3A 卷)。

Example of opmask register k1
图 16.opmask 寄存器 k1 示例。

嵌入式舍入

嵌入式舍入支持为个人操作明确指定浮点舍入模式,提供了额外的数学计算支持,无需修改 MXCSR 控制寄存器中的舍入控制。在前代 SIMD 指令扩展集中,舍入控制一般在 MXCSR 控制寄存器中指定,若干指令通过编码 imm8 操作数内的字段提供每指令舍入撤销。英特尔 AVX-512 提供更灵活的编码属性,以撤销基于 MXCSR 的舍入对包含舍入语义的浮点指令的控制。嵌入 EVEX 前缀的舍入属性被称作静态(每指令)舍入模式或舍入模式撤销。静态舍入还体现了异常抑制 (SAE),如同禁用了所有浮点异常,没有设置任何状态标记。静态舍入为除法和平方根的中间步骤提供了更好的精度控制,同时在最后一步使用缺省 MXCSR 舍入模式。在某些情况下,还有助于确保最低有效位的精度,如三角函数中的范围缩小。

嵌入式广播

嵌入式广播提供位字段,用于面向某些 load-op 指令编码数据广播,如从内存中加载数据并执行计算和数据传输操作的指令。来自内存的源单位可在有效源操作数的所有单位内广播(重复),无需额外的指令。当我们想在矢量指令的所有操作中重复使用相同的标量操作数时,这个方法非常有用。嵌入式广播仅在单位大小为 32 或 64 位的指令上启用,字节或字指令上无法启用。

四字整数算法

四字整数算法消除了对昂贵的软件模拟序列的需要。这些指令包括双字/四字索引的收集/分散和部分执行的指令(k-reg 掩码被用作完成掩码)。

表 3.四字整数算法指令。

Table 3 Quadword integer arithmetic instructions

数学支持

数学支持旨在协助数学库写入,为金融应用提供优势。可用的数据类型包括 PS、PD、SS、SS.IEEE 除法/平方根格式、DP 超越基元和全新超越支持指令。

表 4.数学支持指令。

Table 4 Math support instructions

全新的置换基元

英特尔 AVX-512 推出全新的置换基元,如带 16/32 条目表查找和超越支持的双来源 shuffle、矩阵转置和一个可变的 VALIGN 模拟。

表 5.双来源 shuffles 指令。

Table 5 2-Source shuffles instructions

Example of a 2-source shuffles operation
图 17.双来源 shuffles 操作示例。

压缩与反压缩

压缩与反压缩支持条件循环的矢量化。和 FORTRAN 压缩/解压内联函数相似,它也提供内存故障抑制,速度高于收集/分散,还提供了相反的压缩操作功能。下图显示了反压缩操作的示例。

Expand instruction and diagram
图 18.反压缩指令和示意图。

位操作

英特尔 AVX-512 在掩码和矢量操作数上提供位操作支持,包括矢量旋转。可以利用这些操作处理掩码寄存器和密码算法。

表 6.位操作指令。

Bit manipulation instructions

通用三元逻辑操作算

通用三元逻辑操作提供模拟 FPGA 单元的方法,是英特尔 AVX-512 的另一大特性。VPTERNLOGD 和 VPTERNLOGQ 指令在双字和四字单元上运行,收集每个输入数据单元的 3 位矢量,形成一套 32/64 索引,其中,3 位值为指令 imm8 字节表示的 8 位查找表提供索引。imm8 字节的 256 种可能值构成了一张 16x16 布尔逻辑表,可以在表内填入简单或复合布尔逻辑表达式。

冲突检测指令

英特尔 AVX-512 推出全新的冲突检测指令,包括 VPCONFLICT 指令和部分支持指令。VPCONFLICT 指令检测索引矢量中曾经存在冲突的元素。它能利用部分元素生成掩码,并确保掩码无冲突。剩下的元素将重新执行计算循环,直到所有索引运行完毕。

表 7.冲突检测指令。

Conflict detection instructions

VPCONFLICT{D,Q} zmm1{k1}{z},zmm2/B(mV),逐一对比 ZMM2 中的每个元素,生成确定匹配的掩码,但忽略当前元素左边的“新”元素。

Diagram of mask generation for VPCONFLICT
图 19.VPCONFLICT 生成掩码示意图。

为了更好地利用 CDI,借助英特尔® C++ Composer XE 2016 中的英特尔编译器 16.0 版识别潜在的运行时冲突并自动生成 VPCONFLICT 循环

超越支持

为了加快某些超越数学计算的速度,为 VEXP2PD、VEXP2PS、VRCP28xx 和 VRSQRT28xx 指令提供了额外的 512 位指令扩展集,这些指令也被称作英特尔 AVX-512 指数和倒数指令。这些支持将使金融应用受益。

编译器支持

英特尔 C++ Composer XE 2016和 GNU* 编译器套装 (GCC) 5.0(NASM 2.11.08 和 binutils 2.25)中的英特尔编译器 16.0 版对英特尔 AVX-512 进行了优化。表 8 总结了利用英特尔 AVX-512 在英特尔至强处理器可扩展家族微架构上进行优化的编译器参数。

表 8.英特尔至强处理器可扩展家族编译器优化概述。

Table 8 Summary of Intel Xeon processor Scalable family compiler optimizations

如欲获取更多信息,请参阅《英特尔® 架构扩展指令集编程参考》

面向虚拟化的时间标记计数器 (TSC) 增强特性

英特尔至强处理器可扩展家族推出全新的 TSC 扩展特性,以协助虚拟机在不同系统间的迁移。在前代英特尔至强处理器中,虚拟机的 TSC 从一个平台迁移到另一个平台时,无法自动调整与弥补服务器频率的差异。除保留前代 CPU 的偏移特性外,英特尔至强处理器可扩展家族还添加了扩展特性,增强了 TSC 的虚拟化支持。如欲获取关于此特性的更多信息,请参阅英特尔® 64 SDM(搜索“TSC 扩展”,如第 3A 卷 24.6.5 部分、25.3 部分和 36.5.2.6 部分)。

英特尔® 资源调配技术(英特尔® RDT)

英特尔® 资源调配技术(英特尔® RDT)是一系列专门用于监控和管理共享资源的技术。请观看《利用英特尔® 资源调配技术优化资源利用率》,该视频详细介绍了英特尔 RDT 的主要原则。英特尔 RDT 现有的特性提供高速缓存监控技术 (CMT)、高速缓存分配技术 (CAT)、内存带宽监控 (MBM)和代码数据优先级 (CDP) 等优势。基于 Purley 平台的英特尔至强处理器可扩展家族推出名为内存带宽分配 (MBA) 的全新特性,该特性旨在提供每线程内存带宽控制。借助该软件,可限制每线程或每内核的内存带宽消耗量。该特性可与 MBM 结合使用,有效隔离噪邻。《64 位和 32 位英特尔® 架构软件开发人员手册 (SDM)》第 3 卷第 17.16 章详细介绍了英特尔 RDT 特性的编程方法。该特性需在操作系统或 VMM 级启用后才能使用,面向 32 位、64 位英特尔®架构和英特尔®架构(英特尔® VT-x)特性的英特尔® 虚拟化技术(英特尔® VT)必须在 BIOS 级启用。如欲获取设置英特尔 VT-x 的指令,请参考您的 OEM BIOS 指南。

内存带宽监控 (MBM)

Conceptual diagram of using Memory Bandwidth Monitoring
内存带宽分配 (MBA)

 

Conceptual diagram of using Memory Bandwidth Monitoring
图 20.利用内存带宽监控确定噪邻(内核 0),然后利用内存带宽分配提高内存带宽优先级的概念图。

英特尔® Speed Shift 技术

硬件电源管理 (HWPM) 特性由 Broadwell 推出,借助这个全新的处理器硬件电源管理可选特性,操作系统不再决定处理器频率。HWPM 支持平台提供所有限制的相关信息,有助于硬件选择最佳操作点。硬件可独立运行,利用软件无法使用的信息做出关于 p 状态和 c 状态的优化决定。基于 Purley 平台的英特尔至强处理器可扩展家族扩大了受其影响的状态范围,通过功耗控制单元 (PCU) 提供了更出色的粒度和微架构可观察性,扩展了该特性。运行于 Broadwell 上的 HWPM 处于自动模式,也被称为带外模式 (OOB),不会引起操作系统的注意。英特尔至强处理器可扩展家族也支持该模式,同时提供了 HWPM 和操作系统之间相互协作的选项,也被称作本地模式。操作系统可随时随地直接控制性能和功耗分析的调优,而在其他地方,PCU 可在缺少操作系统限制的情况下自动控制。在本地模式中,英特尔至强处理器可扩展家族能面向传统操作系统优化频率控制,同时为现代操作系统提供全新的应用模式。最终用户可在 BIOS 中设置上述选项;请查看《OEM BIOS 指南》,获取更多信息。支持与本地模式完全集成的现代操作系统包括 Linux* kernel 4.10 及以上版本和 Windows Server* 2016。

PMax 检测

处理器实施的检测电路能提高检测速度,加快对 PMax 级加载事件的响应。之前的 PMax 检测电路位于电源设备 (PSU) 或系统主板,英特尔至强处理器可扩展家族的新检测电路主要位于处理器之上。总体而言,英特尔至强处理器可扩展家族装配的 PMax 检测电路比前代 PMax 检测方法的检测速度更快,响应时间更短。PMax 检测到已超过电源限制时,将降低处理器的功耗。这有助于在 turbo 模式中控制与病毒应用相关的 PMax 高峰,无需等待 PSU 的响应。PMax 加载事件显著缩短了响应时间,并可能节省电源成本。最终用户可在 BIOS 中设置 PMax 检测:详情请参阅《OEM BIOS 指南》。

英特尔® Omni-Path 架构(英特尔® OPA)

英特尔® Omni-Path 架构(英特尔® OPA)是英特尔® 可扩展系统框架的重要组件,为将来的高性能计算 (HPC) 提供强大性能,可扩展至数万个节点,而且与当今的结构相比,价格上极具竞争力。英特尔 OPA 100 系列产品线是一款面向 PCIe* 适配器、芯片、交换机、线缆和管理软件的端到端解决方案。继英特尔® True Scale Fabric之后,这个经过优化的 HPC 结构基于增强的 IP 和英特尔® 技术而构建。

对于软件应用,英特尔 OPA 将借助开源开放架构联盟 (OFA) 软件堆栈发布领先的 Linux 发行版,与现有的英特尔 True Scale Fabric 和 InfiniBand* API 保持一致性与兼容性。英特尔 True Scale Fabric 的用户将通过升级计划迁移至英特尔 OPA。

基于 Purley 平台的英特尔至强处理器可扩展家族通过以下任意一种形式支持英特尔 OPA:利用英特尔® Omni-Path 主机架构接口 100 系列插卡或特定的处理器模型线 (SKL-F),该模型线存在于集成了主机架构接口的英特尔至强处理器可扩展家族中。处理器上的结构整合在主板拥有专用通道,不会影响插卡使用的 PCIe 通道。该架构能实现最高 100 Gb/秒的每服务器插槽速率。

英特尔正与开源社区通力合作,为所有主机组件提供与 Delta Package 发行版共同推出的改进。OSV 正与英特尔开展协作,将更多特性集成至未来的操作系统分发版。使用 PSM 的、面向英特尔 True Scale Fabric 的现有的消息传递接口 (MPI) 程序和 MPI 库将在英特尔 Omni-Path 主机架构接口上正常运行,无需重新编译,尽管重新编译将带来额外的优势。

请访问英特尔下载中心获得软件支持,请访问英特尔® Parallel Studio XE 2017

获得编译器支持

英特尔 QuickAssist 技术

英特尔® QuickAssist 技术(英特尔® QAT)通过将数据卸载至可优化相应功能的硬件,对加密工作负载进行加速与压缩。开发人员可以更轻松地将内置加密加速器集成至网络、存储和安全应用中。在基于 Purley 平台的英特尔至强处理器可扩展家族中,英特尔 QAT 被集成至 Purley 平台上英特尔® C620 系列芯片组(原代号为 Lewisburg)的硬件中,提供 100 Gbs 加密、100Gbs 压缩、100kops RSA 和 2k 解密等卓越功能。以下领域将从该项技术中获益:

  • 服务器:安全浏览、电子邮件、搜索、大数据分析 (Hadoop)、安全的多租户、IPsec、SSL/TLS、OpenSSL
  • 网络:防火墙、IDS/IPS、VPN、安全路由、网络代理、WAN 优化(IP 压缩)、3G/4G 身份验证
  • 存储:实时数据压缩、静态数据压缩、安全存储。

支持以下算法:

  • 密码算法:Null、ARC4、AES(密钥大小为 128、192、256)、DES、3DES、Kasumi、Snow3G 和 ZUC
  • 支持以下散列/身份验证算法:MD5、SHA1、SHA-2(输出大小为 224、256、384、512)、SHA-3(输出大小仅为 256)、高级加密标准(密钥大小为 128、192、256)、Kasumi、Snow 3G 和 ZUC
  • 身份验证加密 (AEAD) 算法:AES (密钥大小为128、192、256)
  • 、公共密钥加密算法:RSA、DSA、Diffie-Hellman (DH)、大数字算法、ECDSA、ECDH、EC、SM2 和 EC25519

ZUC 和 SHA-3 是第三代英特尔 QuickAssist 技术的全新算法,英特尔® C620 系列芯片组采用了该技术。

英特尔® 密钥保护技术(英特尔® KPT)是英特尔 QAT 的新补充特性,基于 Purley 平台的英特尔至强处理器可扩展家族(搭载英特尔® C620 系列芯片组)采用了该特性。当加密密钥在平台上存储与使用时,可以借助英特尔 KPT 保护密钥免受平台级软件和硬件的攻击。这个全新的特性注重在运行时应用中保护密钥,已在各种工具、技术和 API 框架中配置。

如欲获取更详细的概述,请参阅面向存储、服务器、网络和基于云的部署的英特尔® QuickAssist 技术。编程和优化指南详见 01 英特尔开源网站

互联网广域 RDMA 协议 (iWARP)

iWarp 技术支持网卡管理的网络流量忽略内核,降低网络相关的中断对服务器的影响。网卡通过队列对进行通信,直接将流量交付至应用用户空间,实现了上述功能。受网络流量的影响,大型存储块和虚拟机迁移将对 CPU 造成更大负担。此时需要充分发挥 iWARP 的优势。通过使用队列对,了解数据的传输方向,便可以将数据直接放置在应用用户空间。这样做可消除内核空间和用户空间中额外的数据副本,如果没有 iWARP,通常无法避免副本的产生。

如欲了解更多信息,请观看关于如何利用 iWARP 技术加速以太网

的视频

iWARP comparison block diagram
图 21. iWARP 对比结构图。

Purley 平台包含集成式英特尔以太网连接 X722,最多配备 4 个提供 iWARP 支持的 10 GbE/1 Gb 连接。这个新特性能为各个领域带来优势,包括网络功能虚拟化和软件定义基础设施。它还能与数据平面开发套件相结合,通过数据包转发带来更多优势。

iWARP 利用 VERB API(而非传统插槽)进行通信。OFED 为 Linux* OFA 提供 VERB API,而 Windows* 使用 Network Direct API。请联系您的 Linux 分发版厂商,查看其是否支持 OFED verb,由于已提供 Windows 支持,请升级至 Windows Server 2012 R2 或更高版本。

全新的增强型 RAS 特性

基于 Purley 平台的英特尔至强处理器可扩展家族不仅提供全新特性,还增强了与 RAS(可靠性、可用性和可服务性)相关的现有特性和英特尔® 可靠运行技术。英特尔至强处理器可扩展家族提供两个级别的支持:标准 RAS 和高级 RAS。高级 RAS 包含所有标准 RAS 特性以及一些其他特性。

在前代处理器中,根据处理器插槽数量 (2–8) 的不同,RAS 特性受到一定的限制。这一状况已经彻底改变,平台上的双路处理器便可获取所有 RAS 特性,处理器等级(铜级到白金级)越高,特性的功能越强大。下表简要介绍了在前代处理器基础上添加的全新增强型 RAS 特性。

表 9.RAS 特性总结表。

Table 9 RAS feature summary table

英特尔® Virtual RAID on CPU(英特尔® VROC)

Intel® VROC replaces third-party raid cards
图 22.英特尔® VROC 取代了第三方 raid 卡。

英特尔 VROC 是一个集成了英特尔® Volume Management Device(英特尔® VMD,一项全新的硬件技术)的软件解决方案,旨在面向 NVMe*(非易失性内存总线*)固态盘 (SSD) 提供极具吸引力的混合 RAID 解决方案。CPU 的板载功能加强了与芯片组的密切合作,可快速访问位于平台 PCIe 通道的直接连接的 NVMe 固态盘。实现以上操作的主要特性包括英特尔® 快速存储技术企业版 5.0(英特尔 ® RSTe)、英特尔 VMD 和英特尔 NVMe 驱动程序。

英特尔 RSTe 是一个支持管理 RAID 特性的驱动程序和应用包,已在 Purley 平台上进行了更新(5.0 版),可利用所有新特性。借助 NVMe 驱动程序可避开操作系统设置的限制。这意味着即使操作系统不提供热插入等特性,也可以使用这些特性,驱动程序也可以为第三方厂商生产的 NVMe 非英特尔固态盘提供支持。

英特尔 VMD 是与英特尔至强处理器可扩展家族共同推出的全新技术,主要用于改善高速固态盘的管理。以前,固态盘连接至 SATA 或其他接口类型,可通过软件管理固态盘。当我们为了改善带宽,直接将固态盘连接至 PCIe 接口时,固态盘的软件管理加重了延迟。英特尔 VMD 利用硬件解决这些管理问题,不完全依赖于软件。

英特尔 VROC 提供的主要 RAID 特性包括受保护的回写高速缓存、来自操作系统的隔离存储设备(错误处理)和借助软件日志保护 RAID 5 数据免受 RAID write hole 问题的影响,最后一个特性消除了对备用电池单元的需求。直接连接的 NVMe RAID 卷可启用 RAID,具有热插入和意外移除功能,提供 LED 管理选项、4K 本地 NVMe 固态盘支持和多个管理选项,包括利用网页进行远程访问、预操作系统任务的 UEFI 级交互和操作系统级的 GUI 接口。

启动保护

启动保护对可信平台模块、英特尔® 平台可信技术(英特尔® PTT)等英特尔® 早期固件平台存储设备执行了加密的可信度量根 (RTM),提高了 Purley 平台的保护级别。它还可以利用 OEM 提供的策略对早期固件进行密码验证。不同于英特尔® 可信执行技术(英特尔® TXT),启动保护在出厂时启用,不可禁用,对软件没有任何要求。启动保护和英特尔® TXT 独立运行,但两者兼容。启动保护降低了恶意利用硬件或软件组件的可能性。

Boot Guard secure boot options
图 23.启动保护安全启动选项。

BIOS 保护 2.0

BIOS 保护是对基于芯片组的现有 BIOS 闪存保护功能的增强。Purley 平台添加了容错启动块更新功能。BIOS 闪存可划分为受保护和未受保护两个部分。Purley 帮助明确启用的标记脚本避开顶级交换特性和闪存范围寄存器锁/保护,以促进容错启动块的更新。该特性避免 BIOS 闪存在未经平台制造商授权的情况下或在 BIOS 更新过程中被修改,还有助于保护平台免受低级 DOS 的攻击。

更多详情请参阅面向智能零售设备的英特尔® 基于硬件的安全技术

BIOS Guard 2.0 block diagram
图 24.BIOS 保护 2.0 结构图。

英特尔® 处理器跟踪

英特尔® 处理器跟踪(英特尔® PT)是一个令人期待的特性,改善了英特尔至强处理器可扩展家族的支持。由于该特性具有出色的触发和过滤功能,能准确、详细地显示活动跟踪,隔离重要的跟踪,因此,对调试非常有帮助。

英特尔 PT 为各种事件提供环境。性能分析器可以利用英特尔 PT 发现“响应时间”问题的根本原因,该问题是一种影响执行质量(如果不是总运行时)的性能问题。

此外,英特尔 PT 提供了完整的跟踪,支持深入探究执行,例如,简化了循环行为(从进入和退出、特定的后边缘到循环次数)的提取与报告,这在之前是无法实现的。

调试器可利用英特尔 PT 重新构建指向当前位置的代码流,无论它是崩溃点、断点、观测点,还是跳过函数调用后出现的指令。它们甚至支持通过反向步进命令在执行历史记录中进行导航。

调试堆栈损坏是另一个重要应用案例。当调用堆栈被损坏时,正常的帧展开通常发生故障或无法产生可靠的结果。借助英特尔 PT,可基于实际的 CALL 和 RET 指令重新构建堆栈反向跟踪。

操作系统会把英特尔 PT 归为核心文件。由此,调试器不仅能检查崩溃时的项目状态,还能重新构建引起崩溃的控制流。还有可能将该功能扩展至整个系统,用于调试内核错误和其他系统挂起。英特尔 PT 可进行全局跟踪,以便在发生操作系统崩溃时,跟踪被存储为操作系统崩溃转储机制,稍后被用于重新创建故障。

英特尔 PT 有助于缩小多线程操作系统和用户程序代码数字争夺的范围。还可以利用粗略时间指示记录所有线程的执行。虽然准确性不高,无法自动检测数据争夺,但是可以为辅助分析提供充足的信息。

安装英特尔® Vtune™ Amplifier 2017 版后,方可使用英特尔 PT。

如欲了解更多信息,请观看 Beeman Strong 主讲的《借助英特尔处理器跟踪进行调试与精细分析》,参阅 James Reinders 撰写的《处理器跟踪》

英特尔® 节点管理器

英特尔® 节点管理器(英特尔® NM)是一系列电源管理核心特性,旨在以智能的方式优化和管理数据中心的功耗、散热和计算资源。这种服务器电源管理技术可将组件仪器扩展到平台等级,并可用于充分利用数据中心中消耗的每一瓦功率。首先,英特尔 NM 利用基于标准的带外通信报告重要的平台信息,如功耗、温度和资源利用率。然后提供精细的控制,如帮助减少整体功耗或最大限度提高机架负载,使平台功耗符合 IT 政策的要求。该特性广泛存在于包括英特尔至强处理器可扩展家族在内的各个英特尔产品领域,为数据中心提供一致性。

基于 Purley 平台的英特尔至强处理器可扩展家族搭载了第四代英特尔 NM,后者将控制和报告扩展至前代处理器无法比拟的精细级别。为了使用该特性,必须在服务器管理菜单中启用 BIOS 级的 BMC LAN 和相关的 BMC 用户配置。程序员的参考套件简单易用,无需编译或运行额外的外部库。只需一台 C/C++ 编译器,然后运行配置和编译脚本。

表 10.英特尔节点管理器第四代特性

Table 10 Intel® Node Manager fourth-generation features

作者 David Mulnix 是一名软件工程师,在英特尔工作了 20 多年。他的重点关注领域包括软件自动化、服务器功耗和性能分析,他还为服务器效率评级工具TM的开发提供开发支持。

撰稿人: Akhilesh Kumar 和 Elmoustapha Ould-ahmed-vall

资料来源

64 位和 32 位英特尔® 架构软件开发人员手册 (SDM)

英特尔® 架构扩展指令集编程参考

英特尔® 资源调配技术(英特尔® RDT)

利用英特尔® 资源调配技术优化资源利用率

英特尔® 内存保护扩展启用指南

英特尔® 可扩展系统框架

英特尔® 可靠运行技术

面向智能零售设备的英特尔® 基于硬件的安全技术

James Reinders 撰写的《服务器跟踪》

Beeman Strong 主讲的《利用英特尔处理器跟踪进行调试与精细分析》

英特尔® 节点控制器网站

英特尔® 节点管理器程序员的参考套件

面向英特尔® 节点管理器的开源参考套件

如何设置英特尔® 节点管理器

英特尔® 性能计数器监控器(英特尔® PCM) - 测量 CPU 占用率的更好的方法

英特尔® 内存延迟检查器(英特尔® MLC) - 一款用于测量系统中 DRAM 延迟的 Linux* 工具

英特尔® VTune™ Amplifier 2017 提供丰富的性能信息,包括热点、线程、锁、&等待、OpenCL 带宽等,并借助分析器直观展示结果

基于英特尔® 至强® 处理器的服务器更新节省估算器

使用专为英特尔至强可扩展处理器优化的软件解决方案超越竞争对手

$
0
0

作者:Roger Chandler | 2017 年 7 月 11 日

技术是企业当前在激烈的竞争中取得成功的核心。但要真正为企业提供助力,技术解决方案必须能够满足企业的真正挑战和机会,而不是假设或合成的工作负载。为此实现此目标,英特尔始终坚持与软件开发商紧密合作,合力打造专为我们最新的硬件平台优化的解决方案,以在从设备边缘到数据中心为企业提供真正的竞争优势。

凭借涵盖 20 多个国家和地区的专用资源,超过 7,000 家独立软件供应商的业务关系,以及覆盖约 2000 万软件开发商的强大参与计划,英特尔能够通过充分利用最新的计算、存储和通信技术,加速全球创新步伐。借助丰富的支持软件,英特尔® 至强® 可扩展平台在当前已经崭露头角,表现出了极大的应用潜力。

那么,我们又是如何在 16 个月内让一些应用的性能翻番呢?英特尔开发人员关系团队通过与领先的软件供应商紧密合作,显著优化了应用性能,增加了对于平台全新硬件增强的安全、I/O、内存、网络和存储功能的支持:

  • 企业软件供应商包括:Altibase、Aerospike、Cerner、Epic、Exasol、IBM、Intersystems、MariaDB、Microsoft、NariTech、NRI、Qliktech、SAP、SAS、Shenzhen Kingdom Technology、深圳天源迪科、TAC、Sunjesoft、腾讯、汤森路透、VMware、用友等。
  • 云和通信提供商包括:阿里巴巴、亚信、百度、英威、华为、Kakao Corp、金山、乐视、东软、皮克斯、腾讯、奇虎等。
  • 高性能和技术计算开发商包括:Altair、ANSYS、Broad Institute、Cadence Design Systems、CD-Adapco、Convergent Science、CST、Dassault、FIO、Illumina Inc.、Intes Software、LSTC、MentorGraphics、MSC、Paradigm、San Diego Supercomputer Center、Sandia Corp、Schlumberger、Synopsys等。

软件优化推动性能大幅提升

尽管所有基于英特尔® 架构的软件都在新的处理器上可以“立即可用”,但每款全新的英特尔架构处理器都推出了新的功能,进一步提升了性能、安全和敏捷性。为此,针对每款新一代处理器,英特尔均会与全球数千家软件开发商紧密合作,为最新的平台优化其解决方案。

IBM DB2便是其中的一个最佳示例。该解决方案表明出色的可扩展性和吞吐量能够帮助企业将海量数据变成切实可行的动洞察,从中发现机会提供新的客户体验,同时实现业务增长。这一最新优化的关系型数据库管理系统能够从英特尔® 至强® 可扩展处理器中获得巨大的性能优势。

对于双路服务器,相比之前的软件和硬件,更新的数据库平台和服务器硬件可合力推动实现超过 1.8 倍[1]的性能提升。对于基于四路系统的更大规模解决方案,从上一代处理器系统升级服务器平台可获得约 1.5 倍的性能增加[2],同时升级三年前的数据库服务器解决方案将可获得 2.65 倍[2]的性能提升。

Aerospike Database则是另一个示例。无论是检测欺诈、更新交易仓位、打造个性化体验还是竞标广告位,只要用户登录网站,Aerospike 必须能够可靠处理 Web 规模的数据量,并在数毫秒内做出决策,同时不增加成本。Adform*、Appnexus*、BlueKai* 和 Kayak* 等全球许多最成功的互联网企业都依赖于 Aerospike 的低延迟、高吞吐量和巨大的可扩展性。

通过更新硬件和软件,最新版 Aerospike 数据库中专为全新英特尔® 至强® 可扩展处理器设计的软件增强实现了令人吃惊的 4 倍[3]性能提升。

但是,英特尔® 至强® 可扩展处理器可带来的出色优势并非仅限于数据库管理系统。在通信行业,亚信是中国最大和全球第二大的业务支撑系统 (BSS) 提供商。通过使用英特尔® 至强® 可扩展处理器,其 BSS 系统获得了高达 41%4的性能提升。此外,通过配备采用英特尔® 傲腾™ 技术的固态盘,这些系统的性能还可实现进一步提升,能够比基准系统提升最高 2.21 倍[4]。

通过采用英特尔® QuickAssist 技术 (Intel® QAT),亚信额外实现了 1.29 倍4 的硬件增强的安全性能提升。这一技术提供了可扩展的硬件加速能力,能够帮助亚信加速运行加密相关工作,可靠保护敏感客户数据。

技术颠覆在当今时代正在以更快的速度出现。数字化转型正在各行各业如火如荼地展开,促使每个企业重新思考如何将新服务迅速打入市场,并在创新方面超越竞争对手。英特尔和我们的软件开发商合作伙伴始终致力于投资优化解决方案,以帮助最终客户充分利用最新的英特尔® 技术,简化验证、部署和管理工作,节省宝贵的时间。

请访问 ISV 解决方案中心 www.intel.com/XeonSoftwareSolutionswww.intel.com/XeonScalable,了解如何增强基于英特尔® 至强® 可扩展处理器的解决方案。这一处理器为构建敏捷的多云环境奠定了全新基础,可帮助企业获得切实可行的洞察和出色安全性,并为客户实时交付服务。

脚注和声明:

[1]工作负载:300 GB BDInsights,12 位用户,三次运行的几何平均值;性能指标:每小时查询数 (QpH)。
基准:2 颗英特尔® 至强® 处理器 E5-2699 v4 @ 2.2 GHz;256 GB DDR4-2400 RAM (16x 16 GB);英特尔® 固态盘 DC S3700 系列 (800 GB);Red Hat Enterprise Linux* 7.3;BIOS:86B.0271.R00.1510301446。
:2颗英特尔® 至强® 铂金 8180 处理器 @ 2.5 GHz;384 GB DDR4-2667 RAM (24x 16 GB);英特尔® 固态盘 DC S3700 系列 (800 GB);Red Hat Enterprise Linux* 7.3;BIOS:86B.01.00.0412.020920172159。

[2]工作负载:3 TB BDInsights,12 位用户,三次运行的几何平均值;性能指标:每小时查询数 (QpH)。
基准:4颗英特尔® 至强® 处理器 E7-4890 v2 @ 2.8 GHz;1.5 TB DDR3-1600 RAM (96x 16 GB);IBM XIV 存储;SUSE Linux* Enterprise Server 11.3;BIOS:86B.0038.R02.1307231126。
中间一代:4颗英特尔® 至强® 处理器 E7-8890 v4 @ 2.2 GHz;1.5 TB DDR4-2133 RAM (96x 16 GB);英特尔® 固态盘 DC S3700 系列 (800 GB);Red Hat Enterprise Linux* 7.3;BIOS:335.R00。
:4颗英特尔® 至强® 铂金 8180 处理器 @ 2.5 GHz;1.5 TB DDR4-2667 RAM (48x 32 GB);英特尔® 固态盘 DC S3700 系列 (800 GB);Red Hat Enterprise Linux* 7.3;BIOS:086B.0119.R05.1701181843。

[3]基准:Aerospike Server Enterprise* 3.6.4,CentOS* 6.7,内核版本 2.6.32-573.3.1.el6.x86_64,2 颗英特尔® 至强® 处理器 E5-2697 v3,128 GB DDR4-1866,普通 DIMM,2 块 10 Gb 网络英特尔® 以太网控制器 X540-AT2(未连接),不使用磁盘 – 内存工作负载。
基准新一代:Aerospike Server Enterprise 3.12.1,CentOS 7.2、内核更新到 4.4.59,英特尔® 至强® 处理器 E5-2699 v4,启用英特尔® 睿频加速技术和英特尔® 超线程 (HT) 技术,BIOS SE5C610.86B.01.01.0016.033120161139,128 GB DDR4-1866,2 块英特尔® 82599ES 万兆位以太网控制器(连接两个网络控制器上的所有四个端口,达到总计 40,000 Mb/秒连接)。无存储 - 内存工作负载。
:Aerospike Server Enterprise 3.12.1,CentOS 7.2、内核更新到 4.4.59,英特尔® 至强® 铂金 8180 处理器,支持英特尔® 睿频加速技术和英特尔® 超线程 (HT) 技术,BIOS SE5C620.86B.01.00.0412.020920172159,384 GB DDR4-2666,2 块英特尔 82599ES 10 千兆以太网控制器(连接两个网络控制器上的所有四个端口,达到总计 40,000 Mb/秒连接)。无存储 - 内存工作负载。
基准客户端:使用了八个客户端系统,同步提交查询给服务器并生成工作负载。客户端配置如下:英特尔® 至强® 处理器 E5-2697 v3,128 GB 内存和 10 Gb 英特尔以太网控制器 X540-AT2 网络。
下一代和新客户端:使用了八个客户端系统,同步提交查询给服务器并生成工作负载。客户端配置如下:使用内核 3.10.0-327 的 CentOS 7.2,英特尔® 至强® 处理器 E5-2697 v4,启用英特尔® 睿频加速技术和英特尔超线程 (HT) 技术,BIOS SE5C610.86B.01.01.0016.033120161139,128 GB RAM,1 块英特尔 82599ES 10 千兆以太网控制器。 对于基准系统,向数据块填充 200 M 的 100 字节记录,并使用 Aerospike Java* 基准工具测试 (https://github.com/aerospike/aerospike-client-java)。工作负载模拟 95%/5% 的读取/更新速率。在组成一个集群的单台服务器上启动两个 Aerospike 实例。每个 Aerospike 实例都关联到一个 CPU 插槽,并配置为使用一块 10 GB NIC。每块 10 GB NIC 都有中断 IRQ 关联到一个 CPU 插槽。
对于下一代和新的系统,向数据块填充 400 M 的 100 字节记录,并使用 Aerospike Java 基准工具测试 (https://github.com/aerospike/aerospike-client-java)。工作负载模拟 95%/5% 的读取/更新速率。在组成一个群集的单个服务器启动了两个 Aerospike 实例。

[4]AsiaInfo Telco BSS:AsiaInfo Telco BSS 工作负载。操作系统:Red Hat Enterprise Linux* 7.3。测试由英特尔和亚信 于 2017 年 5 月实施。
基准:4可英特尔® 至强® 处理器 E7-8890 v4 @ 2.2GHz(24 核),启用英特尔® 睿频加速技术和英特尔® 超线程 (HT) 技术,256 GB 总内存(16 个插槽,16GB,1600 MT/秒,DDR4),2 块英特尔® 固态盘 DC P3700 系列 (2 TB)。
新 1(对于一般工作负载基准和英特尔® QUICKASSIST 技术基准):英特尔® 至强® 铂金 处理器 8180 @ 2.5GHz(28 核),启用英特尔® 睿频加速技术和英特尔® 超线程 (HT) 技术,英特尔® C627 芯片组,384 GB 总内存(24 个插槽,16GB,2666 MT/s,DDR4),2 块英特尔® 固态盘 DC P3700 系列 (2 TB)。 新 2(对于英特尔® 傲腾™ 技术基准):英特尔® 至强® 铂金 处理器 8180 @ 2.5 GHz(28 核),启用英特尔® 睿频加速技术和英特尔® 超线程 (HT) 技术,英特尔 C627 芯片组,384 GB 总内存(24 个插槽,16 GB,2666 MT/秒,DDR4),2 块英特尔® 固态盘 DC P3700 系列 (2 TB),2 块英特尔® 傲腾™ 固态盘 DC P4800X 系列 (375 GB)。

在特定系统中对组件性能进行特定测试。硬件、软件或配置的任何差异都可能影响实际性能。请进行多方咨询,以评估您考虑购买的系统或组件的性能。关于性能及基准数据的完整的信息,敬请登陆:https://www.intel.cn/content/www/cn/zh/benchmarks/intel-product-performance.html。
描述的成本降低方案旨在作为举例,说明指定的英特尔架构产品在特定环境和配置下,可能如何影响未来的成本和提供成本节省。环境将有所不同。英特尔不保证任何成本或成本降低。
性能测试中使用的软件和工作负载可能仅在英特尔® 微处理器上进行了性能优化。诸如 SYSmark* 和 MobileMark* 等测试均系基于特定计算机系统、硬件、软件、操作系统及功能,上述任何要素的变动都有可能导致测试结果的变化。请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。完整信息敬请登陆 https://www.intel.cn/content/www/cn/zh/benchmarks/intel-data-center-performance.html。
本文件不构成对任何知识产权的授权,包括明示的、暗示的,也无论是基于禁止反言的原则或其他。不得将本文件用于关于本文中所描述的英特尔产品的任何侵权行为或其他法律解释。您同意授权英特尔随后起草的任何专利声明的非排他性、免版税许可,包括本文公开的主题。
英特尔技术的特性和优势取决于系统配置,并需要借助硬件、软件或服务来实现。实际性能会因您使用的具体系统配置的不同而有所差异。任何计算机系统都无法提供绝对的安全性。请联系您的系统制造商或零售商,或访问 www.intel.cn 了解更多信息。
所述产品可能包含设计缺陷或错误(已在勘误表中注明),这可能会使产品偏离已经发布的技术规范。这些缺陷或失误已收录于勘误表中,可索取获得。
英特尔明确拒绝所有明确或隐含的担保,包括但不限于对于适销性、特定用途适用性和不侵犯任何权利的隐含担保,以及任何对于履约习惯、交易习惯或贸易惯例的担保。
英特尔技术可能要求激活支持的硬件、特定软件或服务。实际性能会因您使用的具体系统配置的不同而有所差异。请咨询您的系统制造商或零售商。
如欲了解有关性能及性能指标评测结果的更完整信息,请访问 http://www.intel.cn/content/www/cn/zh/benchmarks/benchmark.html。
此处提供的信息可随时改变而毋需通知。请联系您的英特尔代表,了解最新的英特尔产品规格和路线图。
本文中涉及的本季度、本年度和未来的英特尔规划和预期的陈述均为前瞻性陈述,包含许多风险和不确定性。
英特尔 SEC 报告中包含关于可能影响英特尔结果和计划的因素的详细讨论,,包括有关 10-K 报表的年度报告。
英特尔公司 © 2017 年版权所有。所有权保留。英特尔、Intel 标识、Xeon 和至强是英特尔在美国和/或其他国家的商标。
*其它名称可能是其各自所有者的商标。

关于Roger Chandler

Roger Chandler 是英特尔开发人员关系部门战略与创新总监。其部门与全球软件社区紧密合作,帮助开发人员在领先的英特尔平台上开发创新应用,为最终用户提供非凡的新体验。Roger 加盟英特尔已有 15 年之久,期间带领团队取得了出色成绩,其中包括:推出英特尔全球游戏和图形行业计划和开发人员项目,吸引与全球数千家 ISV 参与;针对 PC、智能手机、智能电视和车载计算机推出开源操作系统创新;发布英特尔® 奔腾® 处理器路线图战略,服务全球成千上万的客户;以及为英特尔互联网多媒体软件技术开发市场,成功在数以亿计的消费者平台上搭载了该技术。在英特尔之外,他的兴趣包括户外运动、电子游戏、写作和武术。他和他的家人居住在俄勒冈州波特兰。

Unreal* Engine 4 VR应用的CPU性能优化和差异化:第三部分

$
0
0

作者:王文斓

虚拟现实(VR)能够带给用户前所未有的沉浸体验,但同时由于双目渲染、低延迟、高分辨率、强制垂直同步(vsync)等特性使VR对CPU渲染线程和逻辑线程,以及GPU的计算压力较大[1]。如何能有效分析VR应用的性能瓶颈,优化CPU线程提高工作的并行化程度,从而降低GPU等待时间提升利用率将成为VR应用是否流畅、会否眩晕、沉浸感是否足够的关键。Unreal* Engine 4 (UE4) 作为目前VR开发者主要使用的两大游戏引擎之一,了解UE4的CPU线程结构和相关优化工具能够帮助我们开发出更优质基于UE4的VR应用。本文将集中介绍UE4的CPU性能分析和调试指令、线程结构、优化方法和工具、以及如何在UE4里发挥闲置CPU核心的计算资源来增强VR内容的表现,为不同配置的玩家提供相应的视听表现和内容,优化VR的沉浸感。

UE4 VR应用的CPU差异化

上面介绍了几种VR应用的CPU优化技巧,然而优化只能保证VR应用做到不掉帧不眩晕,没法进一步提升体验。如果要提升VR体验,必须尽可能最大程度利用上硬件提供的计算能力,把这些计算资源转化成内容、特效及画面表现提供给最终用户,而这就需要根据计算能力对CPU提供相应的差异化内容。下面介绍其中五种CPU的差异化技巧。

布料模拟

UE4的布料仿真主要通过物理引擎分到工作线程进行计算,对逻辑线程影响较小。而且布料模拟是每帧都需要计算的,即使布料不在画面显示范围内,也需要进行计算来决定更新后会否显示到画面中,因此计算量比较稳定,可以根据CPU能力适配对应的布料模拟方案[17]。

可破坏物件

可破坏对象在UE4里也是通过物理引擎分到工作线程进行破坏模拟计算的,因此对于计算能力较高的CPU这部分可以加强,比如更多对象可以被破坏、破坏时出现更多碎片或者碎片在场景中的存在时间更长等。可破坏对象的存在会大大加强场景的表现以及沉浸感,设置过程可以参考[18]。

CPU粒子

CPU粒子是另一项比较容易扩展的模块,虽然从粒子数目来说CPU粒子较GPU粒子少,但采用CPU粒子能降低GPU的负担,较好地利用多核CPU的计算能力,而且CPU粒子具备下列独有的功能:

  1. 可发光
  2. 可设置粒子材质及参数(金属、透明材质等)
  3. 可受特定引力控制运动轨迹(可以受点、线或者其他粒子的吸引)
  4. 能产生阴影

开发过程中可以对不同CPU设置相应的CPU粒子效果。

3D音频 – Steam* Audio

对于VR应用来说,除了画面外制造沉浸感的另一个重要元素就是音频,具有方向性的3D音频能够增强VR体验的临场感,Oculus*曾经推出Oculus* Audio SDK[19]来模拟3D音频,但该SDK对环境音效的仿真比较简单,相对并不普及。Steam* Audio[20]是Valve*新推出的一套3D音频SDK,支持Unity* 5.2以上的版本及UE 4.16以上的版本,同时提供C语言接口。Steam* Audio具备下面几项特点:

  1. 提供基于真实物理模拟的3D音频效果,支持头部相关传输函数(Head-Related Transfer Function,HRTF)的方向音频滤波以及环境音效(包括声音遮挡、基于真实环境的音频传递、反射及混音等),另外也支持接入VR头显的惯性数据
  2. 能够对场景中每个对象设置音效反射的材质及参数(散射系数、对不同频率的吸收率等),环境音效的仿真可以根据CPU的计算能力采用实时或烘焙的方式处理
  3. 环境音效中很多设置或参数都可以根据质量或性能要求做调整。例如HRTF的插值方法、音频光线跟踪的数目和反射次数、混音的形式等
  4. 相对于Oculus* Audio SDK只提供鞋盒式的环境音效仿真(shoebox model)而且不支持声音遮挡,Steam* Audio的3D音频模拟更真实而且完整,可以提供更精细的质量控制
  5. 免费且不绑定VR头显或平台

Steam* Audio从UE4的逻辑线程收集音源及收听者的状态和信息,通过工作线程进行声音的光线跟踪及环境反射模拟,将计算出来的脉冲响应(impulse response)传送到音频渲染线程对音源进行相应的滤波和混音工作,再由OS的音频线程输出到耳机(例如Windows*的XAudio2)。整个处理过程都是由CPU的工作线程进行,在加入3D音频的同时并不会增加渲染线程和逻辑线程负载,对原来游戏的性能并不会造成影响,可以说是非常适合VR的一项体验优化。详细的设置过程可以参考Steam* Audio的说明文檔[21]。

可扩展性

UE4的可扩展性设置是一套通过参数调节控制画面表现的工具,能适配不同计算能力平台[22]。对CPU来说,可扩展性主要体现在下面几项参数设置上:

  • 可视距离(View Distance): 距离剔除缩放比例(r.ViewDistanceScale 0 – 1.0f)
  • 阴影(Shadows): 阴影质量(sg.ShadowQuality 0 - 3)
  • 植被(Foliage): 每次被渲染的植被数量(FoliageQuality 0 - 3)
  • 骨骼网格体LOD偏差(r.SkeletalMeshLODBias): 全局控制骨骼网格体的LOD等级偏差
  • 粒子LOD偏差(r.ParticleLODBias): 全局控制粒子LOD等级偏差
  • 静态网格体LOD距离缩放(r.StaticMeshLODDistanceScale): 全局控制静态网格体的LOD等级偏差

图6 - 8分别显示了腾讯*<<猎影计划>>这款VR游戏对不同CPU的植被、粒子和阴影差异化效果。


图 6.《猎影计划》中的植被差异化效果。


图 7.《猎影计划》中的粒子差异化效果。


图 8.《猎影计划》中的阴影差异化效果。

结论

本文介绍了UE4的多种CPU性能分析工具、优化方法和差异化技巧,基于文章篇幅所限如果想进一步了解各项细节,可以参照参考部分。熟练掌握多种CPU性能分析工具和技巧可以快速找到瓶颈并进行相应的优化,而事实上这对于VR应用非常重要。除此以外,在优化的同时如果能够充份利用闲置的多线程资源,可以让应用实现更好的画面效果和表现,提供更优秀的VR体验。

参考

[1] https://software.intel.com/zh-cn/articles/performance-analysis-and-optimization-for-pc-based-vr-applications-from-the-cpu-s

[2] https://docs.unrealengine.com/latest/INT/Engine/Performance/StatCommands/index.html

[3] https://docs.unrealengine.com/udk/Three/ConsoleCommands.html

[4] http://graphics.stanford.edu/~mdfisher/GPUView.html

[5] http://www.gamasutra.com/blogs/LeszekGodlewski/20160721/272886/The_Vanishing_of_Milliseconds_Optimizing_the_UE4_renderer_for_Ethan_Carter_VR.php

[6] http://timhobsonue4.snappages.com/culling-precomputed-visibility-volumes

[7] https://docs.unrealengine.com/udk/Three/PrecomputedVisibility.html

[8] https://docs.unrealengine.com/latest/INT/Engine/Actors/Merging/

[9] https://docs.unrealengine.com/latest/INT/Engine/HLOD/index.html

[10] https://docs.unrealengine.com/latest/INT/BlueprintAPI/Components/InstancedStaticMesh/index.html

[11] https://developer.oculus.com/blog/hybrid-mono-rendering-in-ue4-and-unity/

[12] https://developer.oculus.com/documentation/unreal/latest/concepts/unreal-hybrid-monoscopic/

[13] https://docs.unrealengine.com/latest/INT/Engine/Blueprints/TechnicalGuide/NativizingBlueprints/

[14] https://wiki.unrealengine.com/Multi-Threading:_How_to_Create_Threads_in_UE4

[15] http://orfeasel.com/implementing-multithreading-in-ue4/

[16] https://docs.unrealengine.com/latest/INT/Engine/Animation/Skeleton/

[17] https://docs.unrealengine.com/latest/INT/Engine/Physics/Cloth/Overview/

[18] http://www.onlinedesignteacher.com/2015/03/how-to-create-destructible-mesh-in-ue4_5.html

[19] https://developer.oculus.com/documentation/audiosdk/latest/concepts/book-audiosdk/

[20] https://valvesoftware.github.io/steam-audio/

[21] https://valvesoftware.github.io/steam-audio/downloads.html

[22] https://docs.unrealengine.com/latest/INT/Engine/Performance/Scalability/ScalabilityReference/

作者介绍

王文斓是英特尔软件与服务事业群的资深软件工程师。他于2015年底开始负责英特尔中国在VR内容方面的技术合作,身处第一线帮助VR内容开发者针对英特尔CPU进行性能优化和差异化工作,优化PC VR内容在英特尔x86平台上的体验,并且在CGDC,GMTC,VRCORE,Tencent GDOC,Unity Unite和Vision AR/VR Summit等多个业内知名开发者大会上代表英特尔向开发者介绍CPU对VR的重要性,分享CPU优化经验以及如何更高效利用CPU加强VR游戏体验。王文斓在英特尔负责过多媒体视频编解码和实感应用的实现,分析和优化工作。他在视频编解码丶图像分析算法丶计算机图学和性能优化上有超过10年丰富的经验,并在业界发表过多篇论文。王文斓毕业于台湾大学电机工程学系和通信工程学研究所。

Premium VR 游戏的测试与分析:第一部分

$
0
0

作者:Peng Tao

前言

目前VR设备基于处理能力和体验效果可以分为Premium VR、Mainstream VR 以及 Entry-Lever VR. Premium VR 代表的是高端 VR,这类产品以高配置、性能非常好的 PC 或者游戏主机为基础,目前市场上支持此类型VR的外设主要提供商是HTC Vive,Oculus Rift和Sony PS VR。Mainstream VR代表是性能达不到高端VR的硬件处理能力,但是还是PC处理器为计算能力的VR设备。入门级的VR是包括所有的移动VR设备,例如 Gear VR,也S包括利用手机芯片作为计算设备的VR眼镜和一体机。

本文主要讲基于PC的Vive和Rift的游戏测试和分析方法。VR游戏相对传统PC游戏主要有三个方面的不同:玩法设计,输入方式,性能要求。因为玩法和输入不在本文考虑的范围内,所以来看看性能要求方面和传统游戏的区别,为了防止VR游戏带来的不适感,头盔厂商都要求帧率稳定达到90FPS。因为目前HTC VIVE和Oculus Rift CV1的分辨率都是2160*1200,除了账面分辨率之外,实际渲染时为抵消透镜畸变带来的分辨率损失需要超采样,Oculus Rift CV1和HTC Vive都为140%,所以VR的每秒像素处理量达到惊人的457millions。因此,要达到如此之高的要求,性能测试和分析是VR游戏不得不考虑的一个环节,以保证充分利用所有的CPU和GPU的处理能力。那么一般是如何测试和分析VR游戏的呢?

在测试之前,Oculus需要关闭Asynchronous Spacewarp,SteamVR需要关闭reprojection,以免VR Runtime补偿介入影响到后面的性能分析。

打开Oculus SDK Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool.exe 可以disable ASW。


图 1.ASP配置

SteamVR可以在setting/performance 里disable reprojection功能。


图 2.Steam VR 配置

工具介绍

工欲善其事必先利其器,工具在VR游戏的测试分析中能起到至关重要的作用。在测试和分析过程中主要用的工具有:Fraps, 游戏加加,UE console command, Windows Assessment Development Kit (ADK),Steam VR Frame Timing,GPA 等.

Fraps是个传统的测试FPS/frametime的工具,可以用这个工具测试一段时间的最大帧率,最小帧率和平均帧率,并且很方便地导入到excel文件生成图形,如下图所示,从图形中可以大致看出游戏整个过程的帧率变化是否平滑。而且,这个工具也很方便截图,将有问题的画面保存下来以方便汇报给ISV确认。


图 3.FPS显示一段时间内游戏的帧率变化


表 1.Fraps生成的一段时间内游戏的帧率变化的最大帧率,最小帧率和平均帧率

上面的数据来看,此游戏在此段场景下大部分时间帧率比较低,只有大概45FPS,完全达不到HTC的要求,在这种性能下,玩家也会感觉到头晕症状。这个时候我们可以用Windows Assessment Development Kit (ADK) 里面的GPUVIEW 来分析下是GPU还是CPU方面的问题。

Fraps是一个国外的小而美共享软件,但是目前很久没有更新,国内也有一个类似的benchmark软件游戏加加。运行时这个工具窗口会自动的吸附在游戏窗口上面,可以实时显示帧数FPS、CPU温度、CPU占用率、显卡温度、显存使用情况、显卡占用率等,如下图所示。另外fraps也不能测试dx12的游戏,不过可以用另外一个工具PresentMon来统计FPS数据。


图 4.游戏加加的实时数据显示界面

通过贴在游戏上面的框可以实时地了解到游戏的更具体运行情况,但是不管是Frasp还是游戏加加都是为传统游戏而设计的工具,只能在显示器上显示,而VR游戏玩家都是戴着头盔,并不能实时看到显示器上游戏的数据变化,所以也不能定位到具体哪个场景需要优化,如果要在头盔里看实时的性能数据怎么办呢?有两个方法可以看到,一是如果此游戏是基于Unreal Engine的话可以用console command “stat FPS”。另外一个方法是通过Steam VR frame timing方法,可以在头盔和显示器均看到实时性能数据。

Steam VR frame timing的设置方式可参考链接:https://developer.valvesoftware.com/wiki/SteamVR/Frame_Timing

下图显示的是Steam VR frame timing的数据:


图 5.HDM中显示掉帧的情况

当游戏的场景帧率出现掉帧的时候,在HDM上就会显示Missed Frames框,出现红色的竖条,上面这个场景就出现了掉帧的情况,而且红色竖条密度越高,掉帧的频率就越高。


图 6.PC上显示CPU和GPU的运行情况

上面是在PC显示器上显示的更详细数据,当然也可以点击上面show in headset来显示在HDM中,这个图里蓝色部分显示的是GPU的渲染时间,other的棕色部分是GPU的空闲时间,上图可以看出,有些帧的GPU的渲染超过11.11毫秒,会错过Vsync的时间导致掉帧,所以这些帧达不到90FPS。从这个工具我们可以初略地认识GPU bound,但是并不能确定是否是CPU render 线程没有及时给渲染命令导致GPU有Bubble还是GPU渲染的时间过长。

通过UE 的console command 工具也可以查看实时的游戏性能数据,不过前提条件是游戏必须是用UE引擎开发,同时是开发版本,而不是release版本。在游戏运行中按~键可以调出命令行。几个常用的命令如下:

  • Stat FPS:显示游戏每帧的FPS和帧时,这个命令很方便在VR里使用,因为帧率可以在VR头盔上显示。方便测试人员在使用中观察游戏实时性能。
  • Stat Unit:显示游戏每帧的总时间,游戏逻辑线程耗时,游戏渲染线程耗时和GPU耗时。一般来说,如果一帧花的时间跟逻辑线程的时间比较接近,那么瓶颈在逻辑线程,相反如果跟渲染线程的时间比较接近,那么瓶颈在渲染线程。如果两个时间 都不接近,但跟GPU时间比较接近,那么瓶颈在显卡上。


图 7.stat Uint显示内容

Stat SceneRendering:查看游戏渲染线程上的各个参数值。


图 8.stat SceneRendering显示内容

Stat Game:实时查看运行在游戏逻辑线程上的参数值,比如AI,物理,蓝图,内存分配等。


图 9.Stat Game显示内容

Stat GPU:实时显示每一帧里GPU主要渲染内容的时间参数。


图 10.stat GPU显示内容

Stat InitViews:显示culling花费的时间和效率数据。


图 11.stat initview显示内容

Stat LightRendering:显示灯光和阴影所需的渲染时间


图 12.stat lightrendering显示内容

当然还有其他很多的命令,如stat AI,stat Particles,可以参考官方网站:
https://docs.unrealengine.com/udk/Three/ConsoleCommands.html
https://docs.unrealengine.com/latest/INT/Engine/Performance/StatCommands/

点击访问Premium VR 游戏的测试与分析:第二部分

Premium VR 游戏的测试与分析:第二部分

$
0
0

作者:Peng Tao

前言

目前VR设备基于处理能力和体验效果可以分为Premium VR、Mainstream VR 以及 Entry-Lever VR. Premium VR 代表的是高端 VR,这类产品以高配置、性能非常好的 PC 或者游戏主机为基础,目前市场上支持此类型VR的外设主要提供商是HTC Vive,Oculus Rift和Sony PS VR。Mainstream VR代表是性能达不到高端VR的硬件处理能力,但是还是PC处理器为计算能力的VR设备。入门级的VR是包括所有的移动VR设备,例如 Gear VR,也S包括利用手机芯片作为计算设备的VR眼镜和一体机。

进一步的分析可以使用Windows Assessment Development Kit (ADK)工具里面的GPUVIEW和WPA来做。

GPUVIEW是一个很强大的工具。上面的命令”stat Unit”只是简单初略的看出是GPU bound还是CPU bound,有时候并不是特别准确,比如CPU的某个线程负担过重导致GPU一帧中间出现一些bubble,这种情况用Stat Unit看到的GPU的渲染时间是bubble的时间加上真正的渲染时间 ,此时需要GPUVIEW结合WPA还分析。比如在下面这种情况,每帧中间都有一个2ms的bubble,此时GPU是不工作的,本来一帧的渲染时间不到11ms,但是加上这个bubble后,渲染时间就超过了90FPS要求的11.1ms,导致下一帧错过Vsync时间,掉帧。


图 13.GPUVIEW界面

此时我们可以用WPA打开同一个Merged.etl文件,通过时间轴找到bubble所在的时间窗口,来定位CPU哪个线程的负担较重,此时正在运行什么。


图 14.WPA界面

如果在GPUVIEW中看到的一帧GPU的渲染时间超过11.11ms的话,此时确定是GPU bound,可以用Intel的Graphic Performance Analyzer来分析具体渲染管线里哪部分的任务过重。

GPA 是Intel开发一款免费的图形性能分析器工具,访问官网 。这个工具非常强大,包括以下几个独立的工具:

  • System Analyzer:实时显示游戏性能指标。
  • Graphics Frame Analyzer:帧分析器。
  • Platform Analyzer:定位CPU和GPU的workload。
  • Graphics Trace Analyzer:抓取详细的event traces 以供其他分析器分析。

通常为了配合GPUVIEW,使用最多的是Graphics Frame Analyzer,这个分析器可以查看游戏中某一帧的draw call,render target,纹理贴图,Overdraw,Shader,以及通过简化Shader、贴图实验的方式检测哪部分渲染影响到性能,以方便确定重点优化部分。


图 15.Graphics Frame Analyzer界面

案例研究

下面我们举个例子来测试分析下VR游戏。

测试之前可以用dxdiag查看下机器配置

首先用Fraps测试一段时间得出帧率变化如下,从这个图形来看,有部分场景可以达到90FPS,但是后面的大部分帧率都是在45左右,性能完全不达标,需要进一步分析。


图 16.FPS显示

用UE console command “stat FPS” 寻找到帧率较低的场景来重点分析。

如果觉得游戏变化太快导致来不及抓数据,可以用console command PAUSE来暂停游戏以方便打开所需要的工具。

结合stat Unit命令的参数来看,大概CPU渲染线程和GPU都有瓶颈。


图 17.stat unit显示内容

需要使用GPUVIEW和WPA来同时分析


图 18.GPU渲染时间

首先从GPUVIEW可以看到一帧渲染的时间就有13.69ms,超过了11.11ms,所以性能不可能达到90FPS。

其次看到CPU上有大概10ms时间除了audio线程外其他线程基本上都是空闲,并没有充分利用CPU资源,此时可以利用CPU做一些特效,比如更多的AI,物理,布料,粒子效果。


图 19.CPU的空闲时间

从WPA上看也印证了这点,此时Game和Render线程基本上空闲。


图 20.WPA显示的CPU执行线程

用GPA继续分析,从下图可以看到总共有不到1000的draw call,比较合理。


图 21.Frame Analyzer 里的所有draw call

选中所有的Ergs来做实验,可以大致看出此帧的时间花在哪里。

2x2 Textures实验是使用简单的纹理代替场景里的纹理,通过实验发现简单纹理性能提升不大,因此可以不用关注纹理的优化。

1x1 Scissor Rect实验是在渲染管线中去掉像素处理阶段,从这个实验来看,性能提升显著。

Simple Pixel Shader实验顾名思义是从简化的像素着色器来替换原来的着色器,通过实验性能提升也很大。

从上面两个实验来看,GPU渲染管线中的像素处理任务比较重。另外一种查看一帧里哪种操作耗时的方式是在UE4 命令行里输入ToggleDrawEvents,使得每个draw call attach上具体函数名以方面分析,然后在用GPA抓Frame,这样可以在GPA 帧分析器里看每个draw call的耗时。


图 22.GPA显示各个Drawcall的执行函数

这里可以找出几个耗时比较大的模块。

所以可以针对上面耗时比较多的地方重点优化。

更多详细的GPA分析可以参考Intel IDZ的另外一篇文章

总结

在目前硬件还不能完全达到VR体验的高要求的前提下,优化是使用户能体验高质量游戏的手段之一。如何在游戏优化中定位问题点则需要综合使用上述提到的各种工具和方法,通过各种实验和参数调节来定位游戏CPU或者GPU侧的性能瓶颈,从而提高游戏的体验性。

点击访问Premium VR 游戏的测试与分析:第一部分

Viewing all 583 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>