2016-08-02 23 views
1

ComputeFunction不能为null的错误是在重复调用金属着色函数约248次后报告的。computeFunction不能为零报告错误

/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次调用失败。 这是什么原因导致的?怎样才能避免? 在此先感谢。

回答

2

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

+0

问题解决了。谢谢@Marius – Pony