我在矩阵中学到的一件事是,用户经常发现新的显著更让人讨厌的虫子的; 贸易的现有缺陷的一个新的往往被视为一个大倒退,即使在新的错误并不坏。我想这就是人性--我们习惯的东西-是什么人做的--这需要刺痛了一些错误,已经存在了一段时间。

我将这把纹理分页问题方面,模糊的纹理,显存管理 11.50。要理解为什么显存分页硬,你必须了解的 OpenGL 驱动解决了这个问题,并问自己: 什么是旧的错误,有什么新的 bug?

什么是纹理分页?

纹理分页是当纹理在显卡 (VRAM) 内存和计算机内存 (“系统内存”) 之间移动时。在任何给定的时间,X-Plane 可能加载的纹理比你可以放在卡上的要多,但是它不需要一次全部加载。当你飞行时,需要不同的纹理,并且纹理必须四处移动。

如果这听起来很像将数据从 RAM 移动到硬盘 (虚拟内存),那就是。当我得到 “当我只有 2gb 卡时,X-Plane 如何使用 2.5 GB 的纹理内存” 的问题时,答案是…… 纹理分页。

OpenGL 驱动程序是如何做到的?

在基于 OpenGL 的应用程序中,对 VRAM 和 back 的分页纹理完全取决于 OpenGL 驱动程序。该算法是这样的:

  1. 开始绘图。
  2. 意识到你需要的东西在系统内存中。
  3. 将你有一段时间没用过的东西移出 VRAM。
  4. 将你需要的东西移动到 VRAM。
  5. 继续绘图。

当我们需要一些新的东西时,OpenGL 驱动程序会在绘图过程中显示页面,结果是口吃 -- 帧需要更长的时间,因为在纹理移动到 VRAM 之前,它无法完成。

现在,英伟达、 AMD 和苹果已经花费了大量的时间和精力来尽可能地完成这项工作, 我肯定是在卖空司机的复杂性和复杂性,因为他们试图猜测什么应该从 VRAM 中转移出来。尽管如此,有两个关键事实是正确的:

  1. 如果我们需要将内容页面放入 VRAM 中进行绘制,我们直到就在我们需要的时候,就要有一口吃。也许是一个你几乎没有注意到的非常短的,也许是一个非常糟糕的,这是一个 “多少” 的问题,而不是 “如果” 的问题。
  2. 你在屏幕上看到的总是看起来棒极了 -- 从不模糊 -- 因为驱动程序不会削减分辨率来保存 VRAM。

所以.旧的 bug 在这种情况下是结结巴巴的显存包含错误的东西。

X 平面 11.50 是如何做到的?

对于 Metal 和 Vulkan,这取决于我们这个应用程序,来决定什么在 VRAM 中,什么不在,并安排数据在 VRAM 和系统内存之间的移动。我们的策略是:

  1. 留意有多少内存是免费的。
  2. 如果它看起来太接近满,将纹理缩小到更小的尺寸。更喜欢收缩你不看的纹理。在背景中做收缩。
  3. 如果它看起来像 VRAM 有空的空间,生长纹理,更喜欢你现在看到的。在后台做生长。
  4. 如果我们必须在背景中加载新的纹理 (例如,当你飞行时新的 DSFs),等到旧的纹理可以收缩。

在这个游戏中,我们比司机有巨大的优势: 我们知道我们的纹理可能在我们真正需要它们之前很久,未来就需要了。我们也可以收缩纹理。这意味着我们不需要停下来洗牌,这意味着我们可以避免口吃。所以我们可以修复旧的错误: 飞行时口吃。

(明确一点: 当你飞行时,这不是飞行中口吃的唯一来源 -- OpenGL 和 11.41 充满了口吃。)

缺点是: 如果 VRAM 变紧,我们会降低一些纹理的分辨率。这是一种新的行为 (模糊的纹理),所以我担心的是: 用户不会喜欢它。

特别是,OpenGL 驱动程序使用精确的每一帧的最佳纹理集-以口吃为代价。当你飞行的时候,我们可能不会让东西以最好的方式收缩和生长,所以对于同样的 VRAM 和没有口吃,我们可能不会那么敏锐。

插件怎么样

使用 OpenGL 的附加组件 (例如带有定制玻璃显示器的飞机) 也使用 VRAM -- 这是我们不能打包的原因之一100%VRAM 与我们的纹理; 我们需要有足够的自由,如果一个插件需要 VRAM,它不会崩溃我们。

我的期望是,对抗由于 VRAM 耗尽而导致的模糊纹理和崩溃将是一个漫长的迭代过程,也是进行 beta 测试的主要原因之一。有一个在实验室或纸上运行良好的算法是一回事 -- 在现实世界条件下,在用户机器上有成千上万个小时的测试时间是另一回事附加组件和无政府状态。

所以当 11.50 是公共测试版,你看到你模糊的纹理时,不要惊慌。VRAM 管理是 X-Plane 的一个非常新的部分,它是一个非常重要的部分,我们将随着时间的推移不断重复它。

(最后,我想提一下,虽然 Vulkan/Metal 的港口是西德尼和我合作的合资企业, 在它的某些部分,西德尼基本上做了 100% 的工作,我唯一的贡献就是抱怨错误。着色器编译器、 OpenGL 插件桥和 VRAM 寻呼机都是西德尼自己做的大提升,使得 Vulkan/Metal 端口成为可能。)

关于本 · 苏普尼克

本是一名在 X-Plane 工作的软件工程师; 他大部分时间都在喝咖啡和对着电脑破口大骂 -- 有时是同时。

