Как ускорить приложения с помощью eGPU на встроенном дисплее Mac [Видео]

Благодаря поддержке внешних графических процессоров в macOS 10.13.4 Apple официально позволяет пользователям дополнять свои Mac внешними eGPU, такими как Sonnet eGFX Breakaway Box. К сожалению, возможность рендеринга приложений через eGPU при отображении на встроенном экране вашего Mac, возможная благодаря обновлениям приложений от разработчиков, встречается довольно редко.

Недавно выпущенный скрипт под названием set-eGPU от выпускника eGPU.io @mac_editor, предоставляет пользователям больше контроля над рендерингом GPU. Скрипт динамически переопределяет значения plist, назначенные GPUSelectionPolicy, доступные в macOS 10.13.4 и новее, для установленных приложений.

Другими словами, этот скрипт использует инструменты, уже встроенные в последние версии macOS, чтобы предоставить конечному пользователю больше контроля над использованием eGPU. Основное преимущество заключается в том, что он позволяет внешнему GPU рендерить установленные приложения и отображать их на встроенном дисплее вашего Mac. С помощью этого скрипта вы теперь можете принудительно использовать eGPU для многих ваших установленных приложений без внешнего дисплея.

Как и следовало ожидать, одним из первых приложений, которые я протестировал, был Final Cut Pro X, и результаты обнадеживают. Посмотрите наш видеообзор, чтобы узнать подробности.

Как установить set-eGPU на Mac

Прежде всего, set-eGPU — это скрипт с открытым исходным кодом от mayankk2308, поэтому вы можете свободно изучать код, чтобы увидеть, что именно он делает. Во-вторых, скрипт прост, и вам не нужно делать ничего странного, например, отключать SIP, чтобы использовать его.

Все тестирование проводилось на моей базовой модели MacBook Pro 2017 года с диагональю 13 дюймов.

Шаг 1: Первое, что вам нужно сделать, — это подключить eGPU к вашему Mac с портом Thunderbolt 3, работающему под управлением macOS 10.13.4 или новее. Хотя set-eGPU работает на macOS 10.14 Mojave, у пользователей могут возникнуть некоторые ошибки, что вполне ожидаемо, учитывая, что Mojave находится в бета-версии.

Видеообзор

Подпишитесь на 9to5Mac на YouTube, чтобы получать больше видео

Шаг 2: Откройте окно Терминала через Приложения → Утилиты → Терминал.

Шаг 3: Скопируйте и вставьте следующее в Терминал, чтобы установить скрипт:

curl -s "https://api.github.com/repos/mayankk2308/set-egpu/releases/latest" | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/1/' | xargs curl -L -s -0 > set-eGPU.sh && chmod +x set-eGPU.sh && ./set-eGPU.sh && rm set-eGPU.sh

При желании вы всегда можете скачать скрипт и установить его вручную.

Шаг 4: Нажмите Return на клавиатуре и введите пароль администратора.

Обратите внимание, что установочный скрипт выполняется только один раз, поэтому вам нужно будет ввести его и ввести пароль администратора только для этого шага.

Как запустить set-eGPU на Mac

Чтобы запустить set-eGPU, просто введите set-eGPU в окне Терминала и нажмите Return на клавиатуре. Оттуда вам будет представлен простой в использовании интерфейс для выбора различных параметров, связанных с рендерингом GPU.

Первый вариант является глобальным и позволяет установить для всех установленных приложений в /Applications предпочтение рендеринга через eGPU.

Второй вариант, который я в основном использую, позволяет нацеливать конкретные приложения для предпочтительного использования eGPU. После выбора варианта 2 вам будет предложено ввести точное название приложения (как показано в Launchpad), которое вы хотите ускорить.

Третий вариант позволяет пользователям подтверждать статус конкретного приложения на вашем Mac. Опять же, вам нужно будет ввести точное название приложения.

Последние два варианта позволяют отключить глобальное рендеринг приложений…

…или отключить рендеринг eGPU для каждого приложения индивидуально.

Альтернативно, продвинутые пользователи могут обойти интерфейс меню и использовать прямые опции командной строки. Например, опция -ss позволяет быстро указать приложение для предпочтительного ускорения eGPU.

Полный список доступных опций вы можете найти в разделе «Опции» на GitHub-странице set-eGPU от mayankk2308. Если вам нужна поддержка вашего eGPU, я рекомендую отличное сообщество на eGPU.io, которое является неотъемлемой частью энтузиастов внешних GPU. У них есть тема, посвященная обсуждению set-eGPU. Там вы также узнаете, как нацеливать определенные приложения по идентификатору пакета, что полезно для приложений, вложенных в папки в /Applications.

