Поделиться через


CIContextOptions.UseSoftwareRenderer Свойство

Определение

Установка значения true приведет к принудительному использованию программного обеспечения ЦП, отрисованного, и предотвратит разгрузку задания на GPU.

public bool UseSoftwareRenderer { get; set; }
member this.UseSoftwareRenderer : bool with get, set

Значение свойства

Комментарии

Контексты GPU можно разгрузить в единицу обработки графики, они могут работать очень быстро и обладают дополнительным преимуществом в том, что они не облагают основной процесс своей задачей. Контексты GPU имеют ограничения на размеры изображений, налагаемые базовым оборудованием. На некоторых устройствах это может быть 2048 x 2048, а на таких устройствах, как iPad 2, — 4096x4096.

Контексты ЦП имеют несколько преимуществ: они могут выполнять свои задачи в фоновом режиме, поддерживают большие входные и выходные изображения (на момент написания этой статьи, 8192x8192) и имеют улучшенную точность благодаря поддержке с плавающей запятой, совместимой с IEEE.

Вы можете проверить фактические ограничения для размеров входных и выходных изображений, проверив InputImageMaximumSize свойства и OutputImageMaximumSize .

Контексты GPU имеют один дополнительный недостаток при взаимодействии с фоновыми операциями. Рассмотрим случай, когда приложение применяет ряд фильтров и сохраняет результат. Как правило, вы помещаете эту работу в очередь, даже если пользователь приостанавливает приложение, нажав кнопку "Домой". Пользователь может сделать снимок и переключиться на другое приложение. Если вы решили использовать контекст GPU для обработки изображения, но вы были отправлены в фоновый режим, приложение будет завершено при попытке получить доступ к GPU, так как GPU теперь используется другим приложением.

Применяется к