Играть без "тормозов" или как я сделал RAID массив для онлайн-игры
Ключевая проблема с фризами в играх заключается имен¬но в недостаточной скорости работы с жесткими диска¬ми — когда игровому меха¬низму придет в голову сроч¬но подгрузить недостающие текстуры, неизвестно даже разработчикам. Зато извест¬но, что в сложных игровых ситуациях он может делать это непрерывно: например, в осаде замка может участво¬вать несколько сотен человек, а также персонажей, управля¬емых компьютером. Нетруд¬но догадаться, что в такой ситуации скорость дисковой подсистемы сыграет решаю¬щую роль — при ее недоста¬точности вместо динамичной яркой игры мы имеем поша¬говую стратегию с рывками, притормаживаниями и жут¬ким дискомфортом. Все это подвигло меня на¬чать эксперименты над уско¬рением работы с дисками. В то время 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, он пой¬дет в качестве системного диска. Мало того, что систе¬ма загружается с него очень оперативно, так и своп-файл не тормозит работу. Хотя, ко¬нечно, это уже избыточная роскошь для домашней ра¬бочей станции — но не вы¬брасывать же его?
Компьютерный Ремонт
:RominRemont 🇷🇺
Играть без "тормозов" или как я сделал RAID массив для онлайн-игры
Ключевая проблема с фризами в играх заключается имен¬но в недостаточной скорости работы с жесткими диска¬ми — когда игровому меха¬низму придет в голову сроч¬но подгрузить недостающие текстуры, неизвестно даже разработчикам. Зато извест¬но, что в сложных игровых ситуациях он может делать это непрерывно: например, в осаде замка может участво¬вать несколько сотен человек, а также персонажей, управля¬емых компьютером. Нетруд¬но догадаться, что в такой ситуации скорость дисковой подсистемы сыграет решаю¬щую роль — при ее недоста¬точности вместо динамичной яркой игры мы имеем поша¬говую стратегию с рывками, притормаживаниями и жут¬ким дискомфортом.
Все это подвигло меня на¬чать эксперименты над уско¬рением работы с дисками. В то время 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, он пой¬дет в качестве системного диска. Мало того, что систе¬ма загружается с него очень оперативно, так и своп-файл не тормозит работу. Хотя, ко¬нечно, это уже избыточная роскошь для домашней ра¬бочей станции — но не вы¬брасывать же его?