Комментарии 83
где вы раньше были… я же по этой причине играть перестал. наверно снова начну!)
+7
так а толку? все равно таймер еще ждать.
+1
Ага :) С 4gb в ноуте долго происходит только первая загрузка, потом файловый кэш в Win7 делает своё дело. Даже если из игры выйти и запустить чуть позже.
2tangro: Хороший детектив, прочитал с удовольствием :) я думаю там дело в seek, т.к. файлы вероятно читаются не в порядке инсталляции (т.е. не в порядке размещения на жёстким диске) и это, скорее всего так же касается чтения кусков из «pak» fsb файлов в каталоге audio. Но это гипотеза :) и как такое ускорить через хуки — с ходу тяжело придумать…
Есть идея отпрофайлить, в каком порядке это чтение чаще всего происходит и на основании этой информации сделать «дефрагментированную» пересборку файлов игры, куда потом и перенаправлять вызовы OpenFile/ReadFile. Метод, в принципе, довольно универсальный — может не только танкам пригодиться :)
2tangro: Хороший детектив, прочитал с удовольствием :) я думаю там дело в seek, т.к. файлы вероятно читаются не в порядке инсталляции (т.е. не в порядке размещения на жёстким диске) и это, скорее всего так же касается чтения кусков из «pak» fsb файлов в каталоге audio. Но это гипотеза :) и как такое ускорить через хуки — с ходу тяжело придумать…
Есть идея отпрофайлить, в каком порядке это чтение чаще всего происходит и на основании этой информации сделать «дефрагментированную» пересборку файлов игры, куда потом и перенаправлять вызовы OpenFile/ReadFile. Метод, в принципе, довольно универсальный — может не только танкам пригодиться :)
+1
Хм. То есть решением было бы ssd поставить, угу)
+4
SSD != RAM-диск
+4
Да, но он бы решил проблему с медленной загрузкой карт.
К тому же не тешьте себя, настоящий «правильный» ram-disk бывает только в linux/unix. Так что ваше решение != RAM-диск тоже.
К тому же не тешьте себя, настоящий «правильный» ram-disk бывает только в linux/unix. Так что ваше решение != RAM-диск тоже.
0
«Настоящий правильный RAM-диск» — в смысле такой, который никогда не будет выгружен в своп? Или что?
+1
В смысле который /dev/shm — может монтироваться куда угодно, быть частью RAID1 (нам же ведь чтение нужно быстрое, а запись может и подождать, зато данные будут в сохранности). И вообще может выступать полноценным блочным устройством, а не виртуальным огрызком.
+1
Монтироваться куда угодно может и junction в Windows — в любую папку.
Не могу понять, зачем в данной ситуации зеркало. Зеркало нужно, чтобы ускорить чтение, поделив его между двумя дисками. Тут RAM все равно будет быстрее, чем диск. Запись никакая в этом сценарии не нужна.
Лучше всего было бы сделать так: сделать в RAM копию данных и выкинуть ее, когда у нас будет мало памяти. О черт, это называется файловый кеш, он в Windows есть, и если взять версию не десятилетней давности, а какую-нибудь поновее, где он лучше работает, то все будет работать без RAM-диска. Что же получается? Не нужен RAM-диск, не нужен RAID1, не нужен Linux — все работает и так…
Не могу понять, зачем в данной ситуации зеркало. Зеркало нужно, чтобы ускорить чтение, поделив его между двумя дисками. Тут RAM все равно будет быстрее, чем диск. Запись никакая в этом сценарии не нужна.
Лучше всего было бы сделать так: сделать в RAM копию данных и выкинуть ее, когда у нас будет мало памяти. О черт, это называется файловый кеш, он в Windows есть, и если взять версию не десятилетней давности, а какую-нибудь поновее, где он лучше работает, то все будет работать без RAM-диска. Что же получается? Не нужен RAM-диск, не нужен RAID1, не нужен Linux — все работает и так…
+7
Зеркало нужно для того, чтобы данные всегда писались на диск, если изменятся.
И да — файловому кешу нередко сносит башню, так что он здесь совсем не подходит. Например, просмотр фильма тяжелого вполне может выкинуть все файлы системы из памяти.
И да — файловому кешу нередко сносит башню, так что он здесь совсем не подходит. Например, просмотр фильма тяжелого вполне может выкинуть все файлы системы из памяти.
+1
«Зеркало нужно для того, чтобы данные всегда писались на диск, если изменятся.»
Добро пожаловать в мир файлового кеша :))
«Просмотр фильма тяжелого вполне может выкинуть все файлы системы из памяти» — download.microsoft.com/download/8/C/2/8C21BAFE-3432-48D1-962A-F7A9DD54A2AC/Windows%207%20and%20Windows%20Server%202008%20R2%20Kernel%20Changes.pptx слайд №17
Добро пожаловать в мир файлового кеша :))
«Просмотр фильма тяжелого вполне может выкинуть все файлы системы из памяти» — download.microsoft.com/download/8/C/2/8C21BAFE-3432-48D1-962A-F7A9DD54A2AC/Windows%207%20and%20Windows%20Server%202008%20R2%20Kernel%20Changes.pptx слайд №17
+2
не вводите людей в заблуждение, /dev/shm (tmpfs), не является полноценным рамдиском, и запросто может попадать в своп.
настоящий ramdisk это блочное устройство(/dev/ram0, например), созданное из выделенного фрагмента оперативной памяти, которое можно отформатировать в любую желаемую файловую систему.
настоящий ramdisk это блочное устройство(/dev/ram0, например), созданное из выделенного фрагмента оперативной памяти, которое можно отформатировать в любую желаемую файловую систему.
0
swapiness для кого придуман?
-1
Смешались в кучу люди, кони…
vm.swapiness придуман не для того, чтобы какой-то определенный фрагмент памяти запретить свопить. Он не умеет этого делать. Он указывает system-wide политику свопинга и ничего более.
А дальше действует стандартный своппер, просто его агрессивность и порог срабатывания будут другими.
Можно, конечно, выставить там 0 или вообще сделать swapoff -a (и да, получить гарантию от свопинга), но это не решение (т.к. ненужные данные в своп не попадут тоже, втупую забив память и не позволяя адекватно работать дисковому кэшу в памяти) во-первых и ведет к непредсказуемым глюкам в случае жесткого oom во вторых.
vm.swapiness придуман не для того, чтобы какой-то определенный фрагмент памяти запретить свопить. Он не умеет этого делать. Он указывает system-wide политику свопинга и ничего более.
А дальше действует стандартный своппер, просто его агрессивность и порог срабатывания будут другими.
Можно, конечно, выставить там 0 или вообще сделать swapoff -a (и да, получить гарантию от свопинга), но это не решение (т.к. ненужные данные в своп не попадут тоже, втупую забив память и не позволяя адекватно работать дисковому кэшу в памяти) во-первых и ведет к непредсказуемым глюкам в случае жесткого oom во вторых.
0
shared memory совсем для другого создан.
0
Решил бы, но вопрос цены и наличия этого SSD в компьютере. Каждому решению свое место, в данном описанном случае выгрузить в оперативную память часть компонентов — было очень хорошим решением на мой взгляд.
+2
SSD уже дешевле флешек.
-4
НЛО прилетело и опубликовало эту надпись здесь
Флешки от 2276 рублей , SSD на 60 GB от 2550. При попытке купить адекватную флешку и адекватный SSD — цена одинакова.
0
Упс, извиняюсь, не ваше, а автора.
0
Начиная с висты можно было заюзать софтлинки вместо junction.
Ну а насчет нарушения соглашения — строго говоря вы же не вмешиваетесь в работу игры, а вмешиваетесь в работу системы (если править таблицу экспорта или использовать сплайсинг, вместо хука IAT).
То есть модификации идёт в памяти системных библиотек, а не файлов игры.
Ну а насчет нарушения соглашения — строго говоря вы же не вмешиваетесь в работу игры, а вмешиваетесь в работу системы (если править таблицу экспорта или использовать сплайсинг, вместо хука IAT).
То есть модификации идёт в памяти системных библиотек, а не файлов игры.
+2
Там весьма мощное соглашение. Хуки вполне подпали бы под какое-то «изменения алгоритмов работы» и т.д.
0
Ну я не юрист, но, прочитав здесь, не вижу никаких сложностей.
Краем задевает только пункт 4.4: «не модифицировать Проект».
«Проект — Игра + Пользователи + Модераторы + Администрация.»
«Игра — Программа + Сайт + Контента + Материалы»
«Программа — компоненты программного обеспечения, как отдельные, так и в совокупности, размещенные Администрацией или Разработчиком на Сайте, на сайтах третьих лиц в сети Интернет, DVD дисках и других носителях информации, и специальным образом отмеченные как составные части «World of Tanks».»
Собственно не вижу каким образом какой-нибудь kernel32.dll или ntdll.dll вписывается в эти определения.
Ну и алгоритмов тоже упоминания не встретил.
PS: ерунда у них, а не мощное соглашение, видно что писали по большей части программисты, а не юристы :)
Краем задевает только пункт 4.4: «не модифицировать Проект».
«Проект — Игра + Пользователи + Модераторы + Администрация.»
«Игра — Программа + Сайт + Контента + Материалы»
«Программа — компоненты программного обеспечения, как отдельные, так и в совокупности, размещенные Администрацией или Разработчиком на Сайте, на сайтах третьих лиц в сети Интернет, DVD дисках и других носителях информации, и специальным образом отмеченные как составные части «World of Tanks».»
Собственно не вижу каким образом какой-нибудь kernel32.dll или ntdll.dll вписывается в эти определения.
Ну и алгоритмов тоже упоминания не встретил.
PS: ерунда у них, а не мощное соглашение, видно что писали по большей части программисты, а не юристы :)
0
Интересно: аудио 200 мб, всего 16 файлов, а грузится дольше всех — 14.48 сек…
+1
tangro, какая у вас ОСь?
0
Творения Руссиновича, как обычно — лучшие.
0
Недавно купил SSD и поставил WOT на него. Теперь появляюсь на карте одним из первых, и очень часто самым первым.
0
Use Windows Vista/7. С таким объемом оперативки кеш винды сделает ровно то же самое на автомате.
+11
Первый раз после запуска игры карта всё равно долго грузится. Но вот потом да, мгновенно.
0
А вот не делает. Пробовал раз 5 подряд входить в бой — иногда быстрее, а иногда всё-равно время доступа к отдельным папкам очень большое. А в моём способе есть определённый детерминизм.
0
Не сделает. Точнее, в идеальных условиях свободной памяти и чистого кэша — сделает, да. В реальной работе (с кучей фоновых приложений, в т.ч. работающих с диском) — эффект будет куда менее выражен.
0
То же самое в обязательном порядке делается с игрой Lineage2) Только там защита блокирует сторонние программы мониторинга (встроенный монитор ресурсов Windows работает отлично). Больше всего в Lineage2 клиент мучает папочку SysTextures, ее я и перенес на рамдрайв) После пробы разных рамдрайвов остановился на Dataram RAMDisk — при загрузке системы монтирует образ, при выключении системы сохраняет образ (для MMO игр это очень актуально, ибо данные постоянно обновляются), а главное нет проблем со спящим режимом)
+1
В общем, нужно использовать современную операционную систему, а не ОС десятилетней давности.
4 Гб вполне годятся, чтобы обновиться до Windows 7.
Это не так и дорого, а все то же самое вы бы получили без RAM-дисков.
4 Гб вполне годятся, чтобы обновиться до Windows 7.
Это не так и дорого, а все то же самое вы бы получили без RAM-дисков.
0
вообще есть другая идея для ускорения, не жертвуя ОЗУ.
это использование утилитки, которая дает план загрузки файлов (как в этой статье), а дальше использование mydefrag, для создания областей на диске в которых в определенном порядке лежат файлы. Это ускоряет не меньше.
Сейчас и oo defrag чем то подобным распологает, но не так гибко настраиваемо, как в mydefrag.
например есть скрипт для WoW под mydefrag, после этого, вы сразу почуствуете, скорость загрузки WoW(world of warcraft).
это использование утилитки, которая дает план загрузки файлов (как в этой статье), а дальше использование mydefrag, для создания областей на диске в которых в определенном порядке лежат файлы. Это ускоряет не меньше.
Сейчас и oo defrag чем то подобным распологает, но не так гибко настраиваемо, как в mydefrag.
например есть скрипт для WoW под mydefrag, после этого, вы сразу почуствуете, скорость загрузки WoW(world of warcraft).
+2
Если бы вы написали точнее, то был бы крайне признателен.
0
Тут
скрипт. прогу тоже берешь и в путь.
чтобы придумтраь скрипт, нужно почитать хелп и посмотреть примеры других скриптов.
дляэтого скрипта лучше, когда wow на отдельном разделе диска. так как дефрагментацию надо производить с каким то периодом, и это будет быстрее, чем на смешанных данных.
вообще это скрипт, не только грузит wow быстрее, но и убирает лаги в прорисовке сцен.
скрипт. прогу тоже берешь и в путь.
чтобы придумтраь скрипт, нужно почитать хелп и посмотреть примеры других скриптов.
дляэтого скрипта лучше, когда wow на отдельном разделе диска. так как дефрагментацию надо производить с каким то периодом, и это будет быстрее, чем на смешанных данных.
вообще это скрипт, не только грузит wow быстрее, но и убирает лаги в прорисовке сцен.
+1
Хм, у меня все резво загружается с обычного hdd. А для начала дефрагментировать диск не пробовали. Таким образом, чтобы все файлы в папке лежали в одной куче, а не по всему диску были раскиданы.
0
Мне для достижения приемлемой скорости загрузки достаточно оказалось поставить винт WD Caviar Black. Хотя исследование, безусловно, интересное.
-1
Какой то геморой… обычно первый загружаюсь и без него. И винт не ссд и инет «гавно». А в общем всё равно ждать придётся всех остальных. А движок кончено у них изначально был старый и то что он до сих пор справляется как раз заслуга не кривых рук программистов.
0
Хм, у меня стоит Win 7 pro 64-bit, 8Gb оперативки и я загружаюсь быстрее всех, без всяких танцев с бубнами…
-3
У них движок ппц тормозной.
-2
Link Shell Extension — по моему опыту самая удобная утилита с гуем для создания ссылок в win:
schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
+1
Хабр торт — спасибо автору за статью!
Офтоп: неужели в WOT(не играл) есть Меркава?
Офтоп: неужели в WOT(не играл) есть Меркава?
+1
Может я что-то упустил, но есть же команда mklink (вроде). Позволяет создавать символические ссылки в windows (с какой версии — не помню). Пользовался ей для таких же целей.
0
А мне наоборот нравится что танки у меня грузятся секунд 15-25.
А то появляешься первым на карте и сидишь ждёшь остальных.
А то появляешься первым на карте и сидишь ждёшь остальных.
0
11г весит? Почисти папку с апдейтами и у тех у кого 8г оперативки — все влезет на рам диск
0
По Alt+F6 в FAR Manager давно умеет «hard links for files, junctions for folders and symbolic links for files and folders»
0
Нафига такие заморочки?
На форуме игры есть пережатые ресурсы игры. Причем с разной степенью сжатия.
На глаз разницы в качестве графики не заметно, а ускорение не только загрузки, но и ФПС в самой игре поднимает.
На форуме игры есть пережатые ресурсы игры. Причем с разной степенью сжатия.
На глаз разницы в качестве графики не заметно, а ускорение не только загрузки, но и ФПС в самой игре поднимает.
+3
Данные сжаты? Если нет, то может сжать папку с помощью NTFS compression и сделать дефрагментацию?
0
Ну так ведь все равно приходится ждать столько же времени как и раньше! Разве что поговорить можно до окончания отсчета…
0
Покупайте SSD и будет вам счастье, у меня секунд за 10 загружается любая карта
-1
Эх… Сначала я купил дорогую видюху, но как оказалось, это не помогло.
Проблему с долгой загрузкой я решил переносом игры на второй винчестер — не знаю всего механизма, но скорость загрузки увеличилась раза в два. Возможно потому что временные файлы на одном винте, а читаются файлы с другого винта.
А вот как решить проблему при игре на ноуте — не знаю. У меня Lenovo y430, c2duo, 2G ram, и там стоит видюха жифорс 9300М. Параметры вроде хорошие, но 10-15 фпсов… Можно ли пофиксить?
п.с. Игровой движок от БигВорлда — ужоснах. Там гигантское количество багов. Что бы его допилить надо гинатское количество кода переписать, и хаков применить.
Проблему с долгой загрузкой я решил переносом игры на второй винчестер — не знаю всего механизма, но скорость загрузки увеличилась раза в два. Возможно потому что временные файлы на одном винте, а читаются файлы с другого винта.
А вот как решить проблему при игре на ноуте — не знаю. У меня Lenovo y430, c2duo, 2G ram, и там стоит видюха жифорс 9300М. Параметры вроде хорошие, но 10-15 фпсов… Можно ли пофиксить?
п.с. Игровой движок от БигВорлда — ужоснах. Там гигантское количество багов. Что бы его допилить надо гинатское количество кода переписать, и хаков применить.
0
Пожмите ресурсы, очень помогает. На форуме у них есть паки со степенью сжатия 50%, 25% и 12.5%. На не самых лучших настройках разницы не заметите. Заодно и ФПС повысите. Правила, я думаю, это не нарушает, иначе давно закрыли бы эту тему на форуме.
0
Пожмите ресурсы. На форуме игры есть тема с паками со степенью сжатия 50%, 25% и 12.5%. Ускоряет загрузку и ФПС игры. На не самых лучших настройках разницы не заметите.
0
На моем Acer Revo R3610 после (да и до тоже не напрягало) урезания текстур стало грузиться в считанные секунды. Правда, все выглядит, как картины Ван Гога и FPS максимум до 12 удалось поднять. Странный дизбаланс — на слабом компе у меня грузится быстрее, а в игре тормозит жутко.
0
MacBookPro Mid '10, Win 7: загружаюсь первым.
+1
По вашей статистике из директории audio он прочитал чуть меньше 60 мегабайт в 33 файлах за 14.4 секунд. Думаю у вас просто была сильная фрагментация этих данных.
0
Глянул свой клиент, с перепаковаными текстурами он влезает на 2 ГБ РАМ диск с включенным НТФС сжатием(на распаковку плюем, проца все равно еще несколько ядер простаивающих).
Оставшихся 2х гиг оперативки теоретически хватает для работы игры. На практике проверить не могу, траблы с соединением к серверу.
По крайней мере на запуск клиента дисковых операций 0.3 сек вместо 20+ с винта.
Оставшихся 2х гиг оперативки теоретически хватает для работы игры. На практике проверить не могу, траблы с соединением к серверу.
По крайней мере на запуск клиента дисковых операций 0.3 сек вместо 20+ с винта.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ускоряем загрузку карты в World of Tanks