Влияет ли жесткий диск на производительность в играх?

Жесткие диски

Может ли жесткий диск повлиять на производительность в играх?

Здравствуйте! Рад приветствовать постоянных читателей моего блога, а также тех, кто попал сюда впервые! Подпишитесь на новостную рассылку — и вы своевременно будете получать уведомления о новых публикациях.

p, blockquote 1,0,0,0,0 —>

Сегодня давайте обсудим, влияет ли жесткий диск на производительность в играх, и как именно. Спойлер: влияет, но не так ощутимо, как мощность видеокарты и процессора. Все, дальше можете не читать, а уже заказывайте новый HDD для вашего ПК.

p, blockquote 2,0,0,0,0 —>

Для тех, кому интересно, может ли влиять модель и параметры жесткого диска, насколько важен этот компонент при сборке мощного игрового компьютера и что можно сделать, если вы замечаете лаги, эта статья будет чертовски полезной. Гарантирую!

p, blockquote 3,0,0,0,0 —>

Как устроены видеоигры

Давайте возьмем сферический пример «в вакууме» — клиентская игра, которая требует предварительной установки на винчестере. Почти все современные игры состоят из 3D объектов, которые по-всякому взаимодействуют между собой. Рендерятся они с помощью видеокарты.

p, blockquote 4,0,0,0,0 —>

Состояние и взаимное положение этих объектов запоминает оперативная память, а процессор просчитывает все эти взаимодействия — например, траекторию полета снаряда, стрелы или пули, шанс нанести критический урон, влияние защиты цели. В общем, все то, что незаметно глазу игрока — «шевеление» пикселей внутри игры.

p, blockquote 5,0,1,0,0 —>

В онлайн играх часть этих функций берет на себя серверный процессор, но часть остается и вашему ПК. И мы переходим непосредственно к теме сегодняшней публикации — в чем роль жесткого диска во всем этом процессе.

p, blockquote 6,0,0,0,0 —>

Именно он хранит все те объекты, которые созданы разработчиками — модели оружия, персонажей, техники, игровые локации, загрузочные и прочие меню, а также текстуры.

По сути, любая 3D модель — собранная из множества полигонов сложная пространственная фигура, на которую натянута текстура. Как перчатка на руку. p, blockquote 7,0,0,0,0 —>

Почему жесткий диск важен для комфортного гейминга

Скорость чтения данных с жесткого диска почти не влияет на ФПС, однако может стать причиной лагов. Особенно это заметно, когда вы запускаете современную игру на морально устаревшем компьютере с винчестером стандарта SATA. В этом случае текстуры окружения или персонажей попросту не успевают загрузиться во время.

p, blockquote 8,0,0,0,0 —>

Проявляться это может по-разному:

p, blockquote 9,0,0,0,0 —>

  • Если резко приблизиться к другому персонажу, сначала отображается базовая модель, потом отрисовывается одетая на нем броня, затем внешка (из игрового магазина, а как же!) и лишь потом ее покраска. Занимать этот процесс может всего несколько секунд, но заметен для глаза.
  • При быстром перемещении между разными локациями в игре с открытым миром транспорт замирает на месте, терпеливо дожидаясь, пока прорисуются текстуры на окружающих объектах.
  • Загрузочная заставка отображается гораздо дольше, чем предусмотрели разработчики, так как на ее чтение с медленного винчестера требуется больше времени.

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

p, blockquote 10,0,0,0,0 —>

Многое зависит уже от кода, написанного разработчиками — медленная работа жесткого диска может проявляться иначе, я просто привел наиболее типичные случаи.

p, blockquote 11,1,0,0,0 —>

Закономерный вопрос — повысит ли фрейм количество кадров? Увы, но нет. Запуск игры в оконном режиме, при меньшем разрешении, может снизить нагрузку на слабую видеокарту.

На скорость чтения текстур и объектов такой режим отображения вообще не влияет.

p, blockquote 13,0,0,0,0 —>

Отдельным абзацем хочу упомянуть браузерные игры, в том числе многопользовательские. В них все «шевеление» пикселей происходит на стороне сервера и отображается с помощью Flash плеера, поэтому винчестер компьютера не задействован. Лагов, описанных выше, в таких играх не замечено.

p, blockquote 14,0,0,0,0 —>

Что можно сделать

Если у вас устаревший ПК, рекомендую провести апгрейд при первой же возможности. Иногда переход на более позднюю версию САТА требует замены материнской платы, а это уже тянет за собой новый процессор и оперативную память.

p, blockquote 15,0,0,0,0 —>

Но искусство (а видеоигры уже несколько лет признаны одним из направлений искусства, вы знали об этом?) требует жертв. В рассматриваемом нами случае — определенных затрат на апгрейд.

p, blockquote 16,0,0,1,0 —>

Также не могу молчать о том, что даже SATA III в некоторых случаях не сильно поможет: ряд игр оптимизирован настолько «шикарно», что для нормальной работы требуется накопитель ССД. Про отличие ssd от ssd m2 вы можете почитать здесь.

p, blockquote 17,0,0,0,0 —>

Навскидку вот так сразу могу вспомнить ММОРПГ Black Desert. Хотя релиз этой игры и произошел 4 года назад, она остается довольно «кусачей» в плане системных требований — быстрое перемещение по игровому миру требует быстрой загрузки текстур игрового мира.

Рекомендую ССД для комфортного запуска и последних частей Final Fantasy. Размер и качество текстур там такие, что игровой клиент занимает около 100 Гб, а для нормального чтения требуется именно SSD.

p, blockquote 19,0,0,0,0 —>

Также для вас окажется полезной статья «Лучшие производители жестких дисков». Буду очень признателен всем, кто поделится этой публикацией в социальных сетях. До завтра!

p, blockquote 20,0,0,0,0 —>

p, blockquote 21,0,0,0,0 —> p, blockquote 22,0,0,0,1 —>

Производительность HDD- и SSD-дисков

Дисковое устройство

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

В течение продолжительного периода для долговременного хранения данных использовали жёсткие магнитные диски (HDD, Hard Disk Drive) и магнитные ленты (МТ, Magnetic Tape). Первые — обеспечивают произвольный доступ к данным и, поэтому, высокую скорость операций с ними. Вторые — записывают и считывают данные последовательно, поэтому их скорость доступа к данным невысока, зато себестоимость хранения данных на лентах чрезвычайно низкая.

В последнее десятилетие бурно развиваются носители нового типа — на базе полупроводниковой энергонезависимой памяти, в быту: «флэш-памяти». Для совместимости с прежними системами её стали выпускать в корпусах и с разъёмами, совместимыми с корпусами и разъёмами жёстких дисков. В результате, их стали тоже называть дисками, но твёрдотельными (SSD, Solid-State Drive), хотя, конечно, никаких подвижных частей в них нет. Их правильное русское название — твёрдотельный накопитель.

Далее мы рассмотрим основные характеристики устройств, обеспечивающих быстрый и произвольный доступ к хранимым данным — жёстких магнитных дисков и твёрдотельных накопителей.

Что требуется?

Чего мы ожидаем от дисковой подсистемы компьютера? — Очевидно, чтобы запись и чтение данных выполнялись быстро!

От чего зависит скорость этих операций?

Дисковая операция включает в себя несколько фаз: 1) выдачу команды на операцию (чтения или записи); 2) обработку данных контроллером дискового устройства; 3) передачу данных через интерфейс дисковой подсистемы (при записи данных фазы 2 и 3 меняются местами).

Таким образом, общее время дисковой операции складывается из продолжительности каждого из этих последовательных действий.

Схема дисковых операций

Как устроены диски?

Физическое устройство дисков разного типа имеет прямое отношение к их базовым характеристикам, поэтому кратко осветим этот аспект.

Жесткие диски (HDD, Hard Disk Drive). Данные на носители этого типа записываются путём намагничивания микроскопических областей ферромагнитного материала, нанесённого тонким слоем на поверхность алюминиевого диска.

Намагничивание производится специальной головкой, расположенной на специальном поворотном коромысле. Диск вращается, головка перемещается в радиальном, относительно диска, направлении.

Контроллер диска

Когда требуется записать или прочитать данные, головка перемещается на соответствующую магнитную дорожку и ожидает поворота диска до нужного участка дорожки, чтобы начать непосредственную запись или чтение данных.

На эти действия уходит, хоть и небольшое, но вполне измеримое время. Время позиционирования на нужную дорожку называется временем поиска (Seek Time), а время поворота диска — временем ожидания, или задержкой (Rotational Latency).

Иногда все временны́е характеристики суммируют, объединяют в одну, которую называют просто задержкой (Latency).

Твёрдотельные накопители (SSD, Solid-State Drive). В них нет механических частей. Данные записываются в энергонезависимые ячейки памяти. Энергонезависимость означает то, что состояние ячеек памяти при отключении электропитания сохраняется. Быстродействие носителей этого типа намного выше быстродействия механических дисков. Электроны и дырки перемещаются в полупроводнике быстрее магнитной головки над поверхностью жёсткого диска.

Энергозависимые ячейки памяти

Из-за особенностей устройства полупроводниковой памяти операции записи и чтения могут занимать в ней разное время: запись проходит немного медленнее. Но в отличии от механических дисков в твёрдотельных накопителях нет потери времени на позиционирование магнитной головки и ожидание поворота диска.

Общее

Блоки данных

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

Очевидный вывод: если вы измените 100 байтов из разных блоков, вы потратите на эти операции примерно в 100 раз больше времени, чем в случае, когда эти 100 байтов находятся в одном блоке.

На минимальные порции данные делятся на двух уровнях: на уровне физического носителя минимальная порция данных — сектор в 512 байтов (в случае HDD) или страница в 4 килобайта (в случае SSD). На уровне файловой системы минимальной порцией данных является кластер, который объединяет в себе несколько соседних секторов или страниц.

Сектора и страницы требуются для оптимизации работы аппаратной части носителя данных. Кластеры нужны для оптимизации работы файловой системы. Без секторов и кластеров обработка отдельных байтов была бы крайне неэффективной, а их адреса имели бы гигантскую длину.

Выбор правильного размера кластера — задача не совсем простая.

Если установить размер кластера очень большим, операции с данными ускорятся, но в результате, на диске будет образовываться много пустых, не занятых полезными данными, участков. Впрочем, бесполезные зоны большего или меньшего размера всегда образуются в «хвостах» кластеров и на HDD, и на SSD, так как длина файлов всегда меньше суммарного размера выделенных для него кластеров. — Это неизбежное следствие выравнивания выделяемого дискового пространства по кратности.

Если кластер сделать слишком маленьким, в файловой системе придётся хранить больше данных о месте размещения файлов.

Таким образом, в файловой системе минимальная порция данных — один кластер. Обычно чем больше размер диска, тем больше секторов включают в один кластер.

Файловая система

Операционная система и приложения работают не с абстрактными блоками данных, а с прикладными файлами. Для того, чтобы получить тот или иной файл, сначала нужно узнать, в каких блоках он размещён. Сведения об этом хранятся среди данных файловой системы, которые сами хранятся на диске, то есть для получения данных из файла, сначала нужно выполнить ряд вспомогательных (накладных!) дисковых операций.

Отсюда первый вывод: на скорость дисковых операций существенно влияют особенности файловой системы (FAT, ext, NTFS, ReFS, …).

Второй, тоже достаточно очевидный, вывод: большие файлы удельно обрабатываются быстрее, чем множество небольших файлов такого же суммарного объёма. Ведь во втором случае потребуется большее число обращений к файловой системе.

Фрагментированность файлов

Файлы на диске редко хранятся в виде непрерывной последовательности блоков. Практически одновременно на нём обрабатываться разные файлы, кластеры которых могут быть записаны вперемешку. В результате, содержимое конкретного файла может оказаться в цепочке фрагментов, размещённых в разных частях диска. При обращении к этому файлу потребуется дополнительное время на сборку фрагментов. Чем больше фрагментов, тем больше времени.

Схема фрагментов

Физическая фрагментированность файлов не является большой проблемой в случае твёрдотельных накопителей (SSD), но на жёстких механических дисках (HDD) замедление обработки данных из-за неё может быть очень заметным.

Контроллеры

Посредником между непосредственным физическим носителем данных и операционной системой является контроллер. Ведь операционной системе совсем неважно, в каком конкретном месте диска хранятся её данные, ей нужно просто иметь возможность записать, изменить или получить их.

На прикладном уровне речь идёт о файлах, на уровне дисковых операций — о блоках данных (кластерах, секторах, страницах). Контроллеры выполняют действия трёх типов:

  1. принимают данные от операционной системы или передают их ей;
  2. обрабатывают передаваемые данные;
  3. записывают данные непосредственно на физический носитель или читают их с него.

Все эти действия требуют определённого времени, поэтому их продолжительность и эффективность сказывается на общей производительности дисковой подсистемы.

Интерфейсы

Одна из причин бурного развития компьютерной техники — унификация её элементов и, соответственно, их взаимозаменяемость, которая, среди прочего, включает в себя стандартные соединители. Но под интерфейсом устройства понимается не только электрический разъём, но и протокол обмена данными.

Очень долго использовались жёсткие диски с интерфейсами IDE, который обеспечивал скорость передачи данных до 133 МБ/с, и SCSI со скоростью до 640 МБ/с.

Интерфейс SATA поднял максимальную скорость до 750 МБ/с. Уже появляются модели с пропускной способностью контроллера до 1 500 МБ/с.

Интерфейс SAS имеет такую же максимальную скорость, но у сопоставимых моделей дисков он обеспечивает лучшие скоростные показатели. Кроме того, у него выше надёжность. Его протокол передачи данных является развитием протокола SCSI.

Следует различать скорость чтения-записи данных в отношении физического носителя и максимальную скорость передачи данных через интерфейс контроллера. В настоящее время скорость физических операций на дисках HDD достигает 200–300 МБ/с, а на дисках SSD — 600–700 МБ/с.

Интерфейс имеет более высокую пропускную способность, что позволяет контроллеру кэшировать и буферизировать обрабатываемые данные.

Здесь перечислены основные на сегодняшний день интерфейсы. Существуют контроллеры и с другими аппаратными и программными интерфейсами, но они имеют меньшее распространение, чем указанные.

Интеллектуальность

На результирующей производительности дисковых устройств сказывается не только скорость передачи данных, но и то, как обрабатываются запросы на дисковые операции.

Какие методы оптимизации применяются?

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

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

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

Массивы дисков

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

Показатели производительности

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

Задержка

Как было сказано ранее, в общее время задержки можно включить разные фазы дисковых операций. Однако для операционной системы и приложений важен общий временной интервал между моментом отправки команды на выполнение дисковой операции и моментом начала получения её результата.

Если при записи данных результатом операции является короткое сообщение о её завершении, то при чтении данных их передача может иметь заметную продолжительность.

В значительной степени время задержки характеризует физические особенности носителя. В среднем, задержка дисковых операций с SSD существенно меньше задержки дисковых операций с HDD.

У современных дисков в штатном режиме время задержки составляет единицы миллисекунд или даже доли миллисекунд.

Скорость передачи данных

Для замера скорости также требуется временной интервал между какими-то событиями. В качестве пары таких событий логично выбрать начало передачи данных и её окончание.

Определять скорость передачи данных лучше с помощью файлов большего размера с нерегулярным содержанием. Как правило, этим условиям соответствуют видео- или аудиофайлы, архивы сжатых файлов, большие jpeg-изображения и т. п.

В первую очередь, скорость передачи данных характеризует возможности контроллера, его пропускную способность. Это особенно относится к SSD-дискам.

Число дисковых операций

Во время реальной эксплуатации дисков редко бывает, что на них только записывают или с них только читают данные. Обычно запись и чтение постоянно чередуются между собой. Поэтому в качестве характеристики общей прикладной производительности диска был предложен такой показатель как число операций ввода-вывода в единицу времени: IOPS (Input/output Operations Per Second).

Для правильного сравнения дисков по этой характеристике нужно, чтобы тестовые замеры на каждом из дисков производились с одинаковыми порциями (блоками) данных. Сейчас в качестве таких «стандартных» порций для бытовых компьютеров часто используют блоки размером в 4 килобайта, а для серверов — в 32, 64 и даже 128 килобайтов.

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

Другое важное обстоятельство. Как было отмечено при обсуждении скорости передачи данных контроллером диска, в реальности операции записи и чтения перемешаны между собой. — Но… в какой пропорции?

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

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

Для правильного тестирования дисковых подсистем нужно моделировать нагрузку

Заключение

Диски являются очень важной частью любой компьютерной системы: от настольного компьютера до большой корпоративной инфраструктуры. Их производительность сказывается на общей производительности системы.

Существует довольно много факторов, влияющих на скорость работы дисковой подсистемы. Частью из них можно управлять, другие изменить нельзя, но их тоже нужно принимать в расчёт.

Существует ряд утилит, позволяющих исследовать характеристики конкретной дисковой подсистемы. Они измеряют производительность исследуемых дисков, имитируя в разных режимах нагрузку на них. Однако число режимов, которые могут обеспечить эти утилиты, очень велико. Мы надеемся, что сведения, изложенные в этой статье, помогут выбрать правильные условия и параметры тестирования дисков, и конечно, лучше понять характеристики их производительности.

P. S. О чём ещё мы пишем в блоге 1cloud:

https://infotechnica.ru/pro-kompyuteryi/o-nakopitelyah-informatsii/hdd-vliyaet-li-v-igrah/
https://1cloud.ru/blog/proizvoditelnost-diskov

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Related Posts