Давайте смотреть не каналы геймеров на ютубе, которые сами не понимают, что несут, а такие талмуды как 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)
Останнє редагування:
