Перейти к публикации

PS4 - Общее обсуждение


Puhlic
 Поделиться

Рекомендованные сообщения

Ну условно говоря, допустим у нас в игре 2 уровня, занимающие по 2Гб оперативы каждый.

Что мешает загрузить сначала текущий уровень и заранее подгрузить следующий при возможности?

Тогда переход между уровнями будет намного быстрее.

Так на моей памяти никто не делал, предпочитают забить память более полезными вещами. А так используется стримминг, практически все игры сейчас с ним идут, далеко не одним open-world ограничивается дело, для коридорных шутеров тоже обыденность. Игры постоянно держат в памяти текущую область уровня и несколько вокруг. Как только шагнул в новую область она становится текущей и подгружаются уже соседние для нее. Весь уровень держать в памяти ни к чему. Ну а при смене уровня все равно приходится как-то делать полноценную загрузку - либо экран загрузки, либо катсценой какой-нить маскировать. Новый уровень содержит совсем другие данные, стримминг тут ничем не поможет - обычно же на одном уровне куча ресурсов общая на уровне, достаточно по мелочи подгружать геометрию уровня.

 

Нехилый кстати скачек. На карентгене дай бог 30к на ГГ отводится.
Ссылка на комментарий
Поделиться на других сайтах

Ребят как думаете свой xbox 360 уже щас начинать впаривать или дождаться пока новый выйдет?
Ссылка на комментарий
Поделиться на других сайтах

 

Ребят как думаете свой xbox 360 уже щас начинать впаривать или дождаться пока новый выйдет?

пфффф, я его уже в 2010 году впарил

Ссылка на комментарий
Поделиться на других сайтах

Так на моей памяти никто не делал, предпочитают забить память более полезными вещами. А так используется стримминг, практически все игры сейчас с ним идут, далеко не одним open-world ограничивается дело, для коридорных шутеров тоже обыденность. Игры постоянно держат в памяти текущую область уровня и несколько вокруг. Как только шагнул в новую область она становится текущей и подгружаются уже соседние для нее. Весь уровень держать в памяти ни к чему. Ну а при смене уровня все равно приходится как-то делать полноценную загрузку - либо экран загрузки, либо катсценой какой-нить маскировать. Новый уровень содержит совсем другие данные, стримминг тут ничем не поможет - обычно же на одном уровне куча ресурсов общая на уровне, достаточно по мелочи подгружать геометрию уровня.

Ну возьмем в пример РПГ игру.

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

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

Т.к. в памяти остаются старые объекты (они могут пригодиться и на других уровнях). 

 

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

Ссылка на комментарий
Поделиться на других сайтах

@creker, а вот Павлик, расписал, что если доступно только 5 Гб, значит и доступно только 60 % шины - это так ? Или оно как то по другому работает?

Ссылка на комментарий
Поделиться на других сайтах

 

Она пытается дать объяснения на счет этого доп 1 ГБ, но совсем не получается - все равно пишет какую-то маркетинговую хрень.

Там пишут о какой-то клевой виртуальной памяти в фрибсд. Не может ли у нее быть какой-то специальной организации для уменьшения задержки при доступе? Для чего-то ведь сделан этот отдельный кусок

 

 

Она пытается дать объяснения на счет этого доп 1 ГБ, но совсем не получается - все равно пишет какую-то маркетинговую хрень.

Там пишут о какой-то клевой виртуальной памяти в фрибсд. Не может ли у нее быть какой-то специальной организации для уменьшения задержки при доступе? Для чего-то ведь сделан этот отдельный кусок

Ссылка на комментарий
Поделиться на других сайтах

@creker, а вот Павлик, расписал, что если доступно только 5 Гб, значит и доступно только 60 % шины - это так ? Или оно как то по другому работает?

как то по другому

 

Не может ли у нее быть какой-то специальной организации для уменьшения задержки при доступе?

нет

Ссылка на комментарий
Поделиться на других сайтах

Ну возьмем в пример РПГ игру.

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

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

