Давайте смотреть не каналы геймеров на ютубе, которые сами не понимают, что несут, а такие талмуды как GPU Gems от nVidia, например. Для разработчиков, конечно же.
Для непонимающих тут расскажу что и как происходит. Для примера возьмем шутер.
1) Шутан с точки зрения видеокарты состоит (как и все не софтварные игры) из текстур, шейдеров и геометрии.
Геометрия - моделька, на которую натягивают текстуры.
Как именно выводится текстура на экран - определяет шейдер.
Чтоб геометрия, текстура и шейдер попали в видеокарту - они должны сначала считаться с диска, упасть в процессор, обработаться и дальше пойди уже в видеокарту с её тысячами ядер, где оно все рендерится.
Типичный развод продавцов железа (и тех, кто краем уха) - это "покупайте ssd диск у нас, много оперативы - это всё влияет на производительность".
По факту что на что влияет.
1) Диск. Диск влияет не на производительность нашего шутана, а на то, как быстро будут загружены текстуры, геометрия и шейдеры с диска вглубь по цепочке. Этот процесс выполняется всего один раз в определенный момент. Самый популярный - между уровнями. Сначала выгружается всё старое, чего нет на следующем уровне и загружается новое (это если гра большая и делали "по уму"). Если игра не большая - весь контент можно загрузить разом и не париться.
Тут конечно же диск влияет на скорость процесса загрузки. Один раз. А не ежесекундно во время игры. Поэтому, диск не влияет на "fps" совершенно, а лишь на то, сколько секунд пройдет до момента полной загрузки ресурсов. Как с машиной - скорость заливки бенза в бак не влияет на мощность под капотом, а лишь на то, как быстро ты свалишь с заправки.
2) Память оперативная. Не та, что внутри видеокарты. Она влияет на то, сколько она готова держать в себе информации для того, чтоб из неё дальше отгрузить в видеокарту. Типичное заблуждение - "сейчас я поставлю 32 гига озу и мой батлфилд 120 фпс выдавать начнет". ***** он не начнет выдавать 120 фпс с 32гб так же, как и с 8гб.
3) Память видеокарты. Внешняя видеокарта прекрасна. Она состоит из процессора (не обязательно одного) с туевой хучей ядер-потоков и памяти. Цель работы памяти у видеокарты идентичен, как и у обычной оперативы. Для чего и делают в играх разное качество графики (текстур) - чтоб дать возможность играть как тем, у кого 256-512 ram у видеокарты и тем, у кого видяшка и 2 и 4 и 6 гб имеет на борту.
Чем выше качество текстуры - тем больше эта текстура требует размера в памяти. Но технологии делали не *****и. Если у тебя видеокарта слабая с точки зрения памяти - это не значит, что в нее можно всунуть одну большую текстуру "ради пробы". Большая текстура требует не только бОльше памяти, но и бОльше ядер у проца в GPU, чтоб за 1 тик времени она успела её полностью нарисовать. Поэтому, не бывает мощных видеокарт с маленьким количеством памяти. Ограничение идет таково, чтоб ты был уверен, что в 2гб карту ты легко засунешь 8096х8096 текструру и проц внутри gpu успеет ее отрендерить за один проход. Ибо если тебе дать шанс в галимую карту засунуть 8096^2 текстуру, то у тебя начнется люто забиваться буффер.
4) Процессор основной (не GPU). Т.к. мы про шутан - твой перс там хочет бегать-прыгать. И желательно реалестично. Т.е. тебе нужна классная физика. Она вот, в общей массе, и работает за счет основного процессора. Чем мощнее процессор - тем больше итераций физики ты получишь (если предусмотрено игрой) и тем больше шансов, что останется у проца "сил" на другие просчеты. Если игра имеет пост-эффекты типа блюр, блум, глоу и т.д. - то в большей части (для качачества) - будет использоваться процессор основной. Если там примитвный эффект будет - то можно обойтись и шейдером (расчет на видеокарте).
5) Проц видеокарты. Видекрта имеет отдельный проц (который состоит из дохренища ядер) который в этих самых ядрах рендерят графоний. Не смотря на то, что современные видеокарты умееют "физику" и другие математические рассчеты делать внутри видеокарты - это не значит, что именно твоя игра это будет уметь. Нельзя просто взять и заюзать тот же Cuda в игре, где это не предусмотрено было её авторами. А таких игр большинство ибо это целая отдельная работа, чтоб подружить математику в игре с видеокартой для получения "назад" результата. Тем более, что продавец игры хочет, чтоб она ему принесла деньги как с тех, у кого есть хорошая карточка так и с тех, у кого ее нет. Но оно того стоит, если надо разгрузить максимально центральный процессор, ведь что он может со своими 8 ядрами против нескольких тысяч на видеокарте?
6) Гибридные видеокарты (APU). Дешевое решение, по сегодняшим меркам, не имеющее того потенциала, что имеет GPU. И упаси боже покупать для игр ****о, где используется APU. Воткнул ты себе 32 гб озу после того, что тебе насоветавали в магазине чтоб "поднять фпс в шутане". Допустим, ты завел свой комп и твоя видяшка работает. Но где она берет память, если графический проц стоит на тех же кристаллах в том же месте, где и центральный проц? Правильно! Берется память из системы - общая. Система банально шарит твою планку памяти между видеокартой и оперционкой. Прямо айпад какой-то получается
Ну... с одной стороны ок, вопросов нет. А с другой - появляются вопросы )) А почему при 16гб на борту ты не можешь получить больше 1гб озу для своей недо-APU "карты"? )) Ответ прост - так захотел производитель. Где-то 512 мб, где-то 1гб, где-то 2.
Так, дорогие всезнайки. Еще раз подумайте хорошо - на что влияет объем озу. На то, сколько ты можешь в уме держать или на то, как быстро ты сможешь 2+2 складывать.
Тут бы сравнить в машиной в самый раз. Допустим, у тебе есть тачка и бак нее 50 литров. Согласно логике продавцов комьютерного железа - если мы увеличим бак, то машина должна прям ****ец как быстро ездить. Но на деле увеличение (уменьшение) бака повлияет лишь на то, как далеко она заедет без дозаправки.
Вообще много деталей я упустил, т.к. не вижу смысла их писать. Такие, как рендер в текстуру, где действительно требуется быстрая память. Но уже очень давно люди используют отложенный рендер в 3д приложениях и рендер в текстуру не явлется зависимым от мегагерцов памяти. Поэтому, ***** ты не увидишь +100500 fps на двухканальной супербыстрой памяти. Все, что ты увидишь - твой уровень загрузится на 1-2% быстрее в случае с улучшением памяти и на 1-50% (зависит от количество ассетов) с ssd vs hdd. Но в любом случае ты не увидишь прироста FPS.
Да, есть ньансы, где прирост возможен. Но это такой редкий случай для задротов, что это как сравнивать *** между 13.0 см и 13.1 см, когда надо сравнивать между 13.0 и 25.0 (apu vs gpu)
Для непонимающих тут расскажу что и как происходит. Для примера возьмем шутер.
1) Шутан с точки зрения видеокарты состоит (как и все не софтварные игры) из текстур, шейдеров и геометрии.
Геометрия - моделька, на которую натягивают текстуры.
Как именно выводится текстура на экран - определяет шейдер.
Чтоб геометрия, текстура и шейдер попали в видеокарту - они должны сначала считаться с диска, упасть в процессор, обработаться и дальше пойди уже в видеокарту с её тысячами ядер, где оно все рендерится.
Типичный развод продавцов железа (и тех, кто краем уха) - это "покупайте ssd диск у нас, много оперативы - это всё влияет на производительность".
По факту что на что влияет.
1) Диск. Диск влияет не на производительность нашего шутана, а на то, как быстро будут загружены текстуры, геометрия и шейдеры с диска вглубь по цепочке. Этот процесс выполняется всего один раз в определенный момент. Самый популярный - между уровнями. Сначала выгружается всё старое, чего нет на следующем уровне и загружается новое (это если гра большая и делали "по уму"). Если игра не большая - весь контент можно загрузить разом и не париться.
Тут конечно же диск влияет на скорость процесса загрузки. Один раз. А не ежесекундно во время игры. Поэтому, диск не влияет на "fps" совершенно, а лишь на то, сколько секунд пройдет до момента полной загрузки ресурсов. Как с машиной - скорость заливки бенза в бак не влияет на мощность под капотом, а лишь на то, как быстро ты свалишь с заправки.
2) Память оперативная. Не та, что внутри видеокарты. Она влияет на то, сколько она готова держать в себе информации для того, чтоб из неё дальше отгрузить в видеокарту. Типичное заблуждение - "сейчас я поставлю 32 гига озу и мой батлфилд 120 фпс выдавать начнет". ***** он не начнет выдавать 120 фпс с 32гб так же, как и с 8гб.
3) Память видеокарты. Внешняя видеокарта прекрасна. Она состоит из процессора (не обязательно одного) с туевой хучей ядер-потоков и памяти. Цель работы памяти у видеокарты идентичен, как и у обычной оперативы. Для чего и делают в играх разное качество графики (текстур) - чтоб дать возможность играть как тем, у кого 256-512 ram у видеокарты и тем, у кого видяшка и 2 и 4 и 6 гб имеет на борту.
Чем выше качество текстуры - тем больше эта текстура требует размера в памяти. Но технологии делали не *****и. Если у тебя видеокарта слабая с точки зрения памяти - это не значит, что в нее можно всунуть одну большую текстуру "ради пробы". Большая текстура требует не только бОльше памяти, но и бОльше ядер у проца в GPU, чтоб за 1 тик времени она успела её полностью нарисовать. Поэтому, не бывает мощных видеокарт с маленьким количеством памяти. Ограничение идет таково, чтоб ты был уверен, что в 2гб карту ты легко засунешь 8096х8096 текструру и проц внутри gpu успеет ее отрендерить за один проход. Ибо если тебе дать шанс в галимую карту засунуть 8096^2 текстуру, то у тебя начнется люто забиваться буффер.
4) Процессор основной (не GPU). Т.к. мы про шутан - твой перс там хочет бегать-прыгать. И желательно реалестично. Т.е. тебе нужна классная физика. Она вот, в общей массе, и работает за счет основного процессора. Чем мощнее процессор - тем больше итераций физики ты получишь (если предусмотрено игрой) и тем больше шансов, что останется у проца "сил" на другие просчеты. Если игра имеет пост-эффекты типа блюр, блум, глоу и т.д. - то в большей части (для качачества) - будет использоваться процессор основной. Если там примитвный эффект будет - то можно обойтись и шейдером (расчет на видеокарте).
5) Проц видеокарты. Видекрта имеет отдельный проц (который состоит из дохренища ядер) который в этих самых ядрах рендерят графоний. Не смотря на то, что современные видеокарты умееют "физику" и другие математические рассчеты делать внутри видеокарты - это не значит, что именно твоя игра это будет уметь. Нельзя просто взять и заюзать тот же Cuda в игре, где это не предусмотрено было её авторами. А таких игр большинство ибо это целая отдельная работа, чтоб подружить математику в игре с видеокартой для получения "назад" результата. Тем более, что продавец игры хочет, чтоб она ему принесла деньги как с тех, у кого есть хорошая карточка так и с тех, у кого ее нет. Но оно того стоит, если надо разгрузить максимально центральный процессор, ведь что он может со своими 8 ядрами против нескольких тысяч на видеокарте?
6) Гибридные видеокарты (APU). Дешевое решение, по сегодняшим меркам, не имеющее того потенциала, что имеет GPU. И упаси боже покупать для игр ****о, где используется APU. Воткнул ты себе 32 гб озу после того, что тебе насоветавали в магазине чтоб "поднять фпс в шутане". Допустим, ты завел свой комп и твоя видяшка работает. Но где она берет память, если графический проц стоит на тех же кристаллах в том же месте, где и центральный проц? Правильно! Берется память из системы - общая. Система банально шарит твою планку памяти между видеокартой и оперционкой. Прямо айпад какой-то получается
Ну... с одной стороны ок, вопросов нет. А с другой - появляются вопросы )) А почему при 16гб на борту ты не можешь получить больше 1гб озу для своей недо-APU "карты"? )) Ответ прост - так захотел производитель. Где-то 512 мб, где-то 1гб, где-то 2.Так, дорогие всезнайки. Еще раз подумайте хорошо - на что влияет объем озу. На то, сколько ты можешь в уме держать или на то, как быстро ты сможешь 2+2 складывать.
Тут бы сравнить в машиной в самый раз. Допустим, у тебе есть тачка и бак нее 50 литров. Согласно логике продавцов комьютерного железа - если мы увеличим бак, то машина должна прям ****ец как быстро ездить. Но на деле увеличение (уменьшение) бака повлияет лишь на то, как далеко она заедет без дозаправки.
Вообще много деталей я упустил, т.к. не вижу смысла их писать. Такие, как рендер в текстуру, где действительно требуется быстрая память. Но уже очень давно люди используют отложенный рендер в 3д приложениях и рендер в текстуру не явлется зависимым от мегагерцов памяти. Поэтому, ***** ты не увидишь +100500 fps на двухканальной супербыстрой памяти. Все, что ты увидишь - твой уровень загрузится на 1-2% быстрее в случае с улучшением памяти и на 1-50% (зависит от количество ассетов) с ssd vs hdd. Но в любом случае ты не увидишь прироста FPS.
Да, есть ньансы, где прирост возможен. Но это такой редкий случай для задротов, что это как сравнивать *** между 13.0 см и 13.1 см, когда надо сравнивать между 13.0 и 25.0 (apu vs gpu)
Останнє редагування:
