在重复调用金属着色函数约248次后,报告了ComputeFunction不能为nill的错误。
/Library/Caches/com.apple.xbs/Sources/Metal/Metal-56.6/Framework/MTLComputePipeline.mm:230: failed assertion `computeFunction must not be nil.'
Abort trap: 6
前247个呼叫正常工作,但程序在第248次呼叫时失败。 是什么导致这种情况以及如何避免? 提前致谢。
答案 0 :(得分:2)
只有命令缓冲区和编码器是瞬态的,可以在每次调用时创建(在draw()
函数内)。库/函数不是瞬态的,因此您应该避免重复创建它们。