Т.к. в памяти остаются старые объекты (они могут пригодиться и на других уровнях). 

 

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

В тех же open-world РПГ нет никаких локаций. Возьмем для примера обливион или скайрим. Есть один большой мир, который стриммится без всяких загрузок от и до. Если мы заходим в подземелье или в дом, то, насколько я помню, старые данные из памяти не выгружаются. Но и все окрестные дома тоже в память не грузятся. Как только куда-то заходишь, то именно в этот момент происходит загрузка внутренностей. Совсем не случайно в таких играх ты ничего не видишь внутри домов - окна не прозрачные, двери закрыты. Это значит, что внутренности домов грузятся только тогда, когда ты в них заходишь. Конечно для подземелий в том же скайриме несколько иной вариант - там именно все выгружается, потому как подземелья сами по себе огромные бывают. Поэтому выход наружу приводит к загрузке.

А держать в память два уровня только ради того, чтобы сэкономить пару десятков секунд на загрузку - вот это глупость. Память всегда используется и будет использоваться только для полезных данных. И никто на моей памяти такой ерундой не занимался. Или стриммится вся игра от и до, что исключает вообще все загрузки. Либо стриммится все в пределах уровня, а переход на другой уровень приводит к загрузке. Так работает тот же крузис 2 и 3. У него огромные уровни, которые в памяти никто полностью не держит. Редактор не случайно только в 64 битной версии, иначе не хватит адресного пространства на весь уровень.

 

@creker, а вот Павлик, расписал, что если доступно только 5 Гб, значит и доступно только 60 % шины - это так ? Или оно как то по другому работает?

как то по другому

 

1. Там пишут о какой-то клевой виртуальной памяти в фрибсд.

2. Не может ли у нее быть какой-то специальной организации для уменьшения задержки при доступе?

3. Для чего-то ведь сделан этот отдельный кусок

1. Виртуальная память в фрибсд и вообще в любом современной ОС работает примерно одинаково. Она такая же клевая как в винде, мак ос и прочих. Она сейчас вообще хардварно уже реализована отчасти с помощью TLB, особо не развернешься с реализацией, да и незачем.

2. Не может.

3. Подумав немного над словами сони, я понял это так:

 

4.5 ГБ это кусок памяти, который ОС вообще не трогает. Т.е. ее система виртуальной памяти не лезет в этот кусок памяти, для нее его не существует. По сути, это жесткое деление физического (!!) адресного пространства - играм отведены 4.5 ГБ, а ОС все остальное. Это позволяет играм забыть о фрагментации памяти из-за ОС, page miss и прочих прелестях виртуальной памяти, когда память у программ может быть раскидана на несколько кусков по всей оперативной памяти. Разработчик сам волен выбирать как и где он будет выделять память в этом куске. Естественно это все в целях повышениях производительности, а главное повышения стабильности этой производительности. На том же ПК помимо всего прочего именно из-за этой виртуальной памяти стабильности никакой быть и не может. В один момент все клево, а в другой своппинг или система, которая борется с фрагментацией памяти, приведет к тормозам. И не важно сколько у тебя оперативки.

 

3.5 ГБ это кусок памяти уже для ОС. Здесь уже всем правит виртуальная память. И здесь 1 ГБ доступен играм. Скорее всего есть какие-то специальные команды по выделению памяти именно в этом куске. Получается так, что 1 ГБ вроде бы всегда доступен, но это совсем не значит, что 1 ГБ именно свободен физически. Просто ОС сольет часть данных на HDD, если что. Т.е. все, как это у любой настольной ОС сейчас. В той же 32 битной винде каждой проге доступно 3+ ГБ памяти, всегда. Оперативки может быть хоть 500 МБ, но на уровне ОС каждой проге всегда доступно 3 ГБ. Это уже проблемы ОС, как и где это память будет выделена. Это приведет к свопу, тормозам, но проге пофиг. Так же на пс4. У ОС есть 3.5 ГБ. Игра может выделить еще 1 ГБ из этих 3.5 ГБ. Если кому-то чего-то не хватит, то ОС сольет данные на HDD, но всегда есть гарантия, что у ОС есть 3.5 ГБ, а у игры 1 ГБ, хотя на физическом уровне доступно только 3.5 ГБ.

