Overview
Благодаря руководству вы можете посмотреть, как сильно влияют те или иные настройки на качество картинки и fps.
Введение
Компания NVIDIA позаботилась об игроках и подготовила отличное руководство[geforce.com] по графическим настройкам в игре. Благодаря руководству вы можете посмотреть, как сильно влияют те или иные настройки на качество картинки и fps. Сравнение сделано в очень удобной форме, двигайте ползунок мышью и сравнивайте изменения «на лету». Статья будет полезна не только геймерам, но и всем, кто интересуется современными компьютерными технологиями и следит за прогрессом графики в компьютерных играх.
Преграждение окружающегоAmbient Occlusion
Ambient Occlusion (Преграждение окружающего) — модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. Метод добавляет дополнительные тени. При выключенной опции картинка в игре выглядит плоской и нереалистичной.
Совместно с тессиляцией, HBAO+ выделяет детали поверхности, позволяет ощутить глубину, шершавость, трещины и неровности объектов:
[link]
В этой сцене HBAO+ точно передаёт все детали и неровности стены и каменных поверхностей:
[link]
А тут благодаря HBAO+ появляются тени на сетчатой палатке, выделяя все складки:
[link] :
Технология HBAO+ также борется с эффектом гало, которое можно наблюдать вокруг основания ведра (хотя я не вижу эффект гало, но Nvidia утверждает обратное):
[link]
И, финальной сравнение, демонстрирующее всё преимущество технологии HBAO+:
[link]
В игре доступно два варианта затенения: 1) Совместная разработка Crystal Dynamics и Microsoft (BTAO или просто вкл в игре) 2) Разработка Nvidia (HBAO+)
Ambient Occlusion заметно улучшает графику: появляется ощущение глубины и объёма на неровных поверхностях.
На производительность игры AO влияет не очень сильно, поэтому Nvidia крайне рекомендует оставить опцию включённой (хотя бы просто ВКЛ без HBAO+).
Анизотропная фильтрацияAnisotropic Filter
Анизотро́пная фильтрация (англ. Anisotropic Filtering, AF) — метод улучшения качества изображения текстур на поверхностях, сильно наклонённых относительно камеры.
[link]
Как и Ambient Occlusion (AO), анизотропная фильтрация существенно улушает картинку, убирая размыливание. Разница в fps между степенями сглаживания x16 и x2 минимальна. Триллинейная филтрация улучшает производительность игры, но очень сильно мылит текстуры, поэтому включать триллинейный фильтр стоит только на очень слабых системах.
СглаживаниеAnti-Aliasing
Сгла́живание (англ. anti-aliasing) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений.
Основным методом сглаживания в Rise of the Tomb Raider является FXAA. По мнению Nvidia, FXAA — быстрое сглаживание, не требующее мощных вычислительных ресурсов, поскольку изображение обрабатывается после рендеринга. Однако FXAA понравится далеко не всем, у него есть побочный эффект: текстуры становятся не чёткими, появляется размывание.
На мой взгляд, примеры с сайта Nvidia плохо отражают суть сглаживания, поэтому я оставлю ссылку на сравнение из оригинального материала и вставлю другую картинку из интернета:
SSAA — наиболее эффективный и “прожорливый” метод. Если вы играете в разрешении Full HD, то перед выдачей на экран изображение обрабатывается на компьютере в разрешении 2688×1512 для SSAA x2 и в разрешении 3840×2160 для SSAA x4 (Ultra HD 4K). SSAA рекомендуется выбирать только на очень производительных системах.
Обратите внимание на ветки деревьев.
[link] :
А тут смотрите на компьютерный стол:
29-го января 2016 года в игру добавили сглаживание SMAA. В отличие от FXAA, SMAA не мылит текстуры, но в некоторых сценах могут остаться зубчики и острые углы.
ReShade SMAA является модификацией SMAA, дающий значительно лучшее качество, чем стандартное SMAA или FXAA. Но для включения этого сглаживания необходимо скачать программу ReShade и проделать ряд элементраных операций, подробнее написано на в оригинальной статье.
Рекомендации Nvidia: включить FXAA, но если вас не устраивает размыливание, активируйте SSAA.
Добавлю от себя: чем выше разрешение экрана, тем меньше необходимости в сглаживании. Поэтому если у вас 2К или 4К монитор, то можно вполне комфортно играть и без сглаживания. На Full HD картинка без сглаживания тоже выглядит неплохо (сглаживание 2Х достаточно), но в HD (1280×720) лесенки и зубчики сильно портят впечатление от игры. Но я считаю, что лучше играть без сглаживания, чем с замыливанием от FXAA. SSAA я не рекомендую включать никому, ну разве что если у вас монитор 1280х720 и видеокарта уровня gtx980.
Bloom-эффектBloom
Bloom (рус. «свечение») — постэффект в трёхмерной графике, который используется разработчиками игр для создания эффекта размытости света на ярких гранях сцены и для добавления большей кинематографичности изображению.
Блум увеличвает интенсивность света и добавляет дополнительное освещение. В Rise of Tomb Raider bloom, например, подчёркивает темноту туннелей во время выхода на поверхность.
Bloom работает совместно с HDR и адаптивным тонированием для усиления эффекта:
[link] :
Совместно с опцией “отражение пространства экрана”, Bloom и HDR добавляют эффект свечения на водоёмы и другие отражающие поверхности:
[link]
Поскольку Bloom является постэффектом, оно почти не влияет на производительность.
Глубина резкостиDepth of Field
Глубина резкости (Depth of Field) — диапазон расстояний на снимке, в котором предметы воспринимаются как резкие. В игре применяется для создание кинематографичности и придания драматичности к некоторым сценам.
В заставках глубина резкости используется совместно с эффектом Боке и применяется к частицам, которые находятся не в фокусе, придавая кинематографичность. Некоторые сцены игры, которые как правило идут более минуты, классифицируются как “кинематика” и глубина резкости автоматически переключается на “очень высоко” даже если вы просто выбрали “вкл”.
В коротких роликах, которые переходят в геймплей, при выборе “очень высоко” применяется полная обработка совместно с Боке, а при “ВКЛ” менее точная обработка без применения эффекта Боке.
Ниже представлен фрагмент из игры, в котором применяется глубина резкости совместно с эффектом Боке вне зависимости от выбранных настроек (кинематика):
[link]
Для сравнения короткий игровой ролик, если выбрать просто “ВКЛ”, то отсутствует эффект Боке:
Сравнение “вкл” и “очень высоко”: [link]
Сравнение “очень высоко” и “выкл”: [link]
[link] :
Во время игры “глубина резкости” избирательно применяется к различным объектам в зависимости от дальности и сцены, например, в подводном мире или в снежных бурях. Во время активации “инстинкта выживания” эффект подчёркивает предметы в игровом мире.
Ниже представлена печальная сцена из игры, глубина резкости добавляет ещё больше драматизма:
[link]
Под водой при переключении опции на “очень высоко” полностью размывается поверхность, а при видимом свете и к различным частицам также применяется эффект Боке:
[link]
Во время снежной бури на “очень высоко” добавляется ощущение плохой видимости:
[link]
Nvidia: “Если у вас есть запас производительности, поставьте глубину резкости на “очень высоко”, в противном случае просто включите этот эффект.”
От себя добавлю: мне этот эффект совершенно не нравится и я бы ни за что не включил эту опцию. Но на вкус и цвет все фломастеры разные, поэтому посмотрите скриншоты и решите сами, нужна ли вам фокусировка на определённых объектах.
Динамическая листваDynamic Foliage
Во время портирования игры на ПК с консоли Xbox One разработчики увеличили плотность листвы, благодаря чему окружающий мир стал живее и прекраснее.
Если переключить опцию на “высоко”, то листва и деревья будут колыхаться на ветру, а трава будет прогибаться из-за ходьбы Лары или животных. На более низких настройках понижается густота травы и интерактивность листвы.
[link] :
Комания Nvidia строго рекомендует переключить опцию “Динамическая листва” на “высоко”, поскольку игра становится заметно красивее и приятнее. Понижайте параметр только при острой необходимости, постарайтесь выбрать хотя бы среднюю плотность травы.
Зернистость плёнкиFilm Grain
Зернистость плёнки (Film Grain) добавляет некий шум и артефакты на изображение.
Ранее “зернистость” была включена в состав опции “эффекты экрана”, но 5-го февраля после обновления была вынесена в отдельную опцию. Выключение зернистости отразится на интенсивности световых эффектов и на яркость сцены:
[link] :
Film Grain почти не влияет на количество fps:
Комментарий от меня: я рекомендую выключить опцию, но смотрите скрины и делайте выбор сами.
Блики объективаLens Flares
Во многих роликах и геймплейных сценах есть яркий или солнечный свет, с включёнными бликами визуальное качество игры улучшается:
[link]
[link] :
Lens Flares — самый “прожорливый” постэффект, добавляющий блики от солнца или других светящихся объектов. В целом улучшает изображение, поэтому рекомендовано включить этот эффект, если есть запас мощности.
ДетализацияLevel of Detail
Уровень детализации влияет на качество и количество объектов, распаложенных на средних и дальних расстояниях. Студия Nixxes Software, которые портровали игру, в некоторых сценах создали несколько вариантов дальних объектов в зависимости от уровня графики:
[link]
Кроме того, уровень детализации может повлиять и на качество световых эффектов или теней:
[link]
Дальние объекты могут и вовсе быть удалены из игры. Например, мы видим отсутствие черепов и растительности:
[link]
Ниже удалены вывеска на здании, надписи и даже деревья:
[link]
Влияние на производительность зависит от конкретной сцены, но в целом опция является “прожорливой”, но сильно улушает графику в игре.
Технология PureHairPureHair
Pure Hair (читстые волосы) — технология рендеринга волос от Crystal Dynamics и Square Enix, напоминающая HairWorks от Nvidia. “Чистые волосы” добавляют десятки тысяч волос на персонажа. Волосы начинают выглядеть реалистично, взаимодействуют с водой, ветром и снегом, шевелятся от ходьбы или бега персонажа.
В Rise of the Tomb Raider у Лары примерно 30 000 прядей волос, разделённых на большие группы. У каждой группы своя модель поведения. Объединение в группы позволяет не обрабатывать отдельно каждый волосок и экономит вычислительные ресурсы.
Опция “выкл” полностью отключает технологию “Чистые волосы”. “ВКЛ” является рекомендуемым вариантом для большиства систем, добавляет множество отдельных волос с полной физикой взаимодействия с окружающим миром. А при “очень высоко” волосы приобретают кинематографическое качество. Как и в “Глубине резкости”, в длинных роликах при “ВКЛ” опция автоматически переключается на “очень высоко”.
[link] :
При виде сбоку PureHair подчёркивает количество волос и добавляет реалистичное освещение и затенение:
[link]
Во время игры обнаружить влияние PureHair на качество волос бывает сложно, особенно когда виден только затылок Лары:
[link]
[link]
Но во время крупных планов, например, в замкнутых пространствах, технология “Чистые волосы” заметна невооружённым глазом:
[link]
Меха животных или волосы других людей также используют технологию “PureHair”, но волосы не динамичные в отличие от волос Лары:
“Продвинутые волосы” существенно влияют на производительность в кат-сценах:
В игре же влияние на fps не столь существенное:
Nvidia рекомендует включить технологию “Чистые волосы”, поскольку они существенно улучшают качество модели Лары без значительного ущерба для производительности.
Эффекты экранаScreen Effects
Кровь, вспышки, грязь, снег и другие эффекты появляются на экране при включении этого параметра. По сравнению с Tomb Raider 2013 года эффекты исчезают быстрее и выделяются только при попадании света непосредственно в экран.
Как и большинство пост-эффектов, “Эффекты экрана” мало влияют на fps:
Отражения пространства экранаScreen Space Reflections
Многие поверхности в Tomb Raider могут отражать падающий на них свет. Влияние эффекта наиболее заметно на поверхностях водоёмов:
[link]
Без “Screen Space Reflections” грязная вода выглядит плоско и тускло:
[link]
Иногда отражения появляются лишь на доли секунды:
Crystal Dynamics и Nixxes хорошо поработали над оптимизацией и эффект не сильно отражается на количестве кадров в секунду:
Качество отраженийSpecular Reflection Quality
Опция “качество отражений” появилась в игре после первого патча. Как ни сложно догадаться из названия, настройка влияет на качество отражений от различных поверхностей: пола, стен, лужиц воды. Но опция не влияет на отражение крупных водоёмов, поскольку они зависят от “Отражения пространства экрана”, которая была рассмотрена ранее.
Во многих сценах улучшения почти незаметны, поскольку заметить добавление мелких проблесков не так просто. Но иногда в игре будут встречаться лужицы воды достаточно большого размера, чтобы заметить разницу.
Именно на лужицы “Specular Reflection Quality” оказывает наибольшее влияние. На “очень высоко” отражения намного яснее и мерцаний во время движения меньше. На “высоких” качество и разрешение отражений снижается. Кроме того, листья и другие прозрачные объекты смешиваются с отражениями более низкого разрешения, снижая детализацию.
В интерактивном сравнении ниже обратите внимание на траву справа от Лары и на отражения в воде (“вкл” и “очень высоко”):
[link]
На более высоких разрешениях, например, при игре с 4К-разрешением, улучшения менее заметны:
[link]
Рассмотрим более детально влияние настройки при 4К разрешении. Обратите внимание на траву:
[link]
В зависимости от сцены “качество отражений” по-разному влияет на fps, что вполне очевидно, ведь не везде есть отражающие поверхности:
Качество тенейShadow Quality
Как не сложно догадаться, опция влияет на качество теней, регулируя разрешение и детализацию. На высоких настройках тень от забора теряет свою интенсивность, также страдают и детали (сравнение высоко и очень высоко):
[link]
Если сравнивать “средние” и “очень высокие”, то влияние качества теней на общее восприятие игры становится очевидным:
[link]
А при “выкл” тени и вовсе не видны:
[link]
Сравнение средних и максимальных теней в другой сцене:
[link]
Без теней:
[link]
Если тени большие, то качество между средними и максимальными настройками не столь очевидна:
[link]
Но при “выкл” тени всё ещё отсутствуют:
[link]
Nvidia рекомендует выключать тени только для самых слабых систем, поскольку без теней графика заметно ухудшается, особенно днём: пропадают тени от деревьев и других объектов. Тени сильно влияют на производительность, но заметно улучшают графику:
Мягкие тени от солнцаSun Soft Shadows
Дополнительный параметр настройки теней — мягкие тени от солнца, как не сложно догадаться по названию, смягчают и улучшают тени. Особенно улучшаются тени, отбрасываемые от листвы деревьев, хотя другие тени в редких случаях тоже могут стать лучше.
Поскольку Sun Soft Shadows улучшает уже готовые тени, эффективность напрямую зависит от ранее рассмотренной опции Shadow Quality. Например, при максимальных тенях и при максимальных тенях от солнца тени от листвы становятся мягче, удаляются острые и резкие, неестественные тени.
Качество теней максимальное. Сравнение мягких теней от солнца при “вкл” и “очень высоко”:
[link]
Качество теней максимальное. Мягкие тени от солнца “выкл” и “очень высоко”:
[link]
Качество теней высокое, мягкие тени от солнца “выкл” и “очень высоко”:
[link]
Качество теней “вкл”, сравнение мягких теней от солнца при “выкл” и “очень высоко”:
[link]
Ну и для сравнения, вот так сцена выглядит вообще без теней:
[link]
На мой взгляд, мягкие тени от солнца стоит включать только при качестве теней “очень высоко”, в противном случае тени размываются слишком сильно.
Мягкие тени от солнца почти не снижают производительность, поэтому Nvidia рекомендует включать эту опцию всем:
ТесселяцияTessellation
Тесселяция — автоматизированный процесс добавления новых выпуклых многоугольников в полигональную сетку с целью повышения детализации сетки. Тесселяция является одной из основных особенностей DirectX 11 и OpenGL 4.
В начале игры путь Лары пролегает через заснеженные сугробы в горах. Тесселяция используется для создания реалистичных следов и снежных дорожек от Лары и других животных.
Результатом применении тесселяции являются более точные и глубокие следы различной глубины и ширины от персонажей и животных. Как и в Batman Arkham Origins, тесселяция особенно эффективно работает с технологией “преграждение окружающего” (Ambient Occlusion).
Видео с демонстрацией реалистичных следов в снегу:
Без тесселяции деформация снега всё равно отображается сценах, где эффект очень важен для восприятия игры. Например, когда Лара после падения была вынуждена ходить по пояс в снегу. В районах с низким покрытием снега адаптивная тесселяция выключается и обувь оставляет обычные отпечатки.
На протяжении всей игры тесселяция улучшает геометрические модели многих поверхностей и объектов: пола, стен, статуй, деревьев, разрушающихся барьеров, поверхностей для карабканья и т.д. Тесселяция работает совместно с Ambient Occlusion (Преграждение окружающего), в итоге улучшается не только детализация, но и затенение:
[link]
В некоторых местах улучшение от тесселяции можно не заметить, но не в данной сцене:
[link]
В данной сцене благодаря тесселяции поверхности для лазания стали более реалистичными:
[link]
[link]
в начале игры влияние тесселяции не так заметно из-за снежной поверхности. Но обратите внимание на землю, не покрытую снегом:
[link]
По ходу прохождения в более тёплых локациях, а также в гробницах и в скалах, тесселяция значительно влияет на качество графики:
[link]
Видеокарты серии Maxwell (GeForce GTX 9XX) обрабатывают тесселяцию в три раза быстрее видеокарт предыдущих поколений и эффект мало влияет на производительность:
Но если у вас видеокарта более старая, то тесселяция может значительно снизить производительность. При недостатке производительности Nvidia рекомендует отключить тесселяцию.
Качество текстурTexture Quality
Опция влияет на чёткость, детализацию и качество текстур, накладываемых на различные объекты. Различия между “очень высокими” и “высокими” текстурами в большинстве сцен минимальна. В консольной версии игры на XboxOne используются текстуры “высокого” разрешения.
Ниже приведено сравнение между “средними” и “высокими” текстурами. Это одно из немногих мест в игре, где “very high” добавляет ощутимое различие. Высокие и очень высокие текстуры (смотрите на руку Лары):
[link]
“Очень высокие” и “низкие”:
[link]
В большинстве сцен “очень высокие” текстуры незначительно улучшают картинку по сравнению с “высокими” настройками (обратите внимание на колонны):
[link]
“Минимальные” и “очень высокие”:
[link]
Текстуры максимального разрешения (very high) могут достигать разрешения 4К, добавляя дополнительную детализацию. Посмотрите на мокрые камни около Лары:
[link]
“Минимальные” и “максимальные” текстуры:
[link]
Если внимательно посмотреть сравнение между “высокими” и “очень высокими” текстурами, то в сцене ниже можно заметить различия в генераторе, который находится в левом нижнем углу, а на стене появились дополнительные кусочки льда:
[link]
С текстурами самого низкого разрешения игра всё ещё выглядит ужасно:
[link]
Фрески с “очень высокими” текстурами также приобретают дополнительные детали и становятся чётче (смотрите на верхнюю часть изображения):
[link]
Сравнение низких текстур с максимальными:
[link]
Влияние на производительность
Для видеокарт с 4-мя гигабайтами памяти рекомендуется использовать “высокие” текстуры. С текстурами максимального разрешения будут фризы и лаги, особенно при переходе от видеороликов к геймплею и при переходе из одной локации в другую.
Для игры без провисаний с текстурами макимального качества рекомендуется использовать видеокарту с 6 гб видеопамяти. Для игры с высочайшими текстурами в разрешении 4К необходимо использовать GeForce GTX TITAN с 12 ГБ видеопамяти, поскольку потребление видеопамяти будет находится в районе 10-ти ГБ.
Как и следовало ожидать, если у вас достаточно видеопамяти, то качество текстур почти не влияет на производительность:
ВНИМАНИЕ!
Если у вас видеокарта оснащена двумя гигабайтами памяти, ни в коем случае не ставьте “очень высокие” текстуры, иначе будет слайдшоу (скриншот взят с сайта [link]:
Таким образом, можно сделать выводы:
1) “Очень высокие” текстуры рекомендуется использовать совместо с видеокартами, оснащёнными более 6-ти ГБ видеопамяти
2) “Высокие” отлично подойдут для большинства систем с 4-мя или 3-мя ГБ видеопамяти.
3) “Средние” следует использовать с видеокартами, оснащёнными 2-мя гигабайтами памяти.
4) “Низкие” текстуры выглядят ужасно и рассчитаны для самых слабых видеокарт с 1 ГБ видеопамяти.
Размытие по краямVignette Blur
Размытие по краям (Vignette Blur) слегка размывает углы в некоторых сценах, подчёркивая, что Лара находится на грани потери сознания:
[link]
Учитывая, что эффект мало влияет на картинку, она также почти не влияет на fps:
Исследование потребления ОЗУ игрой
Информация взята с сайта [link]
Потребление ОЗУ игрой с различными настройками графики:
Потребление RAM всей системой во время игры с максимальными настройками графики (зависит также от количества запущенных фоновых программ):
Можно заметить, что для игры на минимальных настройках требуется ПК с 3-мя ГБ оперативной памяти, для средних настроек — с 3.5-4 ГБ, для высоких — 6 ГБ, для максимальных же настроек потребуется 8 ГБ ОЗУ и более. Конечно, перед запуском игры закройте браузеры и другие работающие программы, чтобы освободить ОЗУ. Количество памяти указано при включённом файле подкачки.
Выводы
Q: у меня gtx 780ti или gtx970980 и игра тормозит на максимуме! Что за отвратительная оптимизация, раз игра тормозит на топовых видеокартах?!
A: без паники! Во-первых, текстуры максимального разрешения рассчитаны на видеокарты с памятью более 6-ти ГБ. Поэтому выберите “высокое” качество текстур. Во-вторых, обратите внимание на сглаживание, поставьте SMAA или FXAA. Скорее всего после этого лаги пропадут.
Q: у меня 2 ГБ видеопамяти и игра очень сильно тормозит. Что делать?
A: если у вас видеокарта оснащена только 2-мя ГБ памяти (например, некоторые версии gtx960), то поставьте качество текстур на “средние” и попробуйте перезапустить игру.
Q: у меня игра сильно тормозит на максимуме! Какие опции в первую очередь необходимо снизить?
A: 1) Поставьте сглаживание SMAA или FXAA. 2) Динамическую листву поставьте на средние. 3) Детализацию на “высоко” или ниже. 4) PureHair просто “ВКЛ”. 5) Качество теней на “средние”. 5) Если у вас видеокарта серии GTX7XX или ниже, выключите тессиляцию. 6) Качество отражений поставьте на минимум.
Q: какие опции могут испортить графику?
A: 1) “Глубина резкости” размывает изображение, некоторым может не понравится. 2) “Зернистость плёнки” добавляет шумы и артефакты на изображение. 3) “Размытие по краям” также не всем игрокам придётся по вкусу. 4) “Мягкие тени от солнца” слишком сильно размывают тени, особенно когда опция “качество теней” выбрана ниже чем “очень высоко”.
Q: у меня очень слабый компьютер. Я играю на полном минимуме, но у меня есть запас мощности. Какие опции включить в первую очередь, чтобы существенно улучшить графику?
A: 1) Обязательно включите “Преграждение окружающего” 2) “Динамическую листву” поставьте на “средние”. 3) “Детализацию” на “средние”. 4) Включите “Отражения пространства экрана”, но в последнюю очередь 5) “Качество теней” очень сильно влияют на качество графики, поэтому постарайтесь поставить тени хотя бы на “минимум”, это очень важно. 6) На “качество текстур” влияет только объём видеопамяти, поэтому поставьте на “средние” или “высокие”.
Q: у меня в игре fps нормальный, но в кат-сценых игра тормозит! Что делать?
A: “Pure Hair” и “глубина резкости” в длинных роликах автоматически переключаются на максимум вне зависимости от выбранных настроек, поэтому выключите соответствующие опции.
Q: у меня всего лишь 2 ГБ ОЗУ. Я не смогу поиграть в эту игру?
A: сможете! Увеличьте файл подкачки. Загрузки в игре и быстрые переходы на другие зоны у вас будут занимать 8-15 минут. Также во время перехода из одной зоны в другую игра будет подвисать на 30-40 секунд в течение нескольких минут.
Q: у меня очень старый ПК. Ну там gt440+Core 2 Duo E4400. Мне остаётся только смотреть прохождение игры на youtube?
A: нет! В это сложно поверить, но я прошёл игру именно на gt440+ Core 2 Duo E4400 (2.65 GHZ). В игре было 17-25 fps на 1280х720.
Ссылка на оригинал статьи (на англ)
Источник: [link]