类别: 新闻

Vulkan/Metal 公共测试版将于 2020年

当我宣布在我之前的帖子中,X-Plane 11.50 以本地 Vulkan 和金属驱动程序支持为特色,是由我们的开发人员组成的私人测试版 (E. g. 第三方开发者)。我们从他们那里得到了一些非常好的错误报告 -- 报告是好的,而不是错误 -- 基于此, 很明显,11.50 今年 (意味着明天) 不会上市。

这让我们很失望 -- 我们在两端都烧了蜡烛,试图在今年一路进入公共测试,但是在这一点上,建筑还没有准备好。

我将在下面详细描述真正阻碍公共测试版的一个错误,明天我将尝试做一个关于 Vulkan 和 Metal 的常见问题解答; 基于上一篇文章的 150 多条评论,我认为很明显,我们有很多基本信息要传达,其中一些直到最近才与第三方开发人员共享。

请不要用 “我可以进入私人测试版吗” 来轰炸我 (或者甚至 “你因为不让我进入私人测试版而成为一大群驼鹿”)。关于私人测试版的事情是这样的: 我们的目标是杀死错误,这样每个人都可以使用测试版,并尽可能快地杀死它们。

在这一点上,十几个正在使用测试版的第三方开发人员生成错误报告的速度比西德尼和我修复它们的速度快 -- 如果我们在测试版中增加更多的人, 我们的错误修复速度将会变慢,因为我们不得不花更多的时间来对即将到来的报告进行分类。因此,只要我们有效地修复了最糟糕的漏洞,更多的人进入私人测试版意味着每个人都要等待更长时间才能进入公共测试版。我认为对西德尼和我来说,最好的事情就是尽快解决问题。