Ссылка на комментарий
Поделиться на других сайтах

Хм получается архитекторы не смогли полностью отказаться от этой "свободной памяти, видимо какая то часть не так хорошо оптимизирована и при интенсивном использовании, начинает эту память жрать - что плохо.
Ссылка на комментарий
Поделиться на других сайтах

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

Ссылка на комментарий
Поделиться на других сайтах

Но разве мы получим 176gb/s не при условии, что все 16 GDDR5 чипов работают, а если 5 из них заняты ос получится 121gb/s? Просто помню как считали пропускную способность xone, по количеству ddr3 чипов на плате..

Ссылка на комментарий
Поделиться на других сайтах

 

Но разве мы получим 176gb/s не при условии, что все 16 GDDR5 чипов работают, а если 5 из них заняты ос получится 121gb/s? Просто помню как считали пропускную способность xone, по количеству ddr3 чипов на плате..

Да не может быть такого. Память равномерно размазывается по всем чипам.

Ссылка на комментарий
Поделиться на других сайтах

Да не может быть такого. Память равномерно размазывается по всем чипам.

Ну...наврятли прям "размазывается" :D  наверное все определено шириной шины

Ссылка на комментарий
Поделиться на других сайтах

Да не может быть такого. Память равномерно размазывается по всем чипам.

Ну вот коммент на эту тему, чел. явно знает о чем говорит.

 

176 GB/s - сумма от всех чипов памяти, которые формируют так называемую ширину шины памяти 256-бит.

количество чипов определяет это значение.

 

если 40% памяти резервируется под ось и недоступно разработчикам, то соответственно только 60% ширины шины памяти будет использоваться в играх, потому что природа адресного пространства памяти такова, что проблематично в каждом чипе памяти по чуть-чуть отжать под ось.  часть чипов памяти заберутся целиком под ось, чтобы не возникало "островков" в адресном пространстве, какие-то останутся доступными под игры. это на уровне железа.

 

т.е. чтобы достичь объявленных 176GB/s надо, чтобы каждый чип памяти активно работал, а не простаивал под операционной системой.

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

 

вообще, если б сказали не 4.5гб, а просто 4гб, то я бы подумал, что там оставили адресное пространство в 32бит, остальное доступно как виртуальная память и всё было бы понятно, но слух построен на том, что доступно всё же 4.5, а как виртуалка только +1 гиг, что не вписывается в догадку.

Ссылка на комментарий
Поделиться на других сайтах

Ну вот коммент на эту тему, чел. явно знает о чем говорит.

следуя этой логике, чем больше данных в памяти, тем меньше ее скорость  :genius:

парни, не надо такое читать...

Ссылка на комментарий
Поделиться на других сайтах

Вообще да, он прав. Ширина шины считается как сумма с каждого чипа - у GDDR5 она равна вроде бы 32 битам, что дает 8 чипов. Потом это умножается на частоту памяти и получается пропускная способность для идеального случая, когда все чипы параллельно отдают данные. Как-то я забыл про этот феномен у памяти.

И действительно получается, если мы делим физически адресное пространство (а только так и имеет смысл делать для консолей), то явно часть чипов будет попросту отдана ОС, а значит и шина для игрового адресного пространства сужается. Хотя я не вижу причин, чтобы каждый чип отдавал под ОС по чуть чуть своего объема. Разруливание адресов может легко делаться в контроллере памяти без малейших задержек. Никто не говорил, что физический адрес 0х1 и физический адрес 0х2 обязаны быть в одном чипе памяти, про это ни процессор, ни GPU ничего знать не могу и не должны знать, это дело контроллера. И тем более до этого софту никакого дела. Банально, у каждого адреса может быть тег - мол это память ОС, это память игр. На основе тэга контроллер памяти будет уже перенаправлять сигналы в нужные чипы памяти.

 

