|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Игры » как работает винт и оператива в играх? |
|
как работает винт и оператива в играх?
|
![]() Забанен Сообщения: 413 |
У меня общий вопрос о работе оперативы и жёсткого диска в играх.Вот допустим миссия вначале загрузилась с жёсткого в оперативу.Она целиком загружается или в процессе игры все равно идут подгрузки с винчестера? Почему все сразу не грузится в оперативу чтобы не было необходимости обращаться к медленному винту в ходе игры? Или это игры так сделаны? Короче интересует-подгрузки текстур все равно с винта идут? А почему они сразу не записываются в быструю память? Тем более оперативы навалом...
|
|
Отправлено: 12:36, 30-12-2013 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Зависит от игры. В играх, разбитых на отдельные небольшие секторы, их загрузка может происходить целиком.
В играх, реализующих подобие "открытого мира", всегда изначально загружаются только близлежащие области, а в процесссе игры необходимые геометрия и текстуры подгружаются с диска. Почему не загружается всё сразу? По тысяче причин. Причина первая состоит в том, что никому это не нужно. Загрузка в любом случае происходит в фоновом режиме, так что никакого улучшения процесса игры от предзагрузки Вы не почувствуете. Для проверки я пробовал копировать игры целиком на RAMдиск и сравнивал впечатления - никакой разницы. К тому же, при наличии свободной памяти всегдпа можно считать файлы игры в дисковый кэш. Результат будет тот же, что и от записи на RAMдиск (даже, по моим измерениям, доступ будет осуществляться на несколько процентов быстрее). А теперь подумайте вот о чём: сколько времени будет стартовать игра, заранее считывающая в ОЗУ все 10-15ГБ своих файлов? Другая причина состоит в том, что большой объем ОЗУ на сегодняшний день скорее исключение, чем правило. Поэтому не слишком разумно для игры пытаться отожрать себе в несколько раз больше, чем ей реально необходимо. Подгрузку всё равно придется реализовывать для игроков со слабыми компьютерами, так какой смысл писать дополнительный код для тех, у кого ОЗУ много? Третья причина состоит в том, что игры часто выпускаются в виде 32-хбитных исполняемых файлов. Соответственно, загрузить данные в память одного процесса в люблм случае не получится. Создавать дополнительные нити просто для хранения данных? А зачем, когда их можно прочитать непосредственно перед тем, как они понадобятся? Причина четвертая: возможность доработки и расширения программ (например, путем выпуска дополнений). Если делать так, как Вы предлагаете, системные требования по объему памяти будут меняться после каждого нового DLC. И пользователь будет со счетами в руках прикидывать, на сколько DLC ему хватит памяти и какие лучше выбрать. И так далее, до бесконечности... |
------- Отправлено: 16:03, 30-12-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 5828
|
Цитата AMDBulldozer:
|
|
Последний раз редактировалось Coutty, 06-01-2014 в 11:00. Причина: исходное сообщение перенесено Отправлено: 10:17, 06-01-2014 | #3 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата bogmut:
Цитата Leha Ares:
|
||
------- Отправлено: 13:47, 06-01-2014 | #4 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Цитата Leha Ares:
Они перемещают игрока в некоторое произвольное место, окружение которого, понятно, отсутствует в памяти компьютера. Поэтому его приходится загружать в процессе перемещения. Это абсолютно тот же процесс, который имеет место при загрузке сохранения. Сильно сомневаюсь, чтобы его можно было решить "парой строчек кода". |
||
------- Отправлено: 15:11, 06-01-2014 | #5 |
Забанен Сообщения: 5828
|
Цитата AMDBulldozer:
Цитата AMDBulldozer:
|
||
Отправлено: 16:19, 06-01-2014 | #6 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Цитата Leha Ares:
![]() В качестве иллюстрации приведу простейший пример: заходите в помещение с порталом, запирая за собой дверь (к примеру, консольной командой "lock"). Телепортируетесь. Спутник мгновенно появляется рядом, хотя воспользоваться телепортом он не мог (а на то, чтобы пройти к телепорту сквозь препятствие, как NPC делают если путь заблокирован, у него просто времени не было). Или пишете телепорт отправляющий проходящего в случайное место. Думаете спутника туда выбросит? Как бы не так! Он всегда окажется рядом. Кстати, заметьте, что NPC никогда не пользуются телепортами Frostcrag spire. Даже если послать их в город, стоя прямо рядом с его порталом. Алгоритм прокладывания маршрута, как уже было отмечено, принципиально игнорирует телепорты. В чем разница, спросите Вы? Она принципиальна - если программист заранее не предусмотрел возможность, скажем, стражнику зайти в дом, а спутнику следовать за героем, то он этого сделать и не сможет. Множество раз видел такое в Oblivion. Про мобов, которые не могут выходить из инстансов WoW, полагаю можно даже не упоминать. Цитата Leha Ares:
|
||
------- Последний раз редактировалось AMDBulldozer, 06-01-2014 в 18:19. Отправлено: 17:27, 06-01-2014 | #7 |
Забанен Сообщения: 5828
|
Цитата AMDBulldozer:
Ну а алгоритм спутников лучше вообще не трогать. Он представляет из себя злейшие костыли и крайне несовершенен. |
|
Отправлено: 19:42, 06-01-2014 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
новая оператива. комп не подает признаков жизни | Djonya | Материнские платы и память | 17 | 01-04-2013 11:37 | |
MSFT SQL Server - sql, 1C, win2008r2 и оператива(хавает как по секундам) | santey007 | Программирование и базы данных | 7 | 03-12-2012 14:22 | |
Разное - Оператива | Rubichek | Прочее железо | 3 | 09-04-2011 02:36 | |
HDD - Винт не работает. | kda12 | Накопители (SSD, HDD, USB Flash) | 5 | 21-03-2008 11:17 | |
винт работает странно | bruder | Непонятные проблемы с Железом | 12 | 15-11-2007 15:35 |
|