У меня есть ощущение, что есть комбинации Cocoa Quartz Compositions и GPU, которые не могут быть обработаны GPU и которые используют программный рендер, даже если Core Image «ускоряется» нормально.Как бы я обнаружил такую ситуацию?
Или, в более общем смысле, как мне обнаружить, что машина слишком слаба для обработки определенной композиции определенного размера, без фактического воспроизведения композиции и измерения FPS?
(Измерение FPSвоспроизведение композиции в скрытом окне вряд ли сработает, поскольку QCView может обнаружить эту ситуацию и оптимизировать всю операцию или ее части. И даже если он этого не сделал сегодня, он может начать делать это со следующим обновлениемот Apple - это было бы ненадежное решение.)
Обновление: Чтобы быть более тщательным, я написал некоторый код для проверки рендеринга композиции с полным разрешением в упорядоченном, но правильно подобранном окне., пытаясь заставить рендер произойти с [self startRendering];[self snapshotImage];[self stopRendering];
.Сначала это занимало время, которое выглядело разумным, пока не оказалось, что медленный компьютер быстрее выполнял этот тест, чем быстрый.;) На самом деле медленная машина визуализирует композицию со скоростью 2,24 FPS против 27 FPS на быстрой машине.