использовать gpu в lineage 2 что это
[Guide] Увеличение FPS в Lineage 2
Зачастую в игре происходят лаги, которые мешают комфортно играть и наслаждаться игрой. В этом гайде я попытаюсь подробно рассказать о том, как повысить FPS.
Оперативна память и процессор.
Первым делом мы отключаем ненужные службы и отключаем автозагрузку.
Зайдите в «Диспетчер задач» (вкладка процессы) и отключить все лишние процессы, кроме: explorer.exe, taskmgr.exe и тех, которые запущены от имени «LOCAL SERVICE», «SYSTEM», «NETWORK SERVICE».
Также необходимо отключить автозагрузку.
Отключите все запущенные программы, предназначенные для манипуляции с пакетами.
Видеокарта.
Видеокарты делятся на интегрированных и дискретных:
Настройка видеокарты NVIDIA:
1. Заходим в панель управления NVIDIA. Выбираем «Управление параметрами 3D».
Так же можно сделать так:
Настройка видеокарты ATI Radeon:
К великому сожалению, рассказать подробно про эту видеокарту я не могу. В общих чертах:
В Catalyst Control Center установите «Anti-Aliasing» и «Anisotropic Filtering» в режим «Application Controlled». Немного увеличить частоту кадров может помочь отключение параметров «Morpological Filtering» и «ATI Overdrive».
Обязательно надо обновить версию драйвера для вашей видеокарты и DirectX.
Скачать последнюю версию DirectX можно с официального сайта компании.
Монитор.
Исходя из практики можно сказать, что монитор «ограничивает» FPS. Например, во время игры показывает как будто у вас 90 FPS, но частота кадров вашего монитора 70 Гц, а это значит, что ваш FPS равен 70.
Каждый монитор имеет разное количество Гц. Соответственно, чем больше Гц, тем лучше условия для игры.
Спасибо за внимание и приятной игры!
Излагайтесь коротко, четко и ясно. Соблюдайте субординацию. Не забывайтесь и не зазнавайтесь.
Анимации на GPU: делаем это правильно
Однако очень часто анимации, которые красиво и плавно работали на простых демках, вдруг неожиданно начинают тормозить на готовом сайте, вызывают различные визуальные артефакты или, того хуже, приводят к крэшу браузера. Почему так происходит? Как с этим бороться? Давайте попробуем разобраться в этой статье.
One big disclaimer
Самое важное, что хочется сказать прежде, чем мы приступим к изучению деталей GPU-композиции: это всё один огромный хак. Вы не найдёте в спецификациях W3C (по крайней мере пока) описания процесса GPU-композиции, способов явного переноса элемента на отдельный слой или даже самого режима композиции. Это всего лишь способ ускорить некоторые типовые задачи и каждый разработчик браузеров делает это по-своему. Всё, что вы прочитаете в этой статье — ни в коем случае не официальное объяснение, а результаты экспериментов и наблюдений, приправленных здравым смыслом и знаниями о работе некоторых подсистем браузера. Что-то может оказаться неправдой, а что-то изменится со временем — я вас предупредил!
Как работает композиция
Чтобы правильно подготовить страницу к GPU-анимации, очень важно не столько следовать советам, найденным интернете или в этой статье, сколько понимать, как это работает внутри браузера.
Мы решили анимировать перемещение элемента A через CSS-свойство left c помощью CSS Animations:
В этом случае на каждый кадр анимации браузер со стороны CPU пересчитывает геометрию элементов (reflow), отрисовывает новое изображение с актуальным состоянием страницы (repaint), так же отправляет его на GPU, после чего оно отображается на экране. Мы знаем, что repaint — довольно дорогая операция, однако все современные браузеры достаточно умны, чтобы перерисовывать не всё изображение целиком, а только изменившиеся части. И делают они это достаточно быстро, но анимациям всё равно не хватает плавности.
Чтобы применить оптимизацию с композицией, браузер должен быть уверен, что анимируемые CSS-свойства:
Переделаем нашу анимацию: вместо left будем анимировать transform :
Обратите внимание на код. Мы декларативно описали всю анимацию: её начало, конец, длительность и т.д. А это позволяет браузеру ещё до начала анимации определить, какие именно CSS-свойства элемента будут меняться. Увидев, что среди этих свойств нет тех, что влияют на reflow/repaint, браузер может применить оптимизацию с композицией: нарисовать два изображения и передать их GPU.
Преимущества такой оптимизации:
Казалось бы, всё просто и понятно, какие могут возникнуть проблемы? Давайте рассмотрим, что на самом деле делает такая оптимизация.
Возможно, для некоторых это будет открытием, но GPU является отдельным компьютером. Да-да, неотъемлемая часть всех современных устройств на самом деле является самостоятельной подсистемой со своими процессорами, памятью и способами обработки информации. И браузер, как и любая другая программа или игра, вынужден общаться с GPU именно как с отдельным устройством.
Чтобы лучше понять это, просто вспомните AJAX. Например, вам нужно зарегистрировать пользователя по данным, которые он ввёл в форме авторизации. Вы не можете сказать удалённому серверу «эй, возьми данные из вот этих полей и ещё вон ту переменную и сохрани их в базе», потому что у сервера нет доступа к памяти браузера. Вместо этого вы собираете необходимые данные со страницы в некую полезную нагрузку с простым форматом данных (например, JSON) и отправляете её на сервер.
То же самое происходит и во время композиции. Так как GPU, по сути, является удалённым сервером, браузер со стороны CPU вынужден сначала подготовить специальную полезную нагрузку, а затем отправить её на устройство. Да, GPU находится совсем рядом c CPU, однако если 2 секунды на отправку и получение ответа через AJAX зачастую являются вполне приемлемыми, то лишние 3–5 миллисекунд на передачу данных на GPU могут серьёзно ухудшить качество анимации.
Что из себя представляет полезная нагрузка для GPU? Как правило, это изображения слоёв и дополнительные инструкции, которые определяют размеры слоёв, их расположение друг относительно друга, инструкции для анимации и т.д. Вот как приблизительно выглядит процесс создания нагрузки и её передачи на GPU:
Таким образом, каждый раз, когда вы добавляете магическое transform: translateZ(0) или will-change: transform элементу, вы запускаете весь это процесс. Вы уже знаете, что repaint является достаточно ресурсоёмкой задачей. Но в данном случае всё ещё хуже: довольно часто браузер не может применить инкрементальный repaint и перерисовать только изменившуюся часть. Он должен заново отрисовать те части, которые были скрыты новым слоем:
Неявная композиция
А теперь поменяем задачу: будем анимировать элемент B …
Совершенно верно: он перенесёт элемент A на отдельный композитный слой! Добавив тем самым ещё один тяжёлый repaint:
Это называется неявная композиция: один или несколько не-композитных элементов, которые по z-index находятся выше композитного элемента, также становятся композитными, то есть отрисовываются в отдельное изображение, которое затем отправляется на GPU.
С неявной композиции вы будете сталкиваться гораздо чаще, чем думаете: браузер выносит элемент на композитный слой по множеству причин:
Подробнее можете посмотреть в файле CompositingReasons.h проекта Chromium.
На первый взгляд может показаться, что главная проблема у GPU-анимаций — неожиданные тяжёлые repaint. Но это не так. Самой большой проблемой является…
Потребление памяти
И вновь вспоминаем, что GPU — это отдельный компьютер. Отрисованные изображения слоёв нужно не только передать на GPU, но и хранить там, чтобы потом красиво анимировать.
Обычно веб-разработчики думают так: «это одноцветное изображение… сохраню-ка я его в PNG и проверю размер, должен быть меньше килобайта». И будут правы: это изображение действительно весит всего 104 байта в PNG.
Но проблема в том, что PNG (как и JPEG, GIF и т.д.) — это формат хранения и передачи данных. Чтобы отрисовать такое изображение на экране, компьютер должен распаковать его и представить в виде массива пикселей. Таким образом, наше изображение в памяти компьютера будет занимать 320×240×3 = 230 400 байт. То есть мы умножаем ширину изображения на его высоту — так мы получим количество пикселей. Затем количество пикселей умножаем на 3, так как цвет каждого пикселя описывается 3-мя байтами: RGB. Если бы изображение было полупрозрачным, мы бы умножили на 4, так как нужен ещё один байт для описания значения прозрачности (RGBA): 320×240×4 = 307 200 байт.
Браузер всегда отрисовывает композитные слои в RGBA-изображения: судя по всему, нет достаточно быстрого и эффективного способа автоматически определить, есть ли у отрисовываемого DOM-элемента прозрачные области.
19 МБ дополнительной памяти потребовалось для отрисовки всего лишь одного контрола на странице. А учитывая любовь современных разработчиков к SPA-страницам с множеством анимированных контролов, параллакс-эффектам, retina-изображениям и прочим визуальным штукам, дополнительные 100–200 МБ на страницу — далеко не предел. Добавьте сюда неявную композицию (признайтесь, вы ведь об этом раньше даже не задумывались? 🙂 и мы получим совсем печальную картину.
Причём, довольно часто эта дополнительная память расходуется впустую, просто для отображения точного такого же результата:
И если для десктопных клиентов это ещё не так сильно заметно, то для мобильных устройств эта проблема стоит особенно остро. Во-первых, практически на всех современных устройствах используются экраны c высокой плотностью пикселей: умножаем изображения слоёв ещё на 4–9. Во-вторых, на таких устройствах довольно мало памяти, по сравнению с десктопами. Например, у ещё-не-такого-старого iPhone 6 всего 1 ГБ памяти, причём она общая для RAM и VRAM (память для GPU). Учитывая, что в лучшем случае треть этой памяти будет использоваться самой системой и фоновыми процессами, ещё треть — на браузер и текущую страницу (и это при условии, что вы не пользуетесь десятком фрэймворков и очень сильно всё оптимизируете), то для GPU-спецэффектов останется порядка 200—300 МБ. Причем, iPhone 6 относится к дорогим high-end устройствам, на более доступных устройствах памяти гораздо меньше.
У вас может возникнуть резонный вопрос: а можно ли на GPU хранить картинки в формате PNG, чтобы сэкономить память? Да, технически это возможно, однако особенность работы GPU такова, что каждый слой рисуется попиксельно. А это означает, что для отрисовки одного пикселя на экране нужно будет каждый раз заново декодировать PNG-изображение, чтобы получить нужный цвет. В таком случае скорость самой простой анимации вряд ли будет подниматься выше 1 fps.
Стоит отметить, что на GPU существуют свои форматы сжатия изображений, однако они даже близко не сравнимы с PNG или JPEG по степени сжатия, а возможность их применения в том числе ограничена поддержкой самого GPU.
За и против
Теперь, когда мы рассмотрели теоретическую часть работы анимаций на GPU, давайте для удобства соберём все «за» и «против» их использования.
Против
Как видите, при всех своих уникальных достоинствах, у GPU-анимации есть ряд очень существенных недостатков, главные из которых — repaint и потребление памяти. Поэтому все наши оптимизации как раз будут связаны именно с этими двумя пунктами.
Настраиваем окружение
Прежде, чем мы начнём оптимизировать сайт для качественных анимаций, нам необходимо запастись специальными инструментами, которые будут не только показывать нам результат оптимизаций, но и проблемные места.
Safari
В Safari Web Inspector встроен отличный инструмент, который позволяет увидеть все композитные слои на странице, потребляемую ими память, а также — что не менее ценно — показать причину выноса элемента на отдельный слой. Чтобы увидеть этот инструмент:
Google Chrome
В DevTools также есть похожий инструмент, однако для его включения нужно выставить специальный флаг:
В этой панели отображаются все активные композитные слои страницы в виде дерева. Если выбрать слой, будет доступна информация о нём: размер, объем занимаемой памяти, количество перерисовок, а также причина выноса на композитный слой.
Оптимизация
Итак, мы настроили окружение и теперь можем приступить непосредственно к оптимизации. Мы уже определили две основные проблемы с использованием композитных слоёв: лишний repaint, после которого изображение слоя нужно передать на GPU, и потребление памяти. Поэтому все наши оптимизации будут направлены на сокращение циклов перерисовки и снижение потребления памяти.
Избегайте неявной композиции
Очень простая, очевидная, но самая важная оптимизация. Напомню, что неявная композиция — это вынос на отдельный композитный слой элементов только для того, чтобы правильно скомпоновать его на GPU с другим, явным композитным слоем (видео, CSS анимация и т.д.). Особенно сильно эта проблема может ощущаться на мобильных устройствах при старте анимации.
Рассмотрим небольшой пример.
Давайте рассмотрим пошагово, что сделал браузер в этом примере.
Чтобы избежать проблем с неявной композицией и сократить количество артефактов, рекомендую следующее:
Анимируйте только свойства transform и opacity
Именно эти свойства гарантированно не влияют на геометрию элемента и не зависят от окружения, в котором находится анимируемый элемент, поэтому могут полностью работать на GPU. Фактически это означает, что эффективно вы можете анимировать только перемещение, масштаб, вращение, прозрачность, а также искажения, в том числе в 3D-пространстве. Однако с их помощью вы можете эмулировать некоторые другие анимации.
Рассмотрим классический пример: смена цвета фона у элемента. Чтобы анимированно поменять цвет фона, достаточно написать вот так:
Но такая анимация работает на CPU, вызывает repaint на каждый шаг и не достаточно плавная. Мы можем оптимизировать её и вынести на GPU: достаточно создать дополнительный слой поверх элемента с нужным цветом и менять у него прозрачность:
Такая анимация будет работать гораздо быстрее и плавнее, но стоит помнить про неявную композицию и повышенное потребление памяти. Хотя последний параметр мы всё-таки сможем немного оптимизировать.
Уменьшайте габариты композитных слоёв
Посмотрите на картинку ниже. Видите ли вы разницу между ними?
Это два визуально идентичных композитных слоя, однако первый весит 40 000 байт (39 КБ), а второй — в 100 раз меньше, всего 400 байт. Почему? Посмотрите на код этих слоёв:
Суть трюка очень проста: с помощью width и height уменьшаем физические габариты элемента, а с помощью transform: scale(…) масштабируем уже отрисованную текстуру до нужного размера. Конечно же, разницу по весу в несколько порядков можно получить только для очень простых одноцветных слоёв. Но, например, если вам нужно анимировать большие фотографии, можно запросто уменьшить их габариты на 5–10% и компенсировать это за счёт масштаба: потеря качества не сильно должна бросаться в глаза, но зато сэкономите драгоценные ресурсы.
По возможности используйте CSS Transitions и Animations
Под JS-анимацией подразумевается та анимация, где на каждый requestAnimationFrame вручную высчитывается новый кадр. Использование Element.animate() является вариацией декларативной CSS-анимации.
С одной стороны CSS Transitions/Animations довольно просто создать и переиспользовать, с другой — через JS движения по сложным траекториям делаются гораздо легче, чем в CSS, а также это единственный способ реагировать на пользовательский ввод.
Какой из этих способов лучше и универсальнее? Может, стоит оставить только JS и использовать какую-нибудь библиотеку для анимации всего?
На самом деле у CSS-анимаций есть одно очень важное преимущество: они полностью работают на GPU. Так как вы декларативно объявляете, где анимация начнётся и где закончится, браузер может предварительно подготовить весь набор необходимых инструкций и отправить их на GPU. В случае императивного JS единственное, что может знать браузер — это состояние текущего кадра. Для плавной анимации мы должны как минимум 60 раз в секунду в основном потоке браузера (а JS работает именно в нём) высчитывать данные для нового кадра и пересылать их на GPU, где этот кадр отрисуется. Помимо того, что эти расчёты и отправка данных работают намного медленнее, чем CSS-анимации, они ещё зависят и от загруженности основного потока:
В примере выше показано, что будет, если в основном потоке на JS будет выполнятся интенсивная операция. На CSS-анимации это никак не повлияет, так как новый кадр полностью считается в отдельном потоке (и даже на отдельном устройстве), в случае с JS придётся дождаться завершения тяжёлой операции и только после этого посчитать новый кадр.
Поэтому по возможности старайтесь делать анимации через CSS, особенно прелоудеры и индикаторы прогресса. Такие анимации не только будут работать быстрее, но и не будут блокировать тяжёлыми расчётами на JS.
Пример оптимизации
На самом деле вся эта статья является результатом исследования и экспериментов, которые я провёл для оптимизации сайта Chaos Fighters. Это отзывчивый промо-сайт для мобильной игры с большим количеством анимаций. Когда я только начинал его делать, я всего лишь знал, как сделать анимации плавными на разных устройствах за счёт GPU, но не понимал, как именно это работает. В итоге первая версия сайта стабильно крэшила iPhone 5 — а это была самая последняя новинка от Apple на тот момент — всего через пару секунд пользования сайтом. Но сейчас этот сайт довольно плавно работает даже на менее мощных устройствах.
Предлагаю рассмотреть самый, на мой взгляд, интересный пример оптимизации с этого сайта.
В самом верху страницы есть описание игры, под которым в фоне вращается что-то типа красного солнца. Вращение бесконечное и не интерактивное: отличный кандидат для простой CSS-анимации. Первый подход — самый наивный: сохраняем изображение солнца в виде картинки, размещаем на странице как элемент и с помощью CSS-анимаций придаём ей вращение:
На первый взгляд всё просто и задача решена. Только вот изображение солнца получилось довольно большим — мобильные пользователи будут не очень этому рады.
Посмотрим внимательнее на картинку солнца. По сути, это несколько лучей, выходящих из центра изображения. Все лучи одинаковые, поэтому мы можем сохранить изображение только одного луча и переиспользовать его для создания нужного изображения. В итоге у нас получится одна небольшая картинка, на порядок меньше оригинала.
Результат визуально такой же, как и раньше, однако объём передаваемых по сети данных гораздо меньше. Но размер композитной текстуры остался прежним: 500×500×4 ≈ 977 КБ.
Для наглядности изображение солнца в нашем примере достаточно небольшое, всего 500×500 пикселей, но на реальном сайте, с учётом разных размеров у мобильных устройств (телефоны и планшеты) и плотностью пикселей, текстура солнца весила примерно 3000×3000×4 = 36 МБ! И это всего лишь один анимированный объект на странице…
Вновь пристально смотрим на нашу разметку и панель Layers в браузере. Мы вполне логично упростили себе задачу: вращаем весь контейнер с солнцем. И весь этот контейнер был отрисован браузером в одну большую текстуру, которая была отправлена на GPU. Но из-за такого упрощения в текстуру попали как полезные данные (лучи), так и бесполезные — промежутки между лучами.
Более того, бесполезных данных в текстуре гораздо больше, чем полезных! Не самый лучший способ потратить драгоценные ресурсы устройства, которых и так крайне мало.
Решение проблемы точно такое же, как и в случае оптимизации изображения для загрузки: на GPU нужно отправить только полезные данные, а именно лучи. Даже можем посчитать, сколько сэкономим памяти:
Потребление памяти сократится в 2 раза. Чтобы это произошло, мы должны анимировать не весь контейнер с солнцем, а каждый луч по отдельности. Если мы будем анимировать только лучи, то именно изображения лучей попадут на GPU, промежутки между ними не будут занимать ресурсы.
Намного проще написать небольшой JS-код, который возьмёт на себя всю начальную расстановку элементов сцены и позволит нам точнее настраивать анимации, количество лучей и т.д.
Визуально мы получили абсолютно ту же самую анимацию, но потребление памяти сократили в 2 раза.
Но и это ещё не всё. С точки зрения композиции всего сайта анимированное солнце — не центральный, а фоновый, вспомогательный элемент. Да и сами лучи не содержат чётких контрастных элементов. А это означает, что мы можем немного ухудшить качество изображения луча и это будет практически незаметно для пользователя. Таким образом мы cможем отправить на GPU текстуру меньшего размера, а затем отмасштабировать её до нужного значения: это позволит нам ещё немного сократить потребляемую память.
Попробуем сократить размер текстуры луча на 10%. Физический размер текстуры будет 250×0.9 × 40×0.9 = 225×36 пикселей. Соответственно, чтобы визуально она была размером 250×20 пикселей, нам нужно выставить ей коэффициент масштабирования 250/225 ≈ 1.111.
Обратите внимание, что мы меняем только размеры у элемента, размер самой PNG-картинки луча остался прежним. Именно прямоугольник, описанный элементом, отрисовывается в текстуру, а не PNG-картинка.
Думаю, многие заметили, что у предложенного решения есть один недостаток: анимация теперь работает на CPU, а значит будет блокироваться тяжёлыми JS-вычислениями. Поэтому тем, кто хочет закрепить полученный материал, предлагаю сделать небольшое домашнее задание. Сделайте форк последнего примера и доработайте его таким образом, чтобы вся анимация работала на GPU, но при этом не потерялось эффективность и гибкость решения. Результаты размещайте в комментариях.
Усвоенные уроки
Исследование, проведённое для оптимизации проекта Chaos Fighters, заставило меня полностью пересмотреть процесс создания современных сайтов. Вот мои основные правила:
В очередной раз напомню про One Big Disclaimer: нет единой спецификации по GPU-композиции и каждый производитель браузеров одни и те же проблемы может решать по-своему. Возможно, часть информации из этой статьи в скором времени потеряет актуальность. Например, разработчики Google Chrome исследуют способы по ускорению передачи данных с CPU на GPU, вплоть до использования общей памяти, когда никуда ничего передавать не нужно. А Safari уже сейчас для некоторых простых случаев (например, обычный элемент с background-color и без содержимого) вместо отрисовки текстуры на CPU отрисовывает элемент на GPU в реальном времени, сводя размер потребляемой памяти практически к нулю.
В любом случае я надеюсь, что данная статья поможет вам немного лучше разбираться в анимациях на GPU и создавать красивые и качественные проекты.
Использовать gpu в lineage 2 что это
В настройках клиента есть галочка «ГПУ анимация» В инете погуглил, либо написано непонятно, либо слишком мудрено. Объясните доступным языком, для чего сея настройка и нужно ли ее включать. С. блок 3ГгцХ4, РАМ 4Гб, Видуха Гфорс ГТС250 1Гб
GPU анимация это такая вещь которая делает акцент нагруженности на вашу видеокарту, в итоге меньшая загруженность процессора. Вроде..
То есть если видуха хорошая, то стоит эту функция держать включенной, я правильно понял?
Награды
GPU анимация это такая вещь которая делает акцент нагруженности на вашу видеокарту, в итоге меньшая загруженность процессора.
Вроде..
А что могут «профи»?
Несколько лет назад компания nVidia выпустила первый TITAN — запредельную по производительности и цене игровую видеокарту. Но вместо того, чтобы стать нишевым продуктом, она была буквально сметена с прилавков. Оказалось, что карта прекрасно справляется с расчетами, и многие компании с удовольствием покупали ее вместо дорогих про-аналогов. Разумеется, nVidia быстро смекнула, в чем дело, и в начале 2018 года прикрыла лавочку запретила использовать графические процессоры GeForce и Titan в составе дата-центров. По словам nVidia, нельзя гарантировать их безотказную работу в жарких условиях (и это не фигуральный оборот) в режиме 24/7. В качестве альтернативы предлагается использовать, например, Tesla V100, который гораздо мощнее GeForce и стоит в десять раз больше создан специально для работы в условиях ЦоД.
nVidia имеет три линейки профессиональных видеокарт: Quadro, NVS и Tesla.
- Quadro — служит для рендеринга видео, производства VR/AR, 3D-моделирования. Быстрые и дорогие. Чтобы оправдать стоимость, производитель оснащает их самыми современными и совершенными разработками, которые появятся только в следующих сериях GeForce. Для очень богатых дизайнеров и инженеров.
NVS — многопортовые карточки, созданные для подключения большого количества мониторов в одну панель. Например, с их помощью в Макдональдсе можно выбрать бигмак с помидорами или беконом, а в аэропорте найти свой рейс. По сути, это самая обычная «затычка», на которой распаяли много портов. Очень слабые по железу и очень дорогие по соотношению цена/производительность, но ценят их не за FPS в Батле.
Компания AMD в качестве профессионального решения предлагает серию Radeon Pro. Также у них есть вычислительные аналоги Tesla с космическим ценником под названием Instinct.
[Guide] Увеличение FPS в Lineage 2
Зачастую в игре происходят лаги, которые мешают комфортно играть и наслаждаться игрой. В этом гайде я попытаюсь подробно рассказать о том, как повысить FPS.
Оперативна память и процессор.
Первым делом мы отключаем ненужные службы и отключаем автозагрузку.
Зайдите в «Диспетчер задач» (вкладка процессы) и отключить все лишние процессы, кроме: explorer.exe, taskmgr.exe и тех, которые запущены от имени «LOCAL SERVICE», «SYSTEM», «NETWORK SERVICE».
Также необходимо отключить автозагрузку.
Отключите все запущенные программы, предназначенные для манипуляции с пакетами.
Видеокарты делятся на интегрированных и дискретных:
Настройка видеокарты NVIDIA:
1. Заходим в панель управления NVIDIA. Выбираем «Управление параметрами 3D».
Так же можно сделать так:
Настройка видеокарты ATI Radeon:
К великому сожалению, рассказать подробно про эту видеокарту я не могу. В общих чертах:
В Catalyst Control Center установите «Anti-Aliasing» и «Anisotropic Filtering» в режим «Application Controlled». Немного увеличить частоту кадров может помочь отключение параметров «Morpological Filtering» и «ATI Overdrive».
Обязательно надо обновить версию драйвера для вашей видеокарты и DirectX.
Исходя из практики можно сказать, что монитор «ограничивает» FPS. Например, во время игры показывает как будто у вас 90 FPS, но частота кадров вашего монитора 70 Гц, а это значит, что ваш FPS равен 70.
Каждый монитор имеет разное количество Гц. Соответственно, чем больше Гц, тем лучше условия для игры.
Спасибо за внимание и приятной игры!
Излагайтесь коротко, четко и ясно. Соблюдайте субординацию. Не забывайтесь и не зазнавайтесь.
Зачем нужны профессиональные видеокарты
Все видеокарты выполняют общую задачу — отрисовывают на дисплее кадры, которые до этого подготавливает процессор. Графический чип получает исчерпывающую информацию о сцене: состав и расположение объектов относительно зрителя, цвет, уровень освещения, видимость и так далее. Пару десятилетий назад в играх была пиксельная графика, но сейчас для создания 3D- сцен используются объекты из множества полигонов.
Полигон — это плоскость в трехмерном пространстве. Как правило, в играх используются треугольные полигоны, на основе которых создают уже полноценные 3D-модели. Чем выше число этих треугольников, тем большую детализацию имеет выводимое изображение.
Именно поэтому в старых играх персонажи имеют угловатые формы — вычислительные мощности того времени позволяли оперировать лишь небольшим числом полигонов. По мере совершенствования видеокарт количество полигонов у моделей росло, персонажи становились более реалистичными, резкие углы сглаживались. Это можно хорошо заметить на примере различных ремастеров, например, Crash Bandicoot.
В среднем на одного персонажа приходится от 15 до 45 тысяч таких треугольников. Одним из рекордсменов в этой области является Нейтан Дрейк из Uncharted 4: A Thief’s End. В его модели более 80 тысяч полигонов.
А теперь представьте, что на экране несколько персонажей и еще различные объекты окружения. Игровым видеокартам приходится обрабатывать положение пары сотен тысяч полигонов, не говоря о наложении других эффектов.
Если говорить об игровой видеокарте, то ее задача — расположение всех полигонов в пространстве, прорисовка текстур, затенение, создание динамического освещения и сглаживание. В итоге мы видим на экране финальный кадр со всеми эффектами.
Профессиональные видеокарты чаще нужны для САПР, бизнес-приложений, визуализации, инженерных расчетах. Если вы занимаетесь моделированием и работаете в таких программах, как КОМПАС-3D, T-FLEX CAD, SOLIDWORKS, Autodesk 3ds Max и аналогичных, то предпочтительней именно профессиональная видеокарта.
Помимо этого, видеокарты NVIDIA Quadro используются при создании различных спецэффектов в фильмах.
Профессиональная видеокарта делает по сути тоже самое, что и игровая, но с небольшими нюансами. В узкоспециализированных 3D- моделях не нужно накладывать различные эффекты, которые делают графику фотореалистичной. При проектировании и разработке крайне важна точность, поскольку на основе созданных моделей обычно делают реальные вещи. Соответственно, число полигонов может в несколько раз превышать описанные ранее числа — до нескольких миллионов на сцену.
Программы, работающие с GPU-ускорением
О возможности ускорения программы с помощью видеокарты можно узнать на официальном сайте. Все ведущие производители софта дают четкие инструкции, какая видеокарта подойдет и как включить GPU-ускорение. А первое, что приходит на ум, когда речь идет о работе с графикой и видео, — решения студии Adobe.
Adobe Premiere Pro использует вычислительные ресурсы видеокарт, начиная с версии CS5. Текущие версии для Windows поддерживают все современные GPU (включая встроенную графику Intel). CS6 и выше имеют функцию стабилизации видео Warp Stabilizer, которая устраняет дрожание камеры. Плагин использует GPU-ускорение только при финальном рендеринге изображения. Также в CS6 появился рендер Ray-traced 3D, который обсчитывает на видеокарте 3D-слои, камеру и источники света в композиции. Adobe Premiere CC научился работать одновременно с несколькими видеокартами, причем допускается использование разных серий и даже производителей (MultipleGPU). Выигрыш зависит от общей конфигурации ПК. Интересные возможности дает использование GPU сторонними плагинами. Можно ускорять Premiere при помощи CUDA одной видеокарты, при этом его плагин будет ускоряться OpenGL другой видеокарты. Такие плагины, как Magic Bullet Looks, Elements3D и т. п. могут использовать ресурсы GPU независимо от настроек Adobe. Подробные требования приложения к видеокарте можно найти на официальном сайте.
Adobe Photoshop также активно использует видеокарты в процессе обработки изображений. Фоторедактор закрывает некоторые свои возможности, если видеокарта их не поддерживает. Яркими примерами таких функций являются «Деформация перспективы», «Умная резкость», «Размытие». Пользователю доступны три режима: базовый, обычный и расширенный. Наиболее интенсивно использует видеокарту последний. Если наблюдается снижение быстродействия, стоит переключиться на уровень ниже, воспользовавшись вкладкой Дополнительные параметры.
Кроме продукции компании Adobe нельзя не вспомнить такие программы, как 3ds Max, DaVinci Resolve и Vegas Pro.
Данные о поддержке наиболее адаптированных приложений производители видеокарт публикуют на своих официальных сайтах:
Не играми едиными. Ускорение программ с помощью видеокарты
Что такое видеокарта, знает каждый, ведь это главный элемент ПК, отвечающий за игры. И чем он мощнее, тем лучше. Однако в словосочетание «графический адаптер» вложено намного больше смысла. И кроме умения отапливать помещение и жрать электроэнергию «майнить» видеокарты способны ускорять работу некоторых полезных программ. В их число входят приложения для видеомонтажа, графического дизайна, 3D-моделирования, VR-разработок.
Профессиональные видеокарты против игровых — зачем нужна Nvidia Quadro?
Компании Nvidia и AMD выпускают не только геймерские и офисные видеокарты. Та же линейка Nvidia Tesla используется в суперкомпьютерах и мощных вычислительных системах, ориентированных на научные расчеты. А мы поговорим о профессиональных видеокартах для массовых пользователей — линейке Nvidia Quadro и аналогичных.
Можно ли играть на профессиональных видеокартах?
Технически профессиональные модели имеют все то же, что и игровые: ядра CUDA, блоки растеризации, текстурные блоки, а новые Quadro RTX по аналогии с геймерскими RTX имеют и тензорные ядра. Именно поэтому вы без проблем сможете запустить игру на Quadro или аналогичных с комфортным FPS.
Проблема в том, что Quadro не ориентированы на отрисовку графических эффектов, которые актуальны для видеоигр. Именно поэтому при относительно равных параметрах профессиональные ускорители выдают меньший FPS. На этом сказывается и ориентация драйверов — для Quadro и аналогичных они просто не подогнаны под игры.
Несмотря на то, что профессиональные видеокарты могут показать неплохой результат в играх, с учетом их стоимости покупка будет актуальной только для узкоспециализированных задач.
Техническая сторона вопроса
Обычно основная часть нагрузки ложится на центральный процессор. Но есть задачи, с которыми GPU справится во много раз быстрее, и было бы глупо этим не воспользоваться. Логично, что чаще всего это касается программ для работы с графикой, видео и 3D-моделированием.
Во время GPU-ускорения задействуется исключительно память видеокарты. Для простой работы с FHD достаточно 2 ГБ. Однако, когда один кадр компонуется из нескольких (картинка в картинке) или используются эффекты, одновременно обрабатывающие несколько кадров (шумодавы и т. д.), расход возрастает. Для UHD/4K-видео необходимо уже минимум 4 ГБ видеопамяти.
Конечный прирост производительности зависит от правильности настройки и общих параметров системы. В случае, например, рендеринга иногда разница с CPU составляет разы, а это сэкономленное время, которое, как известно, — деньги. Гарантировать точный результат ускорения не возьмется ни один производитель, ссылаясь на индивидуальность каждой системы.
Любая видеокарта в той или иной степени способна проводить сложные вычисления и обрабатывать графику. Больше других акцентирует внимание на неигровых возможностях и технологиях своих GeForce компания nVidia.
Тензорные ядра — присутствуют в адаптерах серии RTX, повышают производительность и энергоэффективность. Поддержка ИИ ускоряет расчеты и работу с графикой.
CUDA — проприетарная технология nVidia, доступная для устройств GTX и RTX. Позволяет использовать графический процессор для вычислений общего назначения, улучшает работу с фото, видео и 3D.
NVENC — отдельный аппаратный блок, способный кодировать и декодировать видеопоток. Благодаря этому разгружаются центральный и графический процессоры для запуска игр и других ресурсоемких задач. В первую очередь это интересно стримерам, но многие программы видеомонтажа уже приспособили NVENC под себя.
NVIDIA STUDIO DRIVER — выходит для видеокарт серии 10хх и моложе. Оптимизирует работу адаптера под такие приложения, как Autodesk Maya, 3ds Max, Arnold 5, DaVinci Resolve и т. д.
Карты AMD тоже хорошо справляются с вычислениями и обработкой графики, но любит говорить об этом исключительно компания Apple. AMD использует открытые технологии OpenGL и Vulcan — альтернативу CUDA.
eGPU — внешний графический процессор
Этот раздел касается в первую очередь техники компании Apple. Купертиновцы любят делать упор на творческие возможности своих устройств, однако пользователи макбуков и аймаков ограничены исходной комплектацией. На помощь приходит eGPU — внешняя видеокарта, с помощью которой, по заявлению производителя, можно увеличить скорость обработки графики на Mac в несколько раз.
По сути, это обычная видеокарта в специальном боксе с блоком питания и дополнительным охлаждением. Она подключается к макам посредством Thunderbolt 3. Уже много лет Apple использует видеокарты AMD, и весь софт Apple затачивается под новый API Metal. Графические решения nVidia ощутимого прироста производительности на Apple не дают, так как из-за патологической жадности компании не смогли договориться, и весь софт на маке заточен исключительно под AMD. В отместку nVidia недавно полностью отменила поддержку CUDA на MacOS.
В чем отличия профессиональных и игровых видеокарт
Теперь давайте разберемся, чем конкретно профессиональные видеокарты отличаются от геймерских.
Больший объем видеопамяти. Для обработки огромного числа полигонов нужно много памяти. Для сравнения, видеокарта NVIDIA Quadro P6000 2016 года имеет 24 ГБ памяти. Если взять топовую геймерскую видеокарту на аналогичной архитектуре GTX 1080 Ti начала 2017-го, то у нее всего 11 ГБ памяти. Тенденция сохраняется и с текущим поколением: игровая RTX 3090 оснащается 24 ГБ, в то время ка профессиональная NVIDIA Quadro RTX 8000 имеет целых 48 ГБ.
Жесткая стандартизация. В геймерсих видеокартах существует нереференсные улучшенные модели от сторонних компаний — Asus, MSI, Palit и других. Профессиональные видеокарты выпускаются строго под контролем разработчиков и обычно не имеют нереференсных моделей. Это позволяет исключить ситуации, когда вмешательство вендора привело к неработоспособности устройства.
Использование ECC-памяти. Как мы сказали ранее, в профессиональных видеокартах определяющее значение имеет точность, и ошибки при расчетах недопустимы. В связи с этим используется специальная ECC-память, которая способна распознавать и исправлять спонтанные ошибки в битах. Однако память с коррекцией работает немного медленнее в сравнении с non-ECC, которая стоит на игровых видеокартах. Тесты энтузиастов показывают, что разница скорости между ECC и non-ECC в различных задачах не превышает 2 %.
Аппаратная поддержка OpenGL. Это программный интерфейс, используемый при написании различных приложений с 2D/3D графикой. Аппаратная поддержка ощутимо ускоряет вычисления, но ее реализация повышает стоимость продукта.
Специализированные драйверы и BIOS. Для профессиональной видеокарты нужен специальный драйвер. Он предлагает немного больше настроек, например, в панели Nvidia Control пользователи Quadro могут установить сглаживание граней объектов вплоть до 64Х, в то время как GeForce предлагает только 8X. Также спецдрайвер предоставляет более широкие возможности управления рабочими столами и их конфигурациями.
В установочный пакет драйверов для Quadro входит особое ПО — NVIDIA WMI (Windows Management Instrumentation) и специальный инструмент NVIDIA SMI для мониторинга. Для игровых GeForce GTX/RTX в стандартном пакете этого нет.
BIOS в Quadro разрабатывают непосредственно инженеры компании, а не специалисты сторонних брендов.
Сертификация от разработчиков ПО. В профессиональных моделях крайне важна корректная работа в узкоспециализированных программах без багов и зависаний, поэтому разработчики ПО проводят отдельную сертификацию.
Более длительный жизненный цикл. Обновление линеек геймерских видеокарт происходит в среднем один раз в 1,5-2 года. Профессиональные модели обновляются реже — раз в 2–4 года.
Специфика портов. В профессиональных моделях вы редко встретите HDMI и, тем более, VGA. В Nvidia Quadro последнего поколения используются порты DP1.4, а также Virtuallink. В более старых моделях присутствует DVI порт.
Цена. Рекомендованная цена Quadro RTX 8000 — 9 999 долларов. За топовую геймерскую RTX 3090 придется отдать 1499 доллара, что существенно дешевле.
Профессиональные карты имеют аппаратные и программные особенности, направленные на повышение производительности сугубо в специализированных приложениях для работы с 3D и 2D графикой, а также на общую стабильность и надежность.