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 теперь используется другим приложением.