computeFunction不得报告为nil错误

时间:2016-08-02 07:44:13

标签: ios macos metal

在重复调用金属着色函数约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次呼叫时失败。 是什么导致这种情况以及如何避免? 提前致谢。

1 个答案:

答案 0 :(得分:2)

只有命令缓冲区和编码器是瞬态的,可以在每次调用时创建(在draw()函数内)。库/函数不是瞬态的,因此您应该避免重复创建它们。