(我认为将它交到第三方开发人员手中也是一种胜利 -- 在某些情况下,我们已经看到插件意外地使用了错误的 api 进行处理,因此不兼容使用 Vulkan 时,他们不需要-开发人员可以得到更新此代码的开端。如果你是第三方开发者,我们可以让你进入测试程序 -- 我不想让一些第三方开发者偏爱其他人。

模糊纹理

我们内部测试版的性能反馈的简短总结可能是这样的: 平滑度和 FPS 是好的,VRAM 管理不是。

我们所看到的飞行中的大多数崩溃看起来像是 sim 耗尽了 VRAM 并且无法恢复,对于使用较小 gpu (例如 4 GB VRAM) 的用户来说 x-Plane 进入一个紧张的 VRAM 情况,并通过使屏幕上的一切低分辨率和模糊来解决它。

VRAM 管理路径是为 Vulkan/Metal 后端编写的全新代码,是…… 嗯,它是全新的,需要一系列测试, 调试和迭代以获得稳定。在 8gb 卡上,VRAM 是如此丰富,以至于 X-Plane 有点天真的 VRAM 分配方案工作正常。在 4gb 卡上,我们只是有点短 (几百 MB),但结果是纹理分辨率的惊人损失。

这是我们可以做得更好的东西!它在我们的控制之下,因此现在正在进行。(西德尼写这篇博客,而他在这里完成了真正的工作。)但是,在我们有更好的 VRAM 管理之前,现在上市还为时过早。如果我们这样做了,我们只会被数百份 “我的纹理模糊不清” 的报告淹没。它太吵了,无法运输bob电竞官网。

为什么这不是 OpenGL 上的问题?

有人可能会问: 你为什么不做任何事情来管理 VRAM 呢?问题是: OpenGL 的解决方案是口吃。

OpenGL 驱动程序根据您现在真正需要绘制的内容,在 VRAM 和系统内存之间交换纹理。如果你把目光从西雅图移开,太空针塔的纹理可以存在于系统内存中,但是你可能需要雷尼尔的山地纹理。

我们也尝试这样做-最大的区别是:停止渲染当它移动纹理时,我们不会。其结果是,OpenGL 总是显示您所选择的纹理分辨率的完美图像-没有模糊的图像。但是你可能会口吃!如果你在 VRAM 的边缘,通过飞行,然后改变视图或在相机周围盘旋,你可以看到这一点 -- 如果你的 FPS 去 “块 VROOOM”,你吃了一些口吃,而纹理四处移动, 然后你又跑得很快。

OpenGL 的方式是一个我们从未想过可以接受的解决方案 -- 我们的目标是最好的图像质量没有牺牲平滑。解决低 VRAM 的情况需要更多的时间,但是一旦我们到了那里,我认为这是值得的。

张贴在显影,新闻 | 116 条评论

XPlane2Blender v4.0.0-alpha.4

从 GitHub 下载这里!

XPlane2Blender v4.0.0-alpha.4

一如既往,进行备份!

在过去的一个月里,人们向我报告了各种奇怪的事情:

  • 每次导出时 OBJ 几何图形都在移动
  • 每次导出后搅拌器对象移动
  • 动画失控
  • 即使是简单的重命名 Blender 对象和重组 Blender 层次结构也可能触发错误的导出。

唯一的治疗方法是应用所有的转换或重新启动搅拌机!

多亏了你的错误报告和电子邮件,我才找到了来源: 所有这些问题都是同一个错误的方面!

长话短说: 我已经解决了 XPlane2Blender 的问题,但是其他 Blender 出口商和用户可能没有这么幸运。我已经向 Blender 本身提出了一个错误,但对于 X 平面艺术家来说,这没什么好担心的。

请继续把你的 bug 报告发给我!我确实读了它们中的每一个,即使我没有马上回复你。

张贴在飞机 & 建模,新闻,风景,工具 | 评论关闭在 XPlane2Blender v4.0.0-alpha.4 上

X 平面 11.40 是最终的

X-Plane 11.40 现在是决赛了!当您启动 X 平面时,系统将提示您更新到 X 平面 11.40; Steam 用户将通过 Steam 自动收到更新。以下是下一步的计划:

我们正在进行一个错误修复更新 (11.41),以捕捉一两个没有制造 RC 的错误,以及在 go final 之后将被报告的不可避免的错误。我预计下周某个时候会削减一个 11.41 的发布候选版本,这应该是一个相当快的发布。

与此同时,我们正在努力让 Vulkan/Metal 准备好,这样我们就可以做一个 X 平面 11.50 beta。我们可能会在 11.41 完成之前开始 Vulkan 和 Metal 的私人测试,这取决于首先修复的内容。

进入公共 Vulkan/Metal beta 的限制因素将是 bug 修复 -- 公开 beta 没有意义,因为已知的 bug 会被反复报告并进行 beta 测试不可用。我们还需要关闭两个剩余的发展领域:

加载时间

Vulkan 和 Metal fight 通过预加载渲染框架所需的一切来结巴 -- 这意味着无论我们需要画什么,它都准备好了。但这也意味着 X-Plane 需要准备每个着色器可能需要渲染给定的飞机和布景包。

因为 X-Plane 的着色器非常灵活,这可能意味着成千上万的着色器,并且会影响加载时间。我们有新的代码,试图准确分析给定框架所需的内容。例如,如果对象来自 DSF,我们永远不需要 “内部” 着色器,因为布景对象永远不会在飞机内部。通过仔细应用这种逻辑,我们可以减少预加载着色器的数量并加快加载时间。

共享存储器

有了 Vulkan 和 Metal,X-Plane 管理自己对 VRAM 的使用 -- 这是一个全新的功能,我们必须从头开始为 Vulkan/Metal 端口编码。我们观察我们的总内存使用情况,并动态降低纹理分辨率 (希望在不太重要和较少使用的纹理上),以保持在预算范围内。

当这段代码工作时,它在 Windows 上遇到了一个问题:

  • 第三方插件,嚼了显存通过OpenGLVRAM 的使用可能会耗尽我们的部分预算。例如,如果你改变了一个带有插件的飞机,该插件分配了它自己的纹理来渲染,我们就不能再使用那个 VRAM 了。
  • 为提高效率,X 平面的 Vulkan 版本在大块中分配 VRAM。如果我们减少纹理 res 来为插件腾出空间,我们可能最终会得到一堆预先分配的块 (这些块大多是未使用的) 内部 Vulkan-内存仍然不能被 OpenGL 插件使用。

西德尼正在努力压缩我们的纹理,以便一些大块可以返回到 OpenGL-为 Vulkan 提供更多新的内存管理代码。

有龙

一旦我们减少了着色器的数量,内存压缩工作, 我们将开始对 Vulkan/Metal 构建进行更重的测试 -- 我不能说我们离公开测试有多近,因为我们还没有从这次测试中得到最初的一波错误。

张贴在新闻 | 37 条评论

X 平面 11.40r2

发布候选 2 现在可供 LR 客户使用,我们预计 Steam 将在 24 小时左右提供。

这是一个非常小的补丁,有一些小的修复。冒着听起来像破纪录的风险: 如果你还没有尝试过 11.40 飞机上的附加设备…… 现在就做!在过去的几周里,报道一直很平静,没有人喜欢最后一分钟的惊喜。

在此发布说明

张贴在新闻 | 16 条评论

X-平面 11.40 RC 1

发布候选 1 现在可供 LR 客户使用,我们预计 Steam 将在 24 小时左右提供。

我们正走向测试期的结束,所以此时我们正在最小化代码和飞行模型的变化数量。如果你还没有在 11.40 尝试你的附加飞机…… 现在是时候了!

此更新主要包含对 AI 和 ATC 交互的调整,以改善着陆、重放声音改进,并包括开发人员请求的一些新数据。

在此发布说明

张贴在新闻 | 26 条评论

X-Plane 11.40b9 & 结束测试版

Beta 9 现在可供 LR 客户使用,我们预计 Steam 将在 24 小时左右提供。

此更新包括对崩溃和第三方插件问题的更多修复。在过去的一两周里,报告的错误和崩溃的速度急剧下降,而且我们没有开放的第三方兼容性错误,所以我们准备结束测试版。

开发人员: 期待 r1 很快,并确保您测试您的插件。

在此发布说明

张贴在新闻 | 21 条评论

X-Plane 11.40 Beta 8 和路线图更新

这篇文章在我的待办事项列表上已经有一段时间了 -- 足够长的时间,以至于在我有时间写一篇文章说 “X-Plane 11.40” 即将到来之前,X-Plane 11.40 就出来了。但是为了把 11.40 放在上下文中,这是我们今年 X-Plane 11 的补丁路线图。

所有的物理

X 平面 11.40 是一个物理版本。X-Plane 11.40 中几乎所有的变化都来自于奥斯汀在过去六个月里对物理引擎的研究。这对我们来说是一个新的方法。在过去,当我们更新物理或系统时,它将会是一个巨大的 “综合” 版本,每个人的最新代码都会同时发布 (例如 X 平面 11.10)。

综合发布的问题是他们会永远进行调试。有这么多的人改变了这么多的事情,当一个错误报告出现时,我们从来不知道出了什么问题。随着所有代码的改变,我们必须仔细调查每一个错误报告 (不管报告多么不可能或模糊),因为任何东西可能已经坏了。

到目前为止,冒着升级测试的风险,纯物理的方法似乎运行得更好。当错误被报告时,发现它们会更快,而且疯狂的整体水平比过去的版本低得多。

NaNNaNNaNNaNNaNaNNaN 蝙蝠侠!

在 11.40 测试版中,没有多少公开的错误,但是一个特定的错误导致了测试版数量的增加: 我们在飞行模型中看到了 NaNs 导致的崩溃。

NaN 代表的不是一个数字,它是当你在物理学中被零除时得到的。为了捕捉它们,我们打开了很多审计代码,并收集了自动崩溃报告。冒着锦上添花的风险,我认为奥斯汀已经修复了 beta 8 中的两个根本原因之一。我们将继续追逐它们,直到另一个被修复,然后一旦我们完成,就拒绝检查。所以我们可能会进入 beta 9 或 10,我们可能还有一周的时间进行两次测试; 高节奏只是为了快速获得更多的检查。

实验物理学

在关于实验飞行模型状态的评论中有许多问题,所以我想澄清它是如何工作的以及 11.40 中发生了什么。

通常,新的 X 平面特征在 X 平面补丁的测试中得到测试。这意味着我们有两到八周的时间来调试该功能并准备发货。一旦它发布,如果我们改变了功能,我们必须考虑这会如何影响作者使用该功能,以及它是否会破坏他们的附加组件。

调试的时间不多了!特别是,对于飞行模型来说,时间真的不够,在飞行模型中,人们需要几个月的时间来开发飞机并测量性能以获得我们的反馈。

实验飞行模型基本上是一个巨大的长达一年的公开测试版,是尚未发货的飞行模型的未来修订版。通过检查 “实验调频” 框,你现在可以测试未来的飞行模型了。通过将实验飞行模型作为实验保持这么长时间,这使得奥斯汀能够简单地修复和改进它, 而不是担心 X 平面 11.40 的实验 FM 变化将如何影响 X 平面 11.30 用户。

明确地说: 有没有尝试从一个 sim 版本到另一个 sim 版本的实验飞行模型之间的向后兼容性!目标是使实验飞行模型完全不干扰 “正常” 飞行模型。

11.40 中的物理变化分为两大类:

  • 模拟变化可以改变飞机的飞行方式,提高 X 飞机对机身预测的准确性。这方面的一个例子是洗涤传播从道具到飞机尾部的延迟。这使得飞机更稳定,但可能会改变它的飞行方式; 作者可能会增加人工稳定性或减少控制表面的功效来解决过去缺乏这一特征的问题, 这些解决方法不适合新的、更精确的物理学。
  • 模拟改变了飞机在你无法调整飞机的特殊情况下的飞行方式。这方面的例子包括失速和尾流湍流。这种效果不会有账面价值,所以我们所能做的就是尝试在一架正常飞行的飞机上产生最理智的结果。

第一类特征要求启用实验飞行模型,而第二类特征总是打开的。

在未来的某个时候,实验飞行模型将成为X-Plane 的飞行模型,但是我们还没有到达那里,我们不打算把这作为 X-Plane 11.40 决赛的一部分。

第三方飞机

如果你开发了第三方飞机,你需要测试它现在对抗实验和非实验飞行模式。如果非实验飞行模型与 11.36 飞行不同,请提交一个错误,并请提供飞行测试细节。对于实验飞行模型,你可能会看到书号有一点变化; 真正的问题是整体物理响应是好是坏。

Vulkan 和 Metal

一旦 X-Plane 11.50 脱离测试,X-Plane 11.40 将成为下一个主要补丁,它将以 Vulkan 和金属支撑为特色。

营销人员上周在 Cosford 展示了 X-Plane live 的 Vulkan 建筑; 该建筑不支持纹理分页。从那以后,Sidney 运行了一个基本的纹理分页实现,所以希望我们在 11.40 之后能够把这个交给开发人员。

我们对附加兼容性的期望是:

  • 附加组件做支持的事情,比如二维面板绘图和用户界面应该只在 Vulkan 和 Metal 中工作 -- 我们将提交错误报告来修复兼容性问题。
  • 附加组件做不受支持的事情在 Vulkan 和 Metal 中根本不起作用。您的三维绘图回调不会被调用,或者您试图获取内部 GL 资源将会失败 (因为我们的资源都不是 GL)。
  • 在 OpenGL 下运行的 X-Plane 应该 “只适用于” 几乎每个附加组件,包括那些做粗略事情的插件,并且应该比 11.40 快,但不如 Vulkan 或 Metal 快。

我预计 Vulkan beta 会相对较长。我们希望它能在今年开始,但它可能不会在今年结束,我猜想最初 Vulkan 对一些用户来说会很棒,对其他用户来说会崩溃。在测试期间,我们将获得关于 Vulkan 如何在不同的卡和驱动程序的 “现场” 工作的有用信息。

我期待 Vulkan 测试版的一个原因是: 我们现在对渲染引擎和驱动程序正在做的事情有了极大的了解。使用 OpenGL,驱动程序通常是一个黑匣子。我们仍然收到 “虚拟现实中的 3d 鼠标让我的机器非常慢” 的报告,坦率地说,我们可能永远不知道为什么这只发生在一些用户身上,而不是其他使用相同硬件的用户身上, 驱动程序和 X 平面的版本。

对于 Vulkan 和 Metal 来说,情况将会有所不同。更多的图形工作发生在 X-Plane 内部,而发生在驱动程序内部的工作更可预测、更有界,并且可以通过现代分析工具查看。

因此,虽然我们将有很多基于用户反馈的调试工作要做,但获得真正让 Vulkan 渲染器尖叫所需的信息应该很简单。

在 Vulkan 之后

现在讨论 Vulkan 之后的内容还为时过早,但我可以说: 近两年来,西德尼和我一直在重写渲染引擎,目标相当奇怪: 性能和可预测性,但具有相同的视觉输出。所以任何在屏幕上看起来丑陋的东西都应该继续看起来丑陋。Vulkan 是一个改变如何但不是什么我们的渲染引擎。

一旦 Vulkan 出门,一切都会改变。对于我们如何处理光、大气、颜色和组织我们的框架,我们有许多基本的改变。一旦我们有了 Vulkan,我们就可以用它作为接下来的基础。

张贴在新闻 | 121 条评论

X 平面 11.40b7

Beta 7 现在可供 LR 客户使用,我们预计 Steam 将在 24 小时左右提供。

这是另一个小更新。我们对飞行模型 NaN 坠机报告做了一些调整,以帮助我们跟踪这一点,一些错误修复,以及对人工智能客机着陆的改进。

在此发布说明

张贴在新闻 | 17 条评论