gpt4 book ai didi

ios - 使用自定义 fillShader 加载 SKShapeNode 会导致程序挂起

转载 作者:行者123 更新时间:2023-11-28 07:29:36 24 4
gpt4 key购买 nike

我正在尝试加载一个带有自定义 fillShader 的 SKShapeNode,当我单击鼠标时它开始动画。当我这样做时,程序开始挂起大约一秒钟左右。为什么是这样?这段代码有问题吗?

我的着色器在哪里制作:

func shaderSprite(position: CGPoint) -> SKShapeNode {
let sprite = SKShapeNode(rectOf: CGSize(width: 1000, height: 1000))
sprite.fillColor = .red
sprite.strokeColor = .clear
sprite.position = position
sprite.zPosition = -1
sprite.fillShader = SKShader(fileNamed: "inkBlobShader.fsh")
sprite.position = position
return sprite
}

添加节点:

func touchDown(atPoint pos : CGPoint) {
//add the sprite to the scene. (THIS IS WHERE THINGS START LAGGING)
self.addChild(self.shaderSprite(position: pos))
}

最佳答案

滞后可能是因为 sprite.fillShader = SKShader(fileNamed: "inkBlobShader.fsh") 导致编译着色器。尝试在场景加载时编译着色器并保持引用,而不是等到用户与场景交互时加载和编译着色器。

关于ios - 使用自定义 fillShader 加载 SKShapeNode 会导致程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55269727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com