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

 

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

 

 

Не секрет, что мно­гие из нас любят по­баловаться в свобод­ное время компьютерными играми. Большинство онлайн игр реали­зованы по клиент-серверной технологии: у игрока на пер­сональном компьютере раз­мещается некий front-end, по сути, графический интер­фейс, а со стороны сервера — обыкновенная база данных, работающая под управлени­ем собственного движка. Та­кая схема дает возможность существенно снизить нагрузку на сеть, поскольку передают­ся только данные об измене­ниях положения игрового пер­сонажа в пространстве и его действиях, а также команды с мыши и клавиатуры. В об­ратную сторону аналогичным образом передаются данные клиенту, в том числе геодата, объекты и информация о дру­гих персонажах, управляемых компьютером и игроками.

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

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

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

Прочитать полностью