【问题标题】:Graphics get aliased when go fullscreen in HaxeFlixel?在 HaxeFlixel 中全屏显示时图形会出现别名?
【发布时间】:2015-08-15 14:09:38
【问题描述】:

Flash 和非全屏的图形经过抗锯齿处理,非常流畅。但是当全屏或移动时,图形会出现锯齿。即使我使用 SVG 图像。

【问题讨论】:

    标签: haxe haxeflixel


    【解决方案1】:

    是的,Flash 在基于软件 cpu 的渲染中具有出色的锯齿效果。在 HaxeFlixel 的移动目标中,有一种非常不同的绘图方法,主要是出于性能原因。

    在 HaxeFlixel 中,移动和 cpp 目标将使用更像 webgl 或 Flash 的 Stage3d 的 gpu。这意味着图像边缘和文本的外观会有所不同。

    Flixel 和 OpenFL 在使这两种方法尽可能相似方面做得非常好。最近一些关于 OpenFL 中 cpp 文本的工作令人印象深刻。我不知道有任何解决方案可以使两个像素在每个用例的复杂游戏引擎中变得完美。您会发现类似 Starling 等 Flash 游戏引擎也使用 gpu 的别名的差异。

    您可以尝试一些事情:

    对于 OpenFL/HaxeFlixel,我之前已经设置了 gpu 抗锯齿,这应该是默认值:

    <window antialiasing="4" />
    

    如果你想测试,你会失去性能,但我相信你仍然可以在 cpp 中设置软件渲染。

    FlxG.camera.antialiasing = true;
    

    您提到了 SVG,我想您是在假设它是一种矢量格式,它应该可以完美呈现。 gpu 渲染首先将图像光栅化为位图,因此如果您希望它像在浏览器中那样缩放等,它不会。在这种情况下,您可以使用更高分辨率的图像并先将其缩小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 2021-03-12
      • 2016-04-22
      相关资源
      最近更新 更多