Играть без "тормозов" или как я сделал RAID массив для онлайн-игры

 ssd

 

 

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

 

  Все это подвигло меня на­чать эксперименты над уско­рением работы с дисками. В то время SSD-накопители су­ществовали только в военно-космических проектах и о них мало кто слышал вообще; это сейчас любой желающий за относительно скромную сумму (2500-3500 руб.) мо­жет приобрести пристойный SSD емкостью в 30-40 Гбайт, но в сравнении с ценами на жесткие диски механи­ческого типа это совершен­но неразумная трата средств. Почему? Элементарно. SSD емкостью в 40 Гбайт обой­дется примерно в 3500 руб., а жесткий диск объемом в 80 Гбайт вдвое дешевле. Впрочем, уже за 1200 руб. можно приобрести 250-Гбайт модель HDD. Итого: имеем или один твердотельный на­копитель минимальной ем­кости, или четыре 80-Гбайт, или три 250-Гбайт хранили­ща за ту же цену.

  Конечно, емкость не столь критична: редкая игра зай­мет 40 Гбайт, как правило, в эти рамки втиснется три-четыре неплохие игруш­ки. Но сразу закрадывается мысль: почему за те же день­ги не получить «еще больше»? В итоге я решил провести экс­перимент с разными объе­мами.

   Естественно, речь шла о RAID-массиве, причем о ва­рианте RAID 0. Такой тип мас­сива позволяет достичь мак­симального быстродействия при очень невысокой надеж­ности (в случае отказа любо­го из дисков данные теряются безвозвратно). Да, это непри­ятно, но в моем случае абсо­лютно некритично: игровые данные хранятся на сервере, а восстановить клиент игры из архива — дело недолгое.

  Итак, в качестве первого эксперимента я создал мас­сив из двух дисков емкостью 250 Гбайт. Почему не 80? Да просто из жадности к дополнительным объемам.

   Подключение дисков в массив не составило труда: учитывая, что оба имеющие­ся в моем системном блоке HDD включены в стандарт­ные порты, я подсоединил оба диска к портам из комплек­та RAID-контроллера и вклю­чил поддержку в BIOS. Един­ственная операция, которая потребовалась,— зайти в настройки массива и ука­зать, что я хочу получить на выходе именно RAID 0. Windows XP SP3 при загрузке даже не отметила факт обна­ружения нового устройства, впрочем, в «Управлении дисками» новый неформа­тированный том уже нали­чествовал. Учитывая неболь­шую емкость дисков, новый том я разбил на два раздела: 30 Гбайт и «все остальное». Первый раздел я отформати­ровал под файловую систему FAT32 — очень хотелось про­верить, а будет ли это влиять на производительность? Вто­рой, разумеется, форматиро­вался под NTFS. Третий диск я установил в обычном режи­ме, не включая в RAID — для сравнения.

   Прежде всего я замерил линейную ско­рость чтения с одиночного диска, и тут у меня появились первые результаты. Преиму­щества FAT32 оказались ми­зерными, их вполне можно было списать на статистиче­скую погрешность. Для игры это также было непринци­пиальным: ни скорость за­грузки собственно клиента, ни скорость прорисовки но­вых локаций после переме­щения не различались.

  Следующий замер я сделал для выяснения времени досту­па: ожидалось, что для масси­ва он не был заметно выше, чем для одиночного диска. И тут я не выдержал: вместо того чтобы провести ряд заме­ров и получить количествен­ные показатели, просто за­пустил игру с тома RAID. Хотя результат был предсказуем, но настолько ощутимого эф­фекта я не ожидал.

Время за­грузки, измеренное при помо­щи секундомера,оказалось не вдвое, а вчетверо мень­ше эталонного! Кроме того, ощутимо ускорилась загруз­ка текстур и прорисовка лока­ций после телепортирования в новые зоны.
Конечно, это не был мгновенный переход, но и не 15-секундное ожида­ние при темном экране!

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

  Осталось проверить, что же произойдет при до­бавлении третьего жесткого диска. Скопировав на всякий случай архив с игрой на SSD, я выключил ПК и подсоеди­нил третий диск в массив. Естественно, после загруз­ки ОС мне пришлось сно­ва переразбить и отформати ровать том, но тут я уже не мудрствовал: сделал один раздел под NTFS, получив та­ким образом диск емкостью в 750 Гбайт. К слову, рабо­тать с таким диском одно удовольствие, копирование данных на него происходит достаточно быстро — осо­бенно с SSD.

   Измеренный прирост про­изводительности составил не «в три раза больше», а чуть меньше. Подозреваю, что на­чали сказываться ограниче­ния контроллера, но это было некритично. Запуск игры про­демонстрировал еще более высокие результаты по ско­рости загрузки: не в шесть раз, а в пять, но и это немало, а в сравнении с SSD — бы­стрее. Прорисовка локаций выполнялась очень быстро, можно сказать, мгновенно. По сути, темный экран наблю­дался всего две-три секун­ды. Пробежка по традицион­ным заполненным игроками местностям показала высо­кую комфортность игры: ни­где ни разу не было отмечено рывков и подтормаживаний, даже при тяжелых настрой­ках графики.

  В целом про­цесс игры стал весьма ком­фортным, что поставило под вопрос необходимость вклю­чения четвертого накопите­ля в состав массива. Так как визуальной разницы в игро­вом процессе не наблюда­ется (даже по сравнению с SSD), можно предполагать, что трех дисков вполне доста­точно для решения пробле­мы. Тем не менее в перспек­тиве я планирую добавить и четвертый диск — он при­годится при работе с систе­мами видеомонтажа.

Поскольку у меня было всего два 80-Гбайт диска, я провел тест 2x2 — ощути­мой разницы не заметил, хотя числовые данные нена­много различались. Думаю, самым показательным ста­нет эксперимент 3x4 — три 250-Гбайт диска с 16-Мбайт кэш-буфером против четырех 80-Гбайт, но с кэшем 8 Мбайт. Подозреваю, что первый вариант будет лучше, но экспери­мент покажет: жена тоже игра­ет в «Линейку» и уже требует таких же комфортных показа­телей по скорости загрузки.

   А что касается SSD, он пой­дет в качестве системного диска. Мало того, что систе­ма загружается с него очень оперативно, так и своп-файл не тормозит работу. Хотя, ко­нечно, это уже избыточная роскошь для домашней ра­бочей станции — но не вы­брасывать же его?

 

 

По материалам журнала IT Expert


Срочно нужен элитный ломбард: заложить в ломбард.;ежедневники в самаре оптом;Алгоритмический кодграббер - кодграббер. Кодграббер. Сканер сигнализаций.;Срочно нужен элитный ломбард: заложить в ломбард.;ежедневники в самаре оптом;Алгоритмический кодграббер - кодграббер. Кодграббер. Сканер сигнализаций.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.