禁用 fxaa 后,铯标签变得模糊

问题描述

我已经按照这篇文章 Cesium label blurred 中的答案进行了操作,但没有走运。

我已经确定 viewer.scene.fxaa = false 似乎没有任何变化。请看我附上的截图。

enter image description here

有没有人解决这个问题?

非常感谢!

解决方法

警惕像 viewer.resolutionScale = 2 这样的硬编码。这行代码有一个内置的假设,即用户可能有一个高 DPI 屏幕,并且他们的浏览器正在相应地扩展网页。在已经使用 1:1 像素比的系统上运行这行代码可能会导致它渲染的宽度和高度是设备实际显示的两倍。

这是一个替代建议:

viewer.resolutionScale = window.devicePixelRatio

它并不完美,但比硬编码的 2 更好。它会尝试让 Cesium 查看器与设备的原生像素完全匹配,这些像素可能与“CSS 像素”的大小不同,尤其是在高 DPI 上屏幕。

此处的值“1”(默认值)表示 Cesium 的查看器画布像素与网页的 CSS 像素概念大小相同,后者可能比屏幕自身的原生像素更大更粗。更高的数字作为 WebGL 画布分辨率的乘数,占用更多的图形内存和性能。您可能会发现您正在测试的机器的 window.devicePixelRatio 已经为 1.5 或 2.0,因此上面的行可能与您特定机器上的硬编码 2 没有任何不同。但是检查本地 devicePixelRatio 比做假设要好。

,

这可以通过添加来解决:

  viewer.resolutionScale = 2

可能会影响性能,但目前看来还不错。