Как отслеживать использование eGPU в macOS

macOS имеет встроенный инструмент для мониторинга использования как внутренних, так и внешних GPU.

Шаг 1: Откройте Мониторинг системы через Приложения → Утилиты → Мониторинг системы.

Шаг 2: В строке меню выберите Окна → История GPU или используйте сочетание клавиш ⌘+4.

Шаг 3: В строке меню выберите Вид → Частота обновления → Очень часто (1 сек).

Тесты производительности

Насколько большую разницу может внести настройка eGPU? Я обнаружил, что с помощью set-eGPU она может внести весьма заметную разницу, и все это было проведено с использованием моей базовой модели MacBook Pro 2017 года с диагональю 13 дюймов без внешнего дисплея!

Первый тест с использованием Unigine Valley и Heaven показывает заметное улучшение FPS. Это не так хорошо, как вы бы получили от настройки с внешним дисплеем, но это все еще значительное улучшение по сравнению со встроенным GPU.

Примечание: чтобы Heaven и Valley работали с внутренним дисплеем, мне пришлось подключить эмулятор дисплея DisplayPort (адаптер-заглушку без экрана) к одному из соединений DisplayPort на моем GPU. Это не было необходимо для других приложений, которые я тестировал, таких как Final Cut Pro X.

Следующий тест демонстрирует экспорт BruceX 5K, который популярен среди пользователей Final Cut Pro X. Этот проект 5K с большим количеством эффектов сильно нагружает GPU. Вы легко можете увидеть разницу между интегрированной графикой и внешней графикой.

Благодаря set-eGPU даже реальные проекты могут получить значительные преимущества от настройки eGPU в Final Cut Pro X. Время экспорта как однопроходного, так и многопроходного экспорта практически удвоилось при использовании моего eGPU с Vega 64.

Вот еще один тест, который я провел на своем iMac Pro с Radeon Pro Vega 56. Как видите, внешний GPU RX Vega 64 превосходит внутренний GPU в тесте BruceX. Конечно, Vega 64 мощнее Vega 56, но помните об издержках подключения Thunderbolt 3. Это помогает понять, насколько потенциально eGPU могут предоставить нам мощность по требованию.

Какой eGPU?

Существует несколько eGPU-боксов на рынке, которые хорошо работают с Mac, хотя и не все официально одобрены Apple. Мой любимый eGPU на данный момент — это Razer Core X, о котором я рассказал в нашем обзоре.

Мой любимый корпус eGPU

Однако Sonnet также является сильным вариантом корпуса eGPU, и он официально одобрен в документации Apple по eGPU. У Sonnet есть очень доступные модели eGPU начального уровня, которые отлично подойдут в паре с такими картами, как AMD RX 580. Однако, если вы ищете устройство, которое справится с новейшими картами и не только, то лучший в линейке Sonnet eGFX Breakaway Box 650 (в настоящее время нет в наличии) и Razer Core X — отличные варианты.

eGPU

GPU

Только определенные карты AMD официально поддерживаются для внешних GPU в macOS. Все они должны давать ощутимую разницу в производительности.

RX Vega 64 – самый мощный GPU, совместимый с Mac

Если вы ищете универсальное портативное решение, обратите внимание на GigaByte RX 580 Gaming Box. Мы обзор его несколько месяцев назад и были впечатлены соотношением его размера и мощности.

Заключение

Недостатком использования внешнего дисплея с настройкой eGPU является то, что только внутренний GPU может управлять внутренним дисплеем. Это означает, что данные отрисовки должны будут передаваться между eGPU и iGPU, что приведет к дополнительным накладным расходам. Несмотря на снижение производительности из-за копирования данных отрисовки с внешнего GPU обратно на внутренний GPU, управляющий внутренним дисплеем, все еще можно добиться значительного прироста производительности.

Я хотел бы видеть нативную опцию в macOS, которая позволяла бы пользователям легко выбирать конкретные приложения для рендеринга с помощью eGPU — что-то вроде переключателя в строке меню каждого приложения или даже глобального списка приложений в кнопке SafeEjectGPU, которая появляется после подключения eGPU.

Использовали ли вы когда-нибудь eGPU со своим Mac? Изменил ли set-eGPU ваше мнение о внешних графических процессорах? Поделитесь своими отзывами в комментариях ниже.