Играть без "тормозов" или как я сделал 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


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