2022.09.14
SceneKit のシェーダーのコンパイルがレンダリングスレッド内で行われてコンパイル中は完全にロックされるんで画面も止まってしまうからなんとかならんのかといろいろ試してみるも SCNMaterial のプロパティをいじるとリコンパイルが走ったり走らなかったりでフレームワーク作る側としては意味わかるんだがまともに制御できないのがかなり苦痛でまあさんざんいじくりまわした結果コンテンツロード時に関連シェーダー全部コンパイルするようにまとめられたけど Instruments で見る限りひとつの MTLLibrary をコンパイルするのに 100ms かかってるやつがあったりするので画面がロックするのを回避するのは無理っぽい。