Получается у ESRAM еще одно преимущество - она свою шину может занять вне зависимости от того как и откуда берутся из нее данные. Это один кусок кремния с огромной шиной.

Ссылка на комментарий
Поделиться на других сайтах

Вообще да, он прав. Ширина шины считается как сумма с каждого чипа - у GDDR5 она равна вроде бы 32 битам, что дает 8 чипов. Потом это умножается на частоту памяти и получается пропускная способность для идеального случая, когда все чипы параллельно отдают данные. Как-то я забыл про этот феномен у памяти.

И действительно получается, если мы делим физически адресное пространство (а только так и имеет смысл делать для консолей), то явно часть чипов будет попросту отдана ОС, а значит и шина для игрового адресного пространства сужается. Хотя я не вижу причин, чтобы каждый чип отдавал под ОС по чуть чуть своего объема. Разруливание адресов может легко делаться в контроллере памяти без малейших задержек. Никто не говорил, что физический адрес 0х1 и физический адрес 0х2 обязаны быть в одном чипе памяти, про это ни процессор, ни GPU ничего знать не могу и не должны знать, это дело контроллера. И тем более до этого софту никакого дела. Банально, у каждого адреса может быть тег - мол это память ОС, это память игр. На основе тэга контроллер памяти будет уже перенаправлять сигналы в нужные чипы памяти.

 

Получается у ESRAM еще одно преимущество - она свою шину может занять вне зависимости от того как и откуда берутся из нее данные. Это один кусок кремния с огромной шиной.

Я же как раз об этом и спрашивал, а вы ответили "как-то по другому" Т_Т

Ссылка на комментарий
Поделиться на других сайтах

Да просто тупо отжирать именно чипы памяти, а не их части)
Ссылка на комментарий
Поделиться на других сайтах

Я же как раз об этом и спрашивал, а вы ответили "как-то по другому" Т_Т

Есть такая аномалия, фрагментация оперативной памяти, это как раз когда на одной банке скапливается много данных одного приложения и все обращения идут исключительно к этой банке со всеми вытекающими. Но сейчас контроллеры сами следят за тем чтобы все банки памяти заполнялись равномерно.

Ссылка на комментарий
Поделиться на других сайтах

Есть такая аномалия, фрагментация оперативной памяти, это как раз когда на одной банке скапливается много данных одного приложения и все обращения идут исключительно к этой банке со всеми вытекающими. Но сейчас контроллеры сами следят за тем чтобы все банки памяти заполнялись равномерно.

Фрагментация памяти означает совершенно другое.
Ссылка на комментарий
Поделиться на других сайтах

Ты мне хочешь сказать что в этой реальности невозможно собрать идентичные (кроме объема двигателя) феррари?

В мире не бывает 2х одинаковых вещей. Даже отштампованная ложка будет иметь на молекулярной структуре отличия от "клона"

 

Технологии сжатия тоже на месте не стояли, как и разработка новых алгоритмов работы с памятью.

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

 

Обалдеть 8ГБ оперативы это можно весь диск Xbox 360 в память загрузить)))

Нельзя. Образ (копия) диска весит 8,13гб.
Ссылка на комментарий
Поделиться на других сайтах

В мире не бывает 2х одинаковых вещей. Даже отштампованная ложка будет иметь на молекулярной структуре отличия от "клона"

Нельзя. Образ (копия) диска весит 8,13гб.

Однослойный двд можно и сд ))))
Ссылка на комментарий
Поделиться на других сайтах

 

Нельзя. Образ (копия) диска весит 8,13гб.

Но реальных данных всегда меньше

Ссылка на комментарий
Поделиться на других сайтах

Однослойный двд можно и сд ))))

Это информация будет. А химический состав на доли % и т.д. будут отличаться. Это не скажется на работоспособности, но тем не менее.
Ссылка на комментарий
Поделиться на других сайтах

Это информация будет. А химический состав на доли % и т.д. будут отличаться. Это не скажется на работоспособности, но тем не менее.

Зануда :bla:

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для дальнейших сообщений.
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...