148 关于“你所有的 VRAM 都属于我们 (bob体育竞技和插件)

  1. 还有其他的游戏在那里,用金属做伟大的工作,例如魔兽世界,所以这应该可以解决您的问题。也许向互联网社区寻求帮助?或打开一张与苹果 DTS?

    1. 我同意。但是,在这里,我们有不同的情况。其他比赛从一开始就进行了编码,福尔康/金属,和 X-Plane 是从旧的 API 与很多的限制。

      最糟糕的问题是由于外接程序和插件而使 OpenGL 保持在一起运行。

      我真的认为最好的解决办法就是释放福尔康/金属与一个新的 X-Plane 版 (月), 因为通过这种方式,开发人员可以从 OpenGL 移动到 Vulkan/Metal,而 X-Plane 可以只运行这个 API,而在旧版本上只运行 OpenGL (…… 10,11)。

      1. 你是对的这个面有一个非常不同的情况的其他游戏,但 “是一个老的 OpenGL 应用程序” _ isn't _ 的问题!

        在这一点上,我们不是一个 OpenGL 应用程序。在 X-Plane 内部,重写、现代化、根本性变化和代码更新的程度如此广泛 (这就是为什么这是一个多年项目,而不是一个多周项目) 我们真的没有被过去以 GL 为中心的设计决策所束缚。

        我希望在插件中无限期地支持 OpenGL,即使有一天 sim 只在 Vulkan 和 Metal 上运行, 因为对于二维 EFIS 面板来说,OpenGL 实际上是一个很好的 API 选择。

        当我们用 GL 插件在 Vulkan/Metal 中运行时,插件生活在他们自己的 OpenGL 沙箱中, 并且它们渲染到的表面由 Vulkan/Metal 和 GL 共享,供我们使用。这个桥不影响 X 平面本身,因为它不在我们做任何事情的主要路径上 -- 它只是我们在自己内部的少量纹理上设置的一个选项 API 级别-“这个纹理是可以桥接的”。

      2. 这是 X-Plane 和 “游戏” 的另一个区别: 游戏的 “风景” 通常是为了避免渲染引擎过载而特别设计的。这些创作工具提供了设计从游戏中任何给定位置可见的有限数量资产的方法。
        在 X-plane 的完全不同-W4XP orthosceneries 或覆盖的方式也是臭名昭著的那多自在他们所投出的渲染引擎。
        WED 可能会在某个时候提供一些工具来可视化由风景引起的纹理和/或几何密度 -- 但我也期待抗议,比如 “愚蠢的 WED 不想让我放置所有这些东西” 我需要那里。它对我来说很好,只安装了股票 XP,所以这可能不是问题 ”。覆盖场景的概念使得很难评估对于任何给定的 X 平面用户来说,任何给定的覆盖场景附近或下面会有什么其他默认或第3 派对内容。

        1. 没错。X-Plane 必须像平台对待应用程序一样对待风景。在一个封闭的游戏中,测试团队发现了一个性能问题,然后其中一名编码员看着它,也许会走到关卡设计师的小隔间,然后说 “嘿,你用 3000 的动态灯光杀死了我们 -- 它们在 200 的实时环境探测器上玩得不好 ”,这位艺术专家与程序员讨论了解决办法, 当时知道那个特定引擎的性能,他们就会把它打磨下来。

    2. 嘿,本,谢谢你给我们的所有信息,但是让我问你一件事。如果 xplane11 可以选择我们想要的 WX 源,例如: vatsim IVAO 、 noaa 和飞机源,那将会很棒。所有这些都是因为我乘坐虚拟航空公司的飞机,当 xplane 处于真实世界的天气条件下时,巴罗压力和温度与现实非常不匹配,另一件事是关于所有虚拟飞行员使用的软件,比如 SIM ACARS,如果你的飞机上没有设置真实的 wx 条件,sim acars 可能会因为这种差异而受到惩罚。
      能够选择 wx 从 IVAO VATSIM XPLANE 诺阿和 xplane 默认在未来的?提前谢谢

      1. 这似乎是一个附加组件应该做的事情。已经有很好的接口可以用 datarefs 写静态天气,或者用 METARs 和 GRIB2 文件写局部天气。提供这些数据的附加组件 (有些已经提供了) 可以告诉 X-Plane “嘿,用我刚刚给你的天气。”

        这不是我们打电话给 VATSIM 的服务器并了解他们的天气的地方 -- 这是 XSB 要做的。

        1. 气象喷 XP11 中却非常有限: 我同意插件负责收集来自各种来源,但设置 datarefs 当地天气完全打破途中车号自动识别系统不允许的转变。设置的世界用 METAR 和 grib 文件是一个解决方案。层流的当前数据就是几个小时。最后,更丰富的 API 允许模拟天气来匹配真实,现在的天气,所以飞行计划使用外部工具更好地预测模拟飞行天气。

          但是,不要担心这个 -- 先 Vulkan!!

      2. 是的,插件可以编写天气文件 (如果它们没有被锁定在 Windows 中),然后 (最好是通过一些 API) 告诉 X-Plane 重新读取这些文件 (假设禁用了真实天气下载)。我猜这样的 API 已经存在。

  2. 许多用户拥有比 VRAM 更多的系统内存。我正在键入的系统有 32gb 的系统内存,但只有 8gb 的 VRAM。我可以看到在系统内存中保留尽可能多的纹理,包括 hires 和 lores 格式,然后根据需要将它们移动到 VRAM,最大限度地减少了对文件存储的需求。我甚至可以看到基于用户偏好的多种策略来处理这个问题。诀窍是平衡所有这些并最小化向 VRAM 的传输。这是一个 “有趣” 的过程。

    1. 我们的计划是将高分辨率的页面一直翻到磁盘上 -- 人们有很多内存,但也有固态硬盘, 并且分页是 _ async _ 所以磁盘访问的延迟可能不是最坏的。(这也是正射影像包已经工作的方式,所以对它有一些希望。)

      从理论上讲,人们可以翻页到内存以获得更低的回页时间…… 如果纹理非常热并且你有额外的系统内存, 操作系统可能只是将纹理保存在磁盘缓存中 (在 RAM 中),你将获得胜利…… 通过不分配特定的 RAM 来支持,我们不必担心系统内存中需要的东西被调入磁盘。

      1. 重新读取磁盘是在大多数情况下 (甚至很慢盘) 缓存基本相同的东西应用管理的虚拟内存。最重要的是本所的还在几乎所有情况下 * 两次 * 高效的内存缓存的在当地的应用:
        任何当代操作系统都将使用未分配的内存来缓存以前读取的磁盘内容。
        将副本保存在本地虚拟内存中对于操作系统来说是未知的,因此会复制该内容: 一旦进入应用程序内存加上操作系统磁盘缓存。
        用内存映射磁盘读取重新打开文件 (这几乎是 X-Plane 和 WED 在所有情况下所做的) 在速度上与访问保存在应用程序虚拟内存空间中的文件的任何其他缓存非常相同。但是它避免了 RAM 中的重复,也避免了操作系统不得不将虚拟内存缓存写入 swapspace, 如果 RAM 变得紧密-因为它可以在需要时从文件系统中再次读取。

        1. 所以非常快速的存储来安装 XP 是强烈推荐的,我想,类似于有良好规格的 NVME。

          Maybe in the future X-Plane will store/offload textures to a “raw device” to even have faster performance (joke).

          谢谢你的理解。

          1. 我会说在固态硬盘上拥有尽可能多的数据是好的,但是它并不一定是一切 -- 如果你在固态硬盘上有 sim卡、飞机和操作系统,但是风景在旋转生锈上, 除了你的初始加载时间,它不会杀死任何东西,由于风景寻呼机可以在延迟时间内与正射影像风景寻呼机共存。固态硬盘非常快 -- NVME 之类的东西很好,但是我不想让任何人认为如果他们 “只是” 把固态硬盘放在 SATA 上,那将会是一个性能瓶颈。

      2. 当你读和写一个匿名的内存映射文件,留下实际的磁盘写入和缓冲操作系统,你会得到异步写入和缓冲 fir 自由?

        1. 写,是的,读,不, 但是这并不重要 -- 纹理分页和加载路径已经被我们完全异步了 -- 当我们用 CPU 处理纹理数据时,我们不会让你久等, 将其 DMA 到 GPU,从磁盘或其中任何一个读取。

  3. 为西德尼干杯!

    我希望用户不要让你对 “模糊纹理” 错误的耐心饱和。

    Ps.: When will be next features info for X-Plane be shared (If they can be shared)? I hope soon . Sorry for the insistence.

    谢谢大家这个伟大的模拟器!

  4. 我假设这是视觉口吃的主要原因。在一个大城市里,当我浏览驾驶舱时,我经常注意到口吃。或者换句话说,访问自动纹理,我总是假设已经安全地缓存在 VRAM 中,与 vis 实例。这是一个不同的 OpenGL 问题 (OGL 只有一个问题,对吧;)?

    新方法会使用更多的 PCIe 带宽吗?不要触发更多 “为什么 XP 不会让我的电脑冒烟” 的评论,但我从未见过 PCIe 带宽使用率超过 50%,如果是这样的话。当然,没有 PCIe 规范可以将 OpenGL 从寻呼口吃的黑暗时代中拯救出来。我想知道 PCIe3.0 是否有现实生活中的游戏使用,更不用说 4…

    1. 如果你不飞行 (例如 sim 暂停),并且你移动相机并口吃,它很可能是 VRAM,特别是当你加载了比 VRAM 更多的纹理时。

      飞行时,我们看到了其他口吃的来源:
      -拆除 autogen 实际上是一种口吃,因为我们没有把这个过程分成小块。
      -我们已经看到 windows 分配器在加载 DSFs 和构建 AG 时锁定。
      -GL 驱动程序通常必须有内部锁,可以在渲染和加载 DSFs/building autogen 之间进行竞争。
      -当你打一个新的着色器的 11.41,它需要编译,结结巴巴的,特别是在开始飞行的人一旦飞行一段时间本站发生。
      -地球的含量也结巴。

      我不确定新方法会使用比分页更多的 PCIe 带宽 -- 我们当然不怕一直有分页活动。

      关于帧率需要考虑的一些事情: 你的计算机必须被指定来处理发动机在短暂压力事件中发出的最高峰值负载 (例如 g. DSF 加载或纹理页面或其他)。这意味着,如果你想要一个稳定的均匀帧率,不可避免地你的电脑不会一直 100% 使用。

      想象一下,如果你在飞,神奇地,一切都被最大化了 -- CPU 内核,所有方面的 GPU,所有公共汽车,我们都处于红线状态。然后我们到达 DSF 边界,我们需要一些带宽和 CPU 内核来加载 DSF。它从哪里来?FPS 必须下降。

      我们意识到这一行动时,事情是 “幕后”,口吃。我们的思维 (I _ 觉得在悉尼的一个原型,这已经在 11.50 开发者预览版) 就是在一些核心的每个框架 (艾架,水, 保持 DSFs) 等人的背景装的风景,有一些规则,让每一套核心的帮助。这样的债务可持续性框架加载不绝对罐帧,和高的基底载荷不耽误风光。

      1. 非常有趣的写作!

        我对帧率下降的恐惧有点困惑。只要这一切顺利 (如没有口吃),我不认为这是个问题?

        如果我运行大约 40 fps,然后我的帧率平稳下降到 25,然后恢复-这很好!我不希望我的帧率在整个会话中被锁定在 25,仅仅因为我可能会遇到一个场景,这是我的计算机所能处理的?换句话说 -- 我不想要一个 “稳定的,甚至帧率”。我想要最快的平滑帧率,我可以在任何给定的渲染加载情况下得到 (保持在临界最低允许的帧率之上)。
        还是我误解了?

        欢呼,1月

        1. 如果帧率的损失是稳定的,一些用户会完全接受。有两个问题:
          -有些客户真的想要一个固定的帧率。60 fps,锁定对专业客户来说是一件大事,60 fps 游戏是一件大事。虚拟现实客户 (45 或 90 岁) 真的不想低于这个数字。
          -加载活动可能是间歇性的,所以 FPS 的下降可能不是一个缓慢、稳定的斜坡,所以向高 fps 的过渡可能非常混乱。

          1. -> VR 客户 (45 或 90 岁) 真的不想低于这个数字。

            但仅仅是因为这样做会让我们因晕车和恶心而呕吐……

            这个模糊 v 口吃会是一个偏好设置吗?
            在虚拟现实中,奇怪的口吃比模糊的纹理更容易忍受。
            内部 (大多数当前) VR 模糊纹理甚至可能不可见。

            人们肯定会有强烈的意见的另一个或两个。

            在测试期间,传达 “这种模糊的纹理让我难过” 的最佳方式是什么?

          2. 不,没有口吃。我们将尽可能高效地使用您的 VRAM,尽量减少模糊。我们不会再写任何能在正常飞行中口吃 sim 的新代码了。(事实上,从 mid-v10 开始,我们就有了这个政策,但是 Vulkan 端口是我们修复旧版本遗留口吃的地方。)

            我们有内部的一些工具来看 X-Plane 是管理的显存-我们会想出办法的整齐包这个公共测试之前,我们可以有效地分类报告, 我们已经与帧的报道和口吃。

          3. 谢谢本,说得很有道理。

            我得到的印象是,事情 “可能” 仍然口吃,并且正在进行一些微调,以确定压缩它们时需要有多积极, 我只是在想,在艺术数据区进行类似的微调可能是有意义的。“VRAM 口吃预防压缩率” 内部/外部。

            从 planemaker 面板中获取动态文本以很好地显示已经是一种猫捉老鼠的游戏,尤其是如果有任何透明度的话。让文本更加模糊将是一场噩梦。

          4. 您可以标记您的物品作为 “最大 res” 的飞机制造商和他们不 derez。这是真的现在和将来会在未来。如上文所述,作为一个作家,你必须明白,如果你让 'max res' 飞机有很多东西, 用户的低端系统将会有一个糟糕的视觉外观上一切 _ 因为 nommed 所有显存。

    2. 我不仅在 11.50 处重新认识了模糊的纹理。从 2017 到 2019年,纹理的质量对我来说是可见的。
      如果我错了,请纠正我,但他们比现在好多了。
      有时我带着华丽的纹理和反射离开,在 3 个小时的飞行接近目的地后,纹理是可怕的模糊/陡峭的边缘,有时反射也消失了。
      云层对 FPS 的影响如此之大。
      是没有更好/更快的方式为云渲染?

      问候
      约翰

        1. X 平面中没有 “代码”: 一些驱动程序可能有在 X 平面控制之外进行性能调整的选项。

  5. 今天这个愚蠢的问题已经到了!
    嗯.如果可以预测 VRAM 的纹理使用,为什么插件的纹理使用不同?那是不可能的 “缓冲区” 的预测的插件显存使用一两个 (或需要) 和使它工作起来?
    或者移动的 “预测” (像游戏服务器,服务器试图猜测一个主题要去哪里)。

    好了你现在可以开始笑了起来

    1. 对于 X-Plane,我们知道 VRAM 的使用,因为我们加载了数据,并且在您到达之前,我们将 DSFs 加载到您面前。对于插件,我们不知道插件会做什么 -- 这取决于插件。

        1. 无寻呼、云积累、银积累和风景负载是基于飞机,而不是相机。这样,如果你以每小时 10,000 英里的速度进入圆形视野,像个疯子一样旋转,远离你的飞机,你就不会把一切都打乱。

  6. 这都是音乐。
    Vulkan 擅长在 OpenGL API 的异步多固有性质
    -也许 KHRONOS 集团应该解雇-品牌作为 ASYN-KHRONOS
    所有需要的是音乐/交响乐的作曲家,以及可扩展的优化工作负载分布,其中代码应该有一些猜测逻辑,以便在可能的情况下利用额外的内核 (如果内核可用) 并根据可用硬件将子进程打包在较小的内核上。
    这个视频是一个很好的类比,我想象 vulkan 是如何工作的
    https://www.youtube.com/watch?v=IvUU8joBb1Q

    你有没有考虑过用程序替代来替换纹理 (在可能的情况下)?

  7. Ben,非常详细的说明!但有一件事是 re: 认为优化已经困扰我很长一段时间--实际上是两年,我很喜欢你的 VR 现在。

    我注意到 “远视” 距离是基于一条垂直于视野方向的直线。例如,当飞向一座山 (众所周知) 时,该座山将以平均网格和降低纹理质量进行渲染。然后当你越来越近时,更高的细节会 “消失” 到视野中。然而,就在这开始发生的时候,如果你向右或向左移动你的视野 (大概 20 度左右) 这座山将在周边视觉区域显示出更高的质量,当你再次转向看这座山时,它会回到褪色的 “覆盖”。

    在我看来,如果你定义距离,这发生在从视图的中心的所有方向 (即定义它为一个圆拱),而不是这条直线, 你将获得一个好的纹理空间,在那里你可以绘制一个低质量的渲染,随着 “视觉距离” 线在飞行方向上向前移动,建立更高的质量。

    所以我想问题是,这种 “圆形” 的视觉距离对性能的影响会比获得的影响更大吗?

    只是一个想法。

    1. 最后一个问题应该是,“…… 对性能的影响比在纹理管理中获得的影响更大?”

    2. 我不知道为什么会发生这种情况 -- 当前 sim卡中有两个标准:
      1.所有的雾和环境影响都是 _ radial _-也就是说,与点的距离,这是物理上正确的做法,修复了 v10 的一堆怪异。
      2.mip 映射的纹理 res 严格基于屏幕上纹理占用的像素数量 -- 对此我们无能为力 -- 硬件就是这样工作的。

      耳机分辨率和镜头校正翘曲可能是这里的一个因素 -- 这个因素超出了我们的控制范围,但至少随着新一代耳机的出现而变得更好。

    3. + 1
      不久前我对那个问题提出了一个错误,
      通过把头转向物体的方向,在屏幕边缘看到的物体正在消失。
      对象应该在屏幕线的中间可见。

    4. 我见过类似的东西 (在虚拟现实中)。由于能见度有限,几公里外的一座小山看起来模糊不清。当我转过头时,耳机周边的阴霾减少了,山丘变得更加清晰可见。

  8. 有趣的阅读。

    然而,在我的系统中,视觉口吃从来都不是问题,它有 8gb 的 VRAM (Geforce 1080) 和 32gb 的 RAM (加上 8xxx 英特尔 I7)。在 4xSSAA + FXAA 和默认场景下的全高清分辨率下,任何默认飞机都可以达到 50 FPS 以上。所以我真的不知道你在说什么。

    FPS 命中 (下降到 25 次) 从更先进的飞机开始,如 FF A320 和更先进的 autogen,如 X-Europe,X-Plane 似乎无法处理。

    我真的不想让模糊的显示来解决一个问题,我没有。

    1. 没错 -- 如果我们正确地编写代码,你就不应该 -- 不管怎样,即使在早期的开发者预览中,我们也不会在 8gb 卡上看到模糊的东西。如果你有如此多的 VRAM,不需要交换任何东西,GL 和 X 平面策略都可以通过什么都不做来很好地工作。

  9. 要是没有意义的,提前计划的法线贴图压缩?它不涉及任何分页问题直接,但无疑是一大帮助减少潜在 blurries; 显存使用一些附加的飞机和风景有点下流。

    1. 正常地图压缩是一个时间的问题,而不是,cuz 是啊 -- 那些 4k 正常地图在 VRAM 中疯狂的大。

      这个有点棘手,因为我们已经将我们的材质贴图 (metalness,gloss) 倾倒到普通贴图中,所以我们必须考虑一些事情:
      -如果纹理缩小,在某个时候法线贴图有用吗?尺寸缩小 4 倍的普通铆钉图可能毫无意义。
      -目前,缩小的法线地图增加了法线地图高频凸起过去的粗糙度-这有助于照明在远距离看起来更好。如果光泽图和法线分开,我们该怎么做?
      -哪一个尺寸优先或更多,普通地图还是光泽地图?
      所以那里会有胜利,但是我们也必须决定如何设置纹理。

  10. 我会假设快门和落架装载和卸载的纹理是什么杀死了我的帧速率,当我试图超越 500 海里的一架战斗机。我的 cpu 是 i9700k 英特尔,和我的 gpu 是海鹰 1gb 显存的执行情况,无论是水冷,所以硬件没有问题。我猜它会模糊的风景以上的速度,这是更好的那一瞬间的干扰。这导致昏迷时你干扰的高速转突然的转变对你。我用四台显示器和三台电脑所以被包围的故障或另有我想正确的倾斜角,不关, 它只是看起来像发生故障时的窗口,你正在寻找的。

      1. 我想通了,我切断了交通,可以保持稳定的 45 fps,成功地将米格-29 推进到 2.4 马赫

  11. 嘿,对不起,那么在当前 11.41 的情况下,我需要 VRAM 或 padding 文件大小设置吗?

    我有 32 GB 内存。我有 XEnviro,它会导致口吃!解决方案是什么?

    谢谢

    1. 取决于您的附加组件。8gb 应该可以,4gb 应该可以,但是如果你有一个使用足够纹理的附加组件, 你总是可以用完,因为飞机制造商对作者的使用量没有限制。

  12. 我希望你澄清一点困惑,至少对我来说是这样。新系统。看看一个特定的图形系统有多少 VRAM,并相应地计算使用负荷?或者你计算一个基本的 VRAM 大小并从那里开始?此外,您是否支持在多个视频卡上聚合 VRAM?我这么问是因为我们很多人都有更高端的系统。(在我的例子中,12gb 的 VRAM 用于单视频) 在我的几个朋友和家人的情况下,甚至更多!我们会看到更少的口吃或内存交换吗?或者你把 VRAM 的使用限制在一个静态水平上,然后交换?

    1. 我们看看你的硬件 -- Vulkan 告诉我们我们通常有多少 VRAM 可用。

      我们不支持在多卡上聚合 VRAM,因为我们不支持多卡,这是多卡的大问题之一。

      如果你有两个 GPU,第二个 GPU 的 VRAM 对第一个 GPU 和你的系统内存一样没用 -- 它不是第一个 GPU 内存控制器的本地, 因此采样速度不快。这是我一直说一个显示器有两张卡是愚蠢的原因之一 -- 你得到了一半的 VRAM 杀伤能力,因为一半的 VRAM 不在每个 GPU 的内存总线上。

      1. 公平地说,像 2080 这样的高带宽 SLI 卡可以通过 SLI 桥使用 vram 从其他卡到 GPU 的几乎全总线速度。其他东西是有帮助的,比如增加了 ROP 功能,比如 4k
        并且对于 VR,SLI 可以在 GPU0 的情况下用于左和 GPU1 的情况下用于右眼。

        如果谣言是真的,nv 和 amd 都在和 chiples 在一起,你可能很快就会在多 gpu 上咬紧牙关,然后再以任何方式

  13. 根据需要重新缩放动态纹理是相当常见的,并且确实会导致用户认为这是一个错误。如果可能的话,我想你应该跟踪哪些纹理应该保持高分辨率,即驾驶舱里的东西,而不是几公里外的一些风景。

    我猜有些用户需要有某种程度的期望值显存方面需要指导的纹理分辨率滑块 (GTA V 了什么) 但我想在 X-Plane 是很难知道这一点。

    纹理弹出 (在某种程度上 LOD 弹出) 比口吃更好,尤其是在虚拟现实中…

    1. 对-我们不会超过纹理滑块, 这可以帮助锚定系统 -- 如果你有 1gb,你不应该在最高纹理设置下运行 -- 通过降低滑块 (就像你在 11.40 中一样) 你为 sim卡提供指导 “甚至不要试图将其最大化”,并避免鞭打。对于封闭游戏来说,这比 X-plane 更容易,因为我们不知道你的第三方插件有多重。

  14. 这有点好笑。我离开 FSX 是为了 XP,其中一个原因 (当然还有其他更重要的原因) 是我厌倦了模糊的纹理开始出现。现在在 2020年,模糊的纹理也在我的新 sim卡上回击
    我希望你能设法知道如何在不造成太大损害的情况下介绍它们。没有 Vulkan,性能改进升级,迫使我改变 GPU (工作中的一个想法, 但是同样有趣的是,如果我必须基于一个更新来完成它,这个更新应该能提高它自己的性能,即使在 CPU 方面更多)

    1. 如果你现在没有模糊,也没有大量口吃,你会没事的。只有那些有尖锐纹理和大量口吃的用户可能会看到 res 的损失,因为他们已经超过了 VRAM 的限制。

  15. 好的,我看到房间里有一头大象。我想知道你是否能谈谈测试版的发布。我们说的是几小时、几天、几周还是几个月?如果是几周或几个月之后,我不必每小时运行更新程序来查看它是否发布。
    谢谢。

  16. 我得到的感觉是,虚拟内存可以像一个缓冲区,我不是编码器,但这就是它的感觉,所以内存是重要的, 正确的说一个 16gb 的基数,用 32gb 作为漂亮的整数来吸收溢出。我已经有了 8gb 的 VRAM 容量,所以对我来说这已经是一个很好的设置了。纹理质量滑块会消失吗?

    1. 纹理滑块不会消失 -- 它设置了我们将尝试的最大纹理 res (以及使用 OpenGL 时的最终纹理 res)。因此,它对我们来说是一个有用的粗略校准,例如,如果你有一张 1gb 的卡,并且没有将其设置为最大限度,我们不会疯狂地尝试安装所有东西。

  17. 模糊的屏幕/文本是我最大的问题 -- 这在虚拟现实中不太好,所以阅读你的信息对我来说不是好消息。但我明白,这是测试版,是新的,你正在努力。我甚至不会假装承认 90% 理解你所说的话,但我很感激你为解决这个问题所做的努力。我也很感激你的诚实; 至少我们知道会发生什么。干得好-谢谢

    1. 不要惊慌!某些纹理根本不符合减少分辨率的条件。这包括用户界面、面板等。

      我们已经有了这个基础结构,使得当用户在一个月 8gb 卡转下来的质感 res,没有这一无法使用的飞机。所以我们已经都有益,有广泛的高清晰度。

  18. 嗨本!
    也许是一个新手的问题,但是… 这是否意味着 SLI 硬件配置现在将会提升一些东西?(我认为在 11.50 之前,这根本不是游戏规则的改变者)。
    继续伟大的工作!
    迭戈。

  19. 嗨,本。
    关于虚拟现实,因为我们是关于纹理清晰度等的话题, 你可能已经注意到英伟达发布了一个新的驱动程序,允许在焦点的中心进行集中渲染,这可以增加超级采样,同时增加 fps。我认为这叫做 VRSS。
    看来这可能只适用于 directx 游戏。你们是否正在与英伟达讨论,看看这是否可以在 vulcan 下的 xplane VR 中实现?
    我们想为虚拟现实获得的每一个好处!
    谢谢

      1. 嗨,本,

        只是为了澄清一下,你是说 VRSS 应该在 XP 中发挥作用吗?关于英伟达驱动程序,是否有针对 XP 的 “游戏就绪” 驱动程序的计划?

        我目前在虚拟现实中飞行,我可以在 sim flying 2d 中获得 90fps 加 fps,在虚拟现实中获得 40fps 加 fps,这是可执行的和稳定的,直到我遇到密集的云,在那里它开始跳过各地的节拍购物。我的系统是一个 RTX2070 超级,I59600K,16 GB 内存应该 vulkan 修复口吃我在 VR 周围密集云等体验?

        此外,如果 autogen 变得贪婪与你的 CPU 将 Vulkan 降低世界对象的数量来抵消口吃?

        1. 我不是说 VRSS 现在在 XP 中运行。我们没有使用它。

          我想说的就是 NVidia 的规格为 VRSS 支持福尔康和 OpenGL,不只是 DX,所以没关系的 API,我们选择 (从 VRSS 观点。)

          我不知道驱动程序中对 VRSS 的支持是否已经完成。我的猜测是肯定的。

          Vulkan 不会降低对象数-请注意,autogen perf 不是口吃-它只是低 FPS。那是因为绘制 AG 的成本是相同的每一帧。

  20. 嗨,本,

    TL; DR: pics plz!

    谢谢你的另一个伟大的 Vulkan 帖子。作为开发人员,我只能同意你的帖子,尤其是关于人性的第一部分。

    Re: “让我担心的是: 用户不会喜欢它。”

    我走进那个陷阱很多次,一点也不好笑。倾听反馈是一回事,但试图想象用户可能会怎么想又是另一回事。在这里,我将亲自去做: IMHO 当人们开始以与对 OpenGL 相同的方式思考 Vulkan 时,这只是时间问题:

    来自:
    嘿,我不喜欢口吃。我能做些什么呢?升级我的硬件!
    至:
    嘿,我不喜欢模糊的纹理。我能做些什么呢?升级我的硬件!

    当然,我完全理解这是一个漫长的优化过程。如果我比较 X-Plane 的最后版本,我是说伙计,你们在表演上做得多好。我相信这对 Vulkan 来说也是一样的。

    所以,我的意思是.福尔康之间的选择和 OpenGL 的吗?因此,人们可以选择与口吃或模糊纹理?

    但实际上我的主要问题是: 你能发布几个带有和不带有模糊纹理的截图来告诉我们这个时候问题有多 “糟糕” 吗?

    再次感谢!

  21. 一些随想:
    首先,纹理压缩完全发生在 VRAM 中,由 GPU 完成,对吗?否则就没有意义了 (将纹理移动到 RAM 中由 CPU 压缩,然后放回原处)。
    第二: 如果你朝着那个方向向前看了一段时间,如果你决定向后看会发生什么?视图的改变是延迟到纹理准备好,还是新视图会随着 (更好的) 纹理准备好而 “增强”?
    一些 (开发者) 选项完全忽略任何纹理 (任何表面都是灰色的) 怎么样?我认为这就是 X-Plane 4 “经典” 的方式……
    最后,我非常不喜欢长时间的加载。有每个组件加载时间的直方图吗?我更喜欢更快的启动,纹理在加载时出现,因为无论如何你都必须准备航班 (没有时间向窗外看)。
    如果 X-Plane 显示的 VRAM 使用率低于卡上的 VRAM,这是否意味着不会发生纹理分页,或者这个数字只是一个疯狂的猜测?
    你有没有考虑过渲染热键,如下所示?:
    * 禁用/启用动态风景
    * 禁用/启用大气效果 (云、雾、雨等)
    * 减少/增加可见范围
    至少这样的热键会很快表明帧速率是在哪里燃烧的。

    (完全独立于瓦肯人的讨论) 我最喜欢的:
    “传送到飞机的说话”,这意味着你可以控制飞机发出的空管信息,而你的飞机也仍在持续控制输入,或者是由埃。

    1. 压缩和分页是完全正交的。

      质感的有损压缩的方式 _ _ 压缩 (例如 DXT)--这就是另一种纹理格式少位像素。纹理是理想的压缩的作者和保存到磁盘压缩; 如果不是,目前被压缩在 CPU 上的背景主题 (如我们的负载的 RGB 数据, 将其转换为 DXT,然后将其发送到图形处理器)。我们想过基于 GPU 的压缩,机顶盒的压缩机,我们现在使用的是非常快的,GPU 的压缩是不如作者压缩提前。

      当我们纹理页面时,我们正在将越来越大的图像交换到 GPU,就像你已经关闭了纹理分辨率滑块一样。

      因此,如果你向前飞行,并且在你身后的地标中使用了一种纹理,这种纹理可能会变得 “冷” (例如,它已经有一段时间没有被使用了) 我们可能会把低分辨率的版本放到 GPU 上,然后扔掉高分辨率的版本来释放 VRAM。当你看你身后时,没有停顿 -- 你会看到低分辨率纹理,直到我们可以将高分辨率纹理翻回 VRAM。

      如果你有比 X-Plane 更多的 VRAM 来满足所有需求 (例如,你有一张 8gb 卡,最大分辨率,没有附加组件,或者你有一张 4gb 卡, 纹理滑块向下 1 凹口)然后我们不会把任何东西翻页出来 -- 没有空的 VRAM 是没有意义的 -- 当你转身看到地标时,它会立即获得高分辨率。

      请注意,在第一种情况下 (我们将其调出),这可能是 GL 飞行中的口吃或故障, 在第二种情况下,你的结果并不比 11.41 的结果差。

      1. 本,谢谢你的解释。所以你保持所有的纹理 (可能在较低的分辨率) 的所有可能的视图方向,以防用户需要它?听起来像是浪费资源。之前你说过: “如果它看起来太接近满了,把纹理缩小到更小的尺寸”。根据最近的描述,这意味着你正在释放一个高分辨率的纹理,并添加一个低分辨率的纹理。对我来说,这也是纹理分页 (一个纹理出来,另一个纹理进来)。这似乎有助于 VRAM 变得紧凑,但并不能提高性能 (从 CPU 和 GPU 中带走一些内存带宽)。
        还有一个问题,假设我在向前看的时候回头看: 当那些纹理离开我的时候,我会看到纹理被更低的分辨率取代吗? 或者你会翻转角色和飞行方向的纹理将被替换为较低的分辨率?

  22. 我认为尝试优化新代码 (VRAM 寻呼机) 是你作为编码器的工作,也可能是你自己的标准为了尽可能有效地交换纹理,但我也想知道,在多大程度上,花费额外昂贵的开发时间来进一步将软件定制为低端硬件是合理的?
    这可能会给我打电话的孩子的名字。很多用户都不愿意或能够设置 X-plane,以便它运行良好。
    如果我理解正确的话,如果用户观察到模糊的纹理,那是因为他/她的 VRAM 用完了,因为硬件不足。设置过高。
    因此,我非常赞成你的想法,在这种情况下,让 X 平面在屏幕上显示警告,通知用户这种情况,并建议减小纹理尺寸。
    逼真的图形很好,高分辨率的纹理也很好,但是它是流畅的运动 (恒定的帧时间,没有偶尔的向上移动) 这给人的印象是真正在空中飞行的影响最大。因为这似乎正是瓦肯/金属更新所承诺的 (如果 GPU 有一些余量,更高的 FPS 是额外的奖励) 我怀着热切的期待期待火神/金属的更新!

    1. 我们不知道插件使用了多少 -- 我们只知道所有的 OpenGL 代码都使用了一大块。我们确实有一个 VRAM 分析器 -- 我们必须看看它对公司以外的任何人有多有用。

      1. 好吧,我相信如果用户能够至少看到核心 X 平面和插件作为一个组合数字使用了多少 VRAM,那将是非常有价值的。这可能吗?

        此外,清楚地表明缺乏 VRAM 是否导致纹理分辨率降低也很好。

        这将使用户更容易为尽可能好的图形配置 X 平面,并减少混淆,从而减少刺激。

        你有可能发布一些模糊纹理下 X 平面的截图或短片吗?

        1. 我不想发布那样的视频。这篇文章已经被严重误解,吓坏了所有人。

          我: 如果你的机器是可怕的负担过重会结巴,然后运行在月 fps 你出 VRAM,现在它只是 derez 代替。
          每个人: zOMG Vulkan 将会是模糊的 @ # $。

          上周在我的 4gb 卡上运行纹理寻呼机的错误版本,我可以很容易地展示模糊纹理的样子。但是你可以在家里看到这一点 -- 只需将纹理滑块向下拖动大约 3 个凹槽,然后重新启动 sim!它看起来一样。

          我们的目的是修复分页 (西德尼已经取得了很大的进步),这样就可以让滑块向下移动。

  23. 在阅读了所有评论后,我认为拥有 “屏幕数据输出” (如屏幕上的 FPS) 将是有用的,它将显示:
    * Xplane 纹理用法
    * 平面纹理使用
    * 插件纹理使用

    这可能对开发人员有用,但至少会提供一个简单但信息丰富的信息来评估你的插件/平面纹理加载。

    干杯
    Saar

  24. 如果纹理或多或少地动态和自动调整大小,是否可以将某些内容设置为固定分辨率?
    例如,地面纹理质量很高很好,但没那么重要 (至少对我来说),但滑行道标志至少易读是很重要的。

    1. 不是真的 -- 另一个用户可能真的想要可读的滑行道标志 (这样他就不会迷路),而不关心地面纹理。我们不会为 sim 的每个元素都有一个纹理滑块。

      我的观点是,让一切都差不多对沉浸感来说是非常重要的 -- 一个高分辨率的纹理和一个低分辨率的纹理看起来很奇怪 -- 就像这两个元素被 photoshopped 在一起; 我们的艺术团队努力保持事物的一致性。面板文本必须是可读的,功能必须是最重要的因素。

      1. 我想知道 “对象优先” 有助于: 高度优先的目标是提供最好的质量,而较低的优先对象就在较低的分辨率,甚至 (呵呵, 我听到尖叫的灰度级 (无颜色)。急需解决的问题是这样的:
        * 必要的跑道灯
        * 跑道
        * 基本标志和出租车标志
        * 滑行道
        * 基本机场建筑
        * 景观旁边的机场
        * 额外的风景对象
        * 云
        *…

        请注意,我把云放在下端,因为如果我使用 X 平面,我想飞; 如果我想看到详细的云,我会看一些照片,比如 https://pixabay.com/images/search/clouds/ 。当然,如果系统有足够的渲染能力,你可以拥有最高分辨率的一切…

  25. 早上好,我的回答微不足道,我只是想知道公共测试版的发布,是这个周末吗?谢谢。

      1. 我认为人们应该把 “几天,而不是几周” 理解为 “可能在接下来的 13 天内”,而不是几周..

        嗯,我给出了我的想法,但对编程知之甚少 (就像我看到的其他人一样)..:
        “内部工作滑块” 的改进能有所帮助吗?
        如果你可以检查你必须选择低分辨率的次数,在一次飞行中,你可以测量 “这次飞行” 插件使用了多少 VRAM, 然后告诉 Vulkan 期望少一点 (或多一点)VRAM 用于 X-plane 本身 -- 然后不时地做一个样本,如果仍然是这样的话,就检查一下?
        我希望这是有意义的..如果这是可行的,可能是别的东西

        不管怎样,我读这个要舒服得多:
        “我: 如果你的机器严重过载,会结巴,然后以 3 fps 运行,因为你没有 VRAM,现在它只会代替德雷兹。
        每个人: zOMG Vulkan 将会变得模糊,因为 @ # $”
        请原谅我们,那些既快乐又痛苦的可怕用户

  26. 听起来这是草丛中的纹理加载的问题。
    应该没有必要为纹理加载重新发明轮子。
    花这么多时间/精力在共同的任务上是相当令人不安的。
    自定义代码也会导致自定义错误。
    模糊的 Vulkan 纹理 3 年后将是不可接受的。
    闹钟已经响了。

    1. 从我对游戏编程的所有了解来看,这种数量的动态纹理加载 (在全球范围内雇佣 orthos 的情况下,可能是万亿字节) 根本不是一项常见的任务。在保持 fps 而不口吃的情况下不会。
      我不认为,你知道你在说什么。
      而且,正如 Ben 现在多次解释的那样,模糊的纹理只会发生,如果你把纹理 res 滑块放在比你的 VRAM 更高的地方。
      在谈论警钟之前,为什么不等着看测试版是如何工作的呢?

          1. 感谢您的链接。我要看那不止一次要充分重视你的团队正在做的事情。

          2. 对 VMA 来说,有一点要说: 它让你对 GL 驱动程序的复杂性有所了解,甚至没有提醒我们。

            我对 Vulkan 的心理模型是,应用程序开发人员就像青少年一样,在 DX11/GL 驱动程序编写者面前发脾气。

            App dev: 去你的爸爸!你什么都做不了!你 UNDERSTAND 理解我!我要跑了,一切都会好起来的!

            司机作家是愤怒的父母,他们厌倦了辱骂。

            司机作家: 真的吗?那好吧。去照顾好你自己,祝你好运。

            现在我们住在朋友的地下室,只吃拉面,因为我们没有意识到烹饪是一件事。

            应用程序开发: 你好.爸爸.嗯.呀.不不在这里进行的还不错的。一切都很好我只是在想.什么是管道不通?我知道答案,我只是想看看你是否知道。

            司机作家: 这不会很好。

          3. 我认为层流需要回到画板上。
            对于地面纹理,最接近和围绕平面的纹理应该在 VRAM 中 (显然),以渲染场景。
            下一个离得更远的纹理应该被加载到计算机内存中。
            当飞机飞行时,RAM 纹理被带入 VRAM。
            这显然是非常快的 (RAM 到 VRAM)。
            地面纹理从来没有加载到 VRAM 磁盘-因为这导致口吃和问题。
            它们被加载到磁盘-> RAM-> VRAM。
            磁盘到 RAM 的加载是后台的一个单独线程。它不影响实时 GPU 渲染。因此不再口吃。
            应该有一个最大内存使用设置。如果我的机器有 32 GB,我可以把最大 RAM = 24 GB (作为一个例子)。
            因此,这增加了大量预加载的纹理准备就绪。
            该算法只需要找出哪些纹理应该在 VRAM 中,哪些应该在 RAM 中。
            随着平面位置的更新,它们从 RAM 变为 VRAM (反之亦然)。
            你将永远不会看到任何更多的口吃,除非用户有低规格,他们把一个愚蠢的高纹理设置。
            此外,这样,地平线上就不应该有可怕的棕色纹理。那些棕色纹理被允许是较低的分辨率。它们不应该被硬编码成假棕色。
            如果 Vulkan 有棕色纹理,我会吐薯片!!

          4. 我认为你说的这句话是怎么个面有从 X-Plane 工作月的 11.40。

            X-Plane 已经将纹理从磁盘加载到 VRAM 中 (因为你不能,不能在 Vulkan 中,也不能在 OpenGL 中) 我们还没有在主线程上加载纹理,因为至少回到 v9,所以你永远不会等待磁盘访问 (或者 DMA 到 VRAM)。这些问题早就解决了,新提案不会有任何倒退。

            什么是新的显存是紧时,我们认为我们可以做得更好。如果这不是一个问题,因为你有月,那么大,旧的设计工作和新的人。但是我们接到用户少 VRAM (以上插件),其系统的 “差”,我们认为我们可以做得更好。

          5. “当飞机飞行时,RAM 纹理被带入 VRAM。
            这显然是非常快的 (RAM 到 VRAM)。”

            不要把光在你,但这绝对是一个虚假的陈述。上传纹理数据需要大量的时间,也许不是在每天的人体测量,可以肯定地说,实时应用。“哦,妈,我们需要这个结构是在内存显存” 是绝对不是一个好的策略以任何方式或形式, 如果我们不想再回到起点,重新引入口吃。

            模糊纹理的问题在帖子中被夸大了,我们的策略不是把所有的纹理都减少到 1 × 1 像素。策略是在纹理不被注意到的时候降低纹理的比例 (想想一个 4k 的纹理要么不在视野之内, 或者很远,你永远也看不到它的任何细节)。当需要完整的细节纹理时,尽快把它放回 VRAM。我们对纹理的使用有很好的了解,现在需要哪些纹理,哪些不需要,这是我们如何处理过度提交的 VRAM 的策略。

          6. XP 有设计缺陷。
            不应该有任何口吃或纹理 “紧急情况”。
            飞机飞行或改变方向的速度不够快,不足以成为借口。
            应该只有一个完整的高清晰度纹理网格,其余的则是低分辨率纹理的地平线。
            该算法需要将低分辨率纹理切换到全高分辨率纹理。
            反之亦然 (在飞机后面)。
            这不是火箭科学。其他模拟人生已经掌握了它。
            有足够的时间来切换纹理…
            如果编码正确的话!

          7. 我不能否认,如果整个景观系统是由同样距离的纹理的网格,解决页面是微不足道的。

            但这只是 X-Plane 风景系统、飞机 SDK 和插件 SDK 实际做的一小部分。

          8. 不仅如此,但这里的基本假设是,这将适用于显存一样。这并不是在所有的情况,所以更聪明比这样的计划是必要的。就把我们带到这个时间表。

  27. 这是我不明白的。

    8gb 内存的 GTX1080 如何比 11gb 内存的 RTX2080TI 具有更少的 VRAM 口吃?你有更大的内存吗?从逻辑上讲,我会认为是的,但是如果是这样的话,它会填满直到没有更多的空间了吗?
    我测试了 11.35 和 11.41,似乎没有区别。GTX1080 在 X-Plane 中似乎比 RTX2080TI 有更少的口吃,至少可以说很烦人。

    1. 我不知道。没有在 _ your _ 1080 和 2080 上安装侧写器,我不知道你看到了什么具体的口吃。有足够多的东西可以口吃,有足够多的黑匣子在 GL,它从来都不是挖掘这类事情的选择。在 11.41 中,许多口吃与 VRAM 无关。

      1. 如果有一个配置文件可以用来帮助缩小任何潜在的口吃错误/原因,可以在默认的 XP 安装上测试,请给我发邮件。仅供参考,最明显的口吃发生在地面转弯时,图像口吃越快。同样在空气中,当转弯时,你转弯越快,口吃越多。几乎没有口吃直走。帧高于 70fps。
        PS。我为评论栏中的错误报告道歉。

  28. 整个纹理分页算法看起来足够复杂,可以持续进化到 11.50 以上。
    (这是 'cache 战略的另一个名字的)

    你将对正交风景做什么测试?
    请问 ZL18 邻胸围,即使是最大的 gfx 卡 ram?(尤其是当飞直待新的月 × 月砖需要加载)
    每个纹理只有 2 种状态: 1/1 rez 和 1/8 res 吗?
    如果是这样的话,你认为这可能会导致尖锐/模糊的不和谐混合,而中间 1/2 或 1/4 rez 的所有纹理可能会更令人愉快吗?(加载问题!))

    我认为事情可能模糊多长时间的 “时间框架” 将有助于预期:
    情况: 直线飞行,然后转 180 飞回来 (只有这样才需要页面纹理)
    (或者在虚拟现实中,只是回头看)
    期望: 只有几帧模糊的纹理,因为该算法避免了口吃,而它从以前的视图中冲洗不需要的纹理,并加载 1/1 rez 纹理-即。不会模糊很长时间?

    和:
    如果你有一分钟或更长时间的模糊纹理,降低纹理质量设置
    正确的建议?

    1. 计算机科学有两个难题: 命名事物、缓存失效和逐个错误。

      值得注意的是,正射影像分页已经存在,并且自 X-Plane 9.2 以来一直存在 -- 你在纹理上放了一个 LOAD_CENTER 指令,给出了关于它在现实世界中,我们可以计算所需的分辨率,并根据距离将其翻页。所以这是 _ easy _ case。:-)。我还没有为 ZL18 做数学运算,但是你可以用 LOAD_CENTER 从正射影像中获得近乎完美的 LOD 行为。

      其他材质,我希望会有多个国家, 例如,它可以去 rezed 因压力而去 rezed,由于它是 “冷”,这些不都是一样的。我认为有多种组合的锋利度不是很大。

      我不知道纹理需要多长时间才能翻页…… 一旦算法分页了正确的东西,我们就可以测量一些有意义的东西 -- 如果不是, 加载时间可能很奇怪,因为纹理分页的顺序太少或太多。

      1. 整个适应性模糊的主题是迷人的 -- 甚至 Youtube 也需要处理它,我怀疑有学者把他们所有的研究时间都花在了它上面。我 62 岁了,即使戴上眼镜,事情也从来没有完全集中起来,我已经习惯了。这让我想到,另一个用于重新调整/去重新调整考虑的输入控件可能类似于一个滑块,它包含 20/20 20/40 20/50 等可接受模糊程度的视觉范围。只是一个想法。

      2. 当我们讨论 “计算机科学中的难题” 时: 有两种方法可以解决任何性能问题 (他们说),那就是散列和缓存; 所有其他问题都可以通过额外的间接解决
        “Off by one” 系列还包括数字不稳定性、除以零和其他惊人的整数溢出。
        我最初令人惊奇的经历之一是这样的: “如果你把 123 读成真实的 (浮动的) 并再次打印出来,输出很少是 123 (回到 1985年); 更像是 122.9998 或 123.0001 ”(今天好多了)。

        1. 在 Fortran DO 循环中使用实值表达式的乐趣和游戏…… 在某个地方,今天可能还有一个循环在运行

  29. 我不明白的是,为什么不干脆用 2gb 的 vram 切断任何东西。这并不牵强大多数现代游戏的最小规格至少为 3gb 的 vram,现在只是在一些低于 2gb 的尝试打开 vulkan 模式时发出警告,它不支持完成并移动关于其他事情

    试图支持 iGPUs 和 5 年前的 gpu 不值得你花时间这些人需要升级

    1. 这是可怜的客户服务更改系统所需的程序版本。

      X-Plane 12 或其他什么东西将是提高规格的好时机。

    2. 一个有意义的一部分收入来自于人的集成图形处理器 (飞行的鼠标和键盘,不)。从航空方面 (而不是游戏) 开始飞行的人倾向于从那里开始,然后购买更好的 PC ²。

      1. 事实上,我对用 4GB VRAM 的 AMD 显卡取代英特尔-iGPU 的性能提高感到非常失望: 帧速率的提高是微不足道的, 即使原则上该卡应该有更多的渲染单元。所以 iGPUs 实际上可能会这样做,除非你添加一个非常强大的 GPU。

  30. 嗨,

    你说 Vulkan/Metal 将是下一个 xxx 级的性能改进。

    现在你说纹理质量比实际质量低,反射将是第一阶段。

    那么,如果我通过向下转动滑块得到相同的实际结果,为什么我需要 Vulkan/Metal?

    模糊的纹理… 哦,我的好…

    正如我在上面为我写的,可见的纹理质量已经不到两年前了。

    我不知道你用 Vulkan/Metal 做什么,但是我期待更多的 FPS,更多的纹理质量,更多的视觉效果和更少的口吃…

    现在我们得到了模糊的纹理,稳定的 30 FPS 而不是 60 FPS,纹理质量很好?

    “我在 X-Plane 工作了 6 年,我做的每一个调整都决定了你是否有口吃/更多的 FPS。事实。如果我以默认的云为例,我会得到可怕的口吃。3 层云,恶劣的天气和 FPS 是不可玩的。对我来说,有必要继续努力。我们摆脱所有的问题!"
    另外一个提示是实现混合森林网格在更高的 ALT 而不是 xxx千树。

    SystemSpecs: I7-8700k @ 5.3 GHZ 的八分月奥尔 (Bios: 多线程禁用) CPUZ SingleCoreBench @ 625 分,月国标 GCARD @ 2200 MHZ,月 K Toschiba 55'INCH,32GB-HYPERX 内存, 月个月 TB SAMSUNG_EVO_SSD,YOKE 赛钛客专业飞行和督导。

    最后像往常一样在高水平上批评/抱怨/想法。

    问候
    X-PILOT

    1. 你甚至在看到更新之前就已经过分夸大了。作为一个拥有 8gb 卡的人,你绝对会没事的。本在这里描述的技术在 AAA 游戏行业中被广泛使用,比你意识到的更多 (看看红色死亡救赎 2,例如当它第一次启动时。模糊的纹理直到它建立了一个稳定的 vram 目标… 然后不断缩小你几乎看不到的纹理。)当然,艺术方向可能会更好,但是 XP 在试图跟上艺术资产和规模的绝对数量 (第1 和第3 方) 方面仍然做得很好。

      Tldr,让我们冷静一点,看看你的系统是如何受到影响的。

  31. 嗨,本,

    我仍然对 Mac 上 11.50 金属的所有好处有点困惑。这真的能解决口吃问题吗 (这太棒了),还是我们也能增加 fps 和/或在没有注意到负下降的情况下向上移动图形滑块的能力?

    谢谢

  32. 开发人员开始发布:
    “我在《黑客帝国》期间学到的一件事是,用户经常发现新的漏洞比现有的漏洞更烦人; 用一个现有的错误换一个新的错误通常被视为一个大的倒退,即使新的错误不是那么糟糕。我认为这只是人类的本性 -- 我们习惯了一些事情 -- 这是人类所做的 -- 这消除了一些已经存在了一段时间的虫子的刺痛。"

    用户评论:
    “这些模糊的纹理 (我们还没有看到) 太烦人了!这是一个巨大的倒退!让我们决定再次口吃。"
    “Vulkan is @ & # %……”
    “开发人员是 @ & # %……”
    "转到 DirectX 并删除 Macs/Linux!"
    “我有一个小图形处理器,我很害怕!”
    “我有一个大的 GPU,滴小图形处理器!”
    "Vulkan port 100 年了,现在!"

    1. 如果 1050 对你来说是一个大的 GPU,我不确定你的爱好是否正确
      我说用不到 2GB 的 vram 放下 igpus 和 gpu,你现在可以花 1050 美元买到 140 或者 4GB 的 gpu
      海事组织是零理由继续让这些人苟延残喘,他们可以继续使用 OpenGL 的现在还是用福尔康但知道有有限的显存会说他们处理不那么完美的纹理

  33. 嗨,Ben!
    我是一个插件开发人员 (在 openGL)。你能解释一下我必须做什么才能为火神的到来做好准备吗?它会破坏 openGL 插件吗?

  34. 嗨,本,非常尊重你多年来为让 X 平面变得越来越好所做的努力。VATSIM 现在已经宣布,它将要求 VATSIM 客户端 (XSB,swift) 的开发团队插入代码,当 FPS 低于 20 时,这些代码将自动断开。许多 x 平面用户的一个主要缺点。因为有时当你接近复杂的风景时,帧速率会很快下降。您无法预测机场 XY 的 FPS,也无法预测必要的渲染选项。瓦肯/金属在 11.50 有助于改善这种情况吗?

      1. 这可能动态地做吗?有一个名为 3jFPS 的不错的插件,它可以调整视图距离、云质量、抗锯齿和场景阴影,以帮助提高 fps。但是,除非我使用低设置,否则它不能降低足够的东西来使飞行进入纽约或波士顿运行良好的 fps。然后我在途中得到了 60 fps,但是细节比我在 30fps 时得到的要少,我会很高兴。

        我可以在其他任何地方获得 30-40 fps 的高/最大设置,甚至是在人口较少地区的最终机场。

        我可以根据 dep/arr 机场改变每次航班的设置,但同样,这并不能解决途中的问题。也许 11.50 中的自适应 “模糊” 会有所帮助?尽管我认为系统内存中加载了多少纹理 (纹理质量设置) 是我的主要因素..我不认为模糊的影响是什么?

        1. 动态地做并不容易,因为 (1) 当 FPS 下降时,我们不一定知道哪个滑块会把它带回来 (2) 有些控件不会立即生效,或者具有很高的重新加载成本。

          只有当 (1) 纹理的 VRAM 是问题所在,(2) 你以前在口吃/低 FPS/GL 驱动程序失败的情况下运行时,自适应纹理才会有所帮助。

          1. 当我试图得到一双大的 FPS 靴子时,我做的第一件事就是总是把 autogen 放回去

            无论出于什么原因,autogen 最受欢迎的是帧速率,其次是 AA,这就是为什么我一直要求新的 AA 比 SS 更快, 临时 AA 会很大,因为它不使用那么多的 GPU,看起来比 FXAA 更好

            请一旦你得到 Vulkan 在看添加一些新的 AA 模式

          2. 当然,动态地做到这一点并不容易,但是一点 lua 脚本就能很好地退出。至少我一直在使用它。

          3. 几年前我制作了 Lamont 提到的插件。它的主要功能是缓慢而平稳地适应
            /私有/控制/雷诺/LOD_bias_rat
            到当前 (平均) 帧率。
            这出奇地有效。

            现在,咳咳,我担心插件会破坏在 11.50 中纹理压缩/解压缩/页面等的逻辑,并且你会得到插件最终导致的模糊错误的报告。

            我也不知道有多少,这可能是一个问题,如果该插件将导致模糊纹理,他们也不会出现明显没有它。I'll beta 测试它就坏了。

            顺便说一句,大约两年前,我在上的下载页面上放了一个大的红色免责声明。Org,该插件使用未记录的私有 DRs,并且不能保证它将与未来的版本一起工作。但是,在一些罕见的情况下, 一些用户可能已经过度阅读或忘记了它…… 其中一些用户也可能忘记禁用他们的插件并在向你 (而不是向我) 发送错误报告之前重新测试, 我很害怕。

            我会尽量传达的。组织的过程。

          4. 我很感激你提前回复: 兼容性期望…… 这就是我们能真正要求的。艺术控制的目的是允许人们修补,但没有兼容性的尝试。

            我预计盗号的 LOD 偏置 (这是不是疯了) 仍有可能在 11.50 和质地不伤寻呼-对象是在工作或不是, 但我们认为这把 “冷”,在页面出来。

            其他东西肯定不会起作用 -- 比如,3分之1 party dev 告诉我,他不能用 DRE 改变阴影地图的大小。没错!!许多配置现在只能在加载期间的特定时间进行更改,以便我们可以预先加载新的着色器、设置、分配 VRAM 等。我们过去常常检查每一帧的配置变化和动态更新,但这是口吃的秘诀。所以这些设置现在必须在 settings.txt 中被黑客攻击。

          5. 纹理寻呼机被设计为 “只是工作”,它在后台持续运行,并试图尽最大努力。如果您动态地增加或减少 LOD,它可能需要加载/卸载纹理,但是整个系统已经被设计来处理这个问题。我有一个带有一系列第三方内容的 sim 安装,包括你的脚本 (和 FlyAgi 的脚本试图做类似的事情)。当然,虽然不是同时运行)。据我所知,纹理寻呼机和你的脚本在安装时非常愉快地共存。

          6. 本和西德尼的回答非常感谢。

            “… 纹理寻呼机和你的脚本在安装时非常愉快地共存……”

            然后,听到这个消息,我就像我在开发机器上的插件一样高兴 (并且有点放心):)

            干杯,约恩

      2. 在 XSB 2.0 中,如果帧速率没有在合理的时间内恢复,它将断开,但是如果它恢复并保持稳定,FPS 的短暂下降不会导致您的连接断开。按照本说的做是正确和明智的。在虚拟世界中飞行速度比实时慢的飞行器对其他飞行员和空中交通管制来说是个问题。

    1. 嗨,保罗,

      他们 _ 无需 _ 需预压缩!这不是 11.40 的要求,也不是 11.50 的要求。不会有兼容性问题,因为飞机的风景的 pefabloc 停止工作。考虑到这一点,他们 _ 的 _ 被压缩。我们推荐这几年来--这是一个好主意之前,它仍然是。

      抱歉,那不是你问的, 但是我想解决这个问题,因为 “我们正在移除未压缩的最大分辨率纹理滑块” 被错误地解释为 “现在需要预压缩”, 我想把它扼杀在萌芽状态。什么格式最好?如果你的意思是,我应该把 DXT1/3/5 中的哪一个用于我的材料,我想答案是: DXT1 如果你不需要 alpha, DXT5 如果你这样做 -- 在 DXT3 和 DXT5 之间,你的里程数可能会有所不同,但是我们很幸运,5 是一个正常的默认值。

      1. 谢谢。当我将 png 文件转换为 dtx1/5 时,它们会以 DDS 文件的形式出现在我的正交文件中。这是对的吗?抱歉所有愚蠢的问题,但是我正在努力关注你的博客,并为瓦肯人做好准备。我们安排了许多学生,不想耽搁。bob电竞官网

        1. 这些问题并不愚蠢 -- 最初的帖子令人困惑。但是你不必为了做好准备而这么做。这是一个很好的选择。基本上,是的,你想要一个 DDS 文件,你曾经有一个 PNG。您可以选择将 PNGs 并排放置或移除。

留下回复

您的电子邮件地址将不会公布。必填字段已标记*

不要在博客评论中报告错误。bob电竞官网
只有通过报告的错误X 平面错误报告程序被跟踪。