因为我的着色器大约是3000行,所以编译需要很长时间,因此我想预先编译它并存储在应用程序中,然后在运行应用程序时将其缓存到内存中。
答案 0 :(得分:1)
你不能,至少不能在iOS设备上使用OpenGL ES(根据你的评论)。 Metal允许您预编译着色器,但在GPUImage中没有使用它。
那就是说,如果你有3000行着色器,你需要重新思考你的方法。整个GPUImage框架中最长且性能最强的着色器长度为86行。一个3000行的片段着色器将表现得非常糟糕。
尝试将其分解为更小的子操作或重新考虑这一点以避免尽可能多的代码(条件等)。