我正在制作一个 Sprite Kit 应用程序,并在我的场景中添加了一个 SKLabelNode。当我加载 SKScene 时,我注意到有一个相当大的滞后峰值。在对应用程序进行分析后,我发现它来自于使用纸莎草字体创建 SKLabelNode(尽管字体并不重要)。当我移除标签时,场景几乎立即启动,但使用标签时需要额外 1-3 秒。
我很确定这是由于加载字体造成的,因为当我返回主菜单并再次玩游戏时,它会立即再次启动。
现在有没有办法提前预加载字体,这样当玩家选择关卡时就不会出现很大的停顿?
我们遇到了这个问题,结果发现我们根本没有使用“正确”的字体名称。在我们的例子中,我们在实例化 SKLabelNode 时使用“Menlo”而不是“Menlo-Regular”,这会导致几秒钟的损失。一旦我们使用了正确的字体名称,延迟就不再发生。
(奇怪的是,SKLabelNode 仍然找到了 Menlo 并使用了它,所以我们并没有立即明显看出我们有错误的字体名称。大概,延迟是由于系统必须找出合适的替代品而引起的。它做得很好,找到我们打算使用的字体,但需要一段时间才能完成,因此出现了延迟。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)