Когда игра выходит в раннем доступе, игроки обычно готовы мириться с багами и нестабильностью. Но недавно вышедшая RPG про пиратов Windrose привлекла внимание совсем по другой причине — она начала активно «убивать» SSD-накопители пользователей. К счастью, разработчики быстро выпустили исправление.

Windrose — это приключение в эпоху пиратства с процедурно генерируемым миром, где можно строить, крафтить, сражаться и грабить. Игра вышла в Early Access в апреле и сразу попала в заголовки новостей. Игроки заметили, что во время обычной игры Windrose записывает на диск до 108 ГБ данных в час. Для обычных HDD это не критично, но для SSD такие нагрузки крайне вредны.
Особенно сильно нагрузка росла, когда персонаж перемещался по базе или управлял кораблём. При этом сам процесс записи был крайне неэффективным.
Почему страдают SSD
Проблема крылась в выбранной разработчиками системе хранения данных — RocksDB. Игра запускала сразу три отдельные базы с очень маленьким кэшем и бюджетом WAL (write-ahead log). Как только кэш заполнялся, система начинала постоянно сбрасывать данные на диск и проводить компакции. В результате даже небольшие изменения в игровом мире превращались в огромный объём физических записей.
Эксперты по хранению данных подтвердили: ни одна современная игра с открытым миром не нагружала накопители так сильно. В пике Windrose генерировала до 130 000 операций записи в секунду.
Как разработчики всё исправили
Команда Kraken Express отреагировала оперативно. Уже 30 апреля вышло обновление «housekeeping», которое исправило проблему с SSD и CPU, а также решило ряд других багов.
Результаты впечатляют: до патча — 90–130 тысяч записей в секунду, после — всего 20–60 записей в секунду даже во время плавания. Игрокам настоятельно рекомендуется обновить игру как можно скорее.
В целом же, это редкий случай, когда студия оперативно отреагировала на проблему, связанную с долговечностью пользовательского железа.
