Metal API (Objective C) と MRC (Manual Reference Counting) を使用して C++ アプリケーションを作成しています。私は ObjC の経験が非常に限られています。ほとんどの Metal API オブジェクトはプロトコルとして定義され、C 関数または他のオブジェクトのメソッド (例: MTLDevice newBufferWithLength) から返されるオブジェクトとして作成されます。この方法で作成されたオブジェクトを解放する方法を知るには、自動解放が設定されているかどうかを知る必要があります (たとえば、保持カウント 1 で自動解放されたオブジェクトを解放することはできません)。問題は、Metal API ドキュメントにこの質問に答える記述が見つからないことです。いわゆる軽量オブジェクトはすべて自動解放されて作成されていることをユーザーガイドで読んだだけです。自動解放されたオブジェクトの例が 3 つありますが、残りのオブジェクトが自動解放されていないと仮定できるかどうかはわかりません。
ご協力ありがとうございました。