Core Image が正常に「高速化」されていても、GPU では処理できず、ソフトウェア レンダラーにフォールバックする Cocoa Quartz コンポジションと GPU の組み合わせがあるような気がします。このような状況をどのように検出しますか?
または、より一般的には、コンポジションを実際に再生して FPS を測定することなく、特定のサイズの特定のコンポジションを処理するにはマシンの処理能力が低すぎることをどのように検出すればよいでしょうか?
(非表示のウィンドウでコンポジションを再生して FPS を測定することは、QCView がその状況を検出し、操作全体またはその一部を最適化する可能性があるため、うまくいかない可能性があります。また、今日それを行わなかったとしても、それを開始する可能性があります。 Apple からの次の更新では、信頼できない解決策になります。)
更新:徹底するために、順序付けされたが適切なサイズのウィンドウでコンポジションをフル解像度でテスト レンダリングするコードをいくつか作成し、レンダリングを強制的に[self startRendering];[self snapshotImage];[self stopRendering];
. これには、最初は合理的に見えた時間がかかりましたが、このテストの実行では、遅いマシンが速いマシンよりも高速であることが判明しました。;) 実際には、低速のマシンはわずか 2.24 FPS で構成をレンダリングしますが、高速のマシンでは 27 FPS です。