IROV..
> Стриминг очень опасная чтука для геймплея
Чем? (сразу оговорюсь, я про граматные реализации)
> если это видео или звук в __отдельном потоке__ то и ладно
Э... простите, а как вы себе это в не отдельного потока представляете. Хотя чисто сами обращения к диску можно через AIO сделать (на винде так и вообще сказка).
> есть куча ситуация, когда отклик от HDD превосходит все мысленные рамки :)
О каких ситуациях речь? Если о засыпании диска, то решение простое - запрос 4КБ фрагмента с минимальным приоритетом раз в минуту. Да и потом, те кто играет уже несколько лет отходят от HDD ибо стрёмно. Сейчас уже массовые SSD идут, а за ~500 баксов можно вообще хорошую модель взять (для игрового компа вполне нормально).
> По этому все важные данные обычно загружают до их применения.
1) Если они влазят в ОЗУ
2) Никто не запрещает загрузить самый плохой лод модели/текстуры (а ведь большие именно он), а остальное по запросу
> Префетчер это только попытка размазать "Лоадинг-скрин" по игре.
А вот эта идея мне как раз кажется более стрёмной. Тут лучше сразу определится какие данные всегда есть (а пока их нету, никакой игры), а какие могут быть доступны/не доступны (и что делать когда они недоступны, чтобы игру не локать).
> Но если мы попадаем в сцену и префетчер облажался, нужно вывешивать "Лоадинг-скрин"
А вот такой фигни точно нужно избегать всеми мыслимыми средствами. (сразу оговорюсь, что в первую очередь сужу с точки зрения клиента для ММОРПГ).
> Игрок простит минутное ожидание, но не простит Лаг-деад ("Поссоны поссоны у меня лагало!").
Это да, вот только это не связано со стримингом напрямую.
Давай разделим стриминг и префетчинг на логическом уровне. Стримтнг подразумевает работу по живому. Мы в плотую как с ютубом зависим от источника. В моем ца нетбуки. Там винт любит защищаться от трясучки методом отвода питания дробь головки. Достать в это время данные это как к богу помолиться. Отсюда можно словить неприятности. По поводу лодов это опять компромисс с клиентом. В моем случае 2d игр. Я не могу это представить 😇 в общем все как всегда есть разные методики а есть нюансы при выборе.
В общем главное что бы была возможность выбрать и настроить поставщика контента 🍺
А сейчас у меня проект где весь 90% контента будет через http это не ново но новые горизонты попо-боли обеспечены 😁
IROV..
> Давай разделим стриминг и префетчинг на логическом уровне.
Согласен, т.к. это разные вещи и про разное :)
> Стримтнг подразумевает работу по живому.
Верно
> В моем ца нетбуки. Там винт любит защищаться от трясучки методом отвода питания
> дробь головки. Достать в это время данные это как к богу помолиться. Отсюда
> можно словить неприятности.
Ага. Ну тогда ясно. Спецефика оборудования. По той же причине у меня с этим вообще проблем нет :) Исходя из этого обсуждать стриминг, сжатие и т.д. возножно только исходя из чёткой спецефики проекта. Согласен?
> По поводу лодов это опять компромисс с клиентом.
Ну а что делать если в память не влазит? Уменьшать качество - так это тоже компромис, причём худший чем ВОЗМОЖНОЕ снижение детализации на пару кадров, если загрузить не успели.
> А сейчас у меня проект где весь 90% контента будет через http это не ново но новые горизонты попо-боли обеспечены 😁
Ну с HTTP скорость разжатия вообще роли не играет, т.к. мне сложно представить загрузку по HTTP быстрее 10-12МБ/с (на такой скорости можно LZMA на полную юзать). Короче опять спецефика, спецефика и еще раз спецефика :)
Bishop
Вот я о том и говорю что везде специфика и серебренной пули нет. По этому нужно рассматривать только варианты трюков. А каждый подберет себе свой. Кстати интересно есть такой справочник по трюкам? 👯
По лодам я извращался когда делал ммо twinity. Это типо секонд-лайф. Надо найти инвесторов которые захотят дать денег на разработку. С удовольствием занялся но увы 😔 у нас сейчас война превыше всего 😈
Тема в архиве.