Актульные ошибки и решения:

1 Вылет игры 4game через 2-5 минут.

2 Игра недоступна в среде LIVE.

3 LCID: cannot run in this locale.

4 Дисконект через 5ть минут, whitelist.

5 Поиск и удаление системных драйверов несовместимых с играми 4game.

Утилита (check4game.exe) для игр 4game необходима если у Вас имеются какие либо проблемы с запуском и функционированием клиента. Поддерживается проверка клиента как с LIVE сервера так и проверка клиента с PTS сервера. Внимательно прочитайте инструкцию по использованию утилиты, это позволит Вам диагностировать и исправить большинство проблем которые могут возникать в клиенте игры, а также произвести диагностику сетевого подключения Интеренет.

Запуск и функционирование клиента онлайн игры Lineage2.

В данной статье рассматриваются основные аспекты клиента игры как приложения, которое запускается под управлением операционной системы windows и все что с этим связанно, как то:


Важно: статья в процессе создания, новые разделы будут появляться по мере написания.
Если у Вас возникли вопросы или комментарии, то оставить их можно на страничке В КОНТАКТЕ.

Тестирование HDD и SSD на реальных данных клиента игры.

 

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

Список файлов, а также их размеры можно увидеть в файле filesonstart.txt.

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

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

Все приложения для чтения в память данных из файлов используют функции windows API:

CreateFile - отрывает файл для последующего проведения файловых операций.
CloseHandle – закрывает файл.
ReadFile – читает блок данных из файла в память c текущей позиции.
SetFilePointer – устанавливает текущую позицию для последующего чтения данных, используется если необходимо читать данные расположенные не последовательно.

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

Анализируя трассу, можно сказать следующее:
• данные читаются блоками 1024 байт (1 килобайт) и меньшими блоками.
• некоторые куски данных читаются последовательно.
• в большей степени данные читаются не последовательно (произвольно).


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

Важно упомянуть о такой важной части windows, как Windows System File Cache (WSFC), основное назначение этот подсистемы следующее:
• Кеширование блоков данных, которые читаются с диска, для последующего использования приложениями без обращения к диску.
• Предсказание поведения приложения, чтение данных с диска вперед.



Все тесты проводились с помощью специально разработанной утилиты (l2read.exe с исходным кодом),
в состав архива входят следующие файлы:


l2read.exe - испольняемый модуль утилиты тестирования.
l2read.cpp - исходный код утилиты тестирования.
test1.cpp - код эмулирующий файловые операциии игрового клиента при запуске.
run_la2read.cmd - скрипт запускающий все тесты.

Важно: l2read.exe и run_la2read.cmd необходимо разместить в папке с клиентом lineage2.


Первый тест, последовательное чтение файлов клиента в объеме 2775 мегабайт, блоками разной длины без использования WSFC.

 

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

• при чтении блоками 1к/4к/8к все результаты похожи, но диски SSD несколько проигрывают.
• SSD диски расскрывают свой скоростной потенциал начиная с блока размером в 64к.
• одиночные HDD достигают своего предела на блоках размером в 8к/16k.
• применительно к клиенту игры нам интересен размер блока в 1к.


Второй тест, последовательное чтение файлов клиента в объеме 2775 мегабайт, блоками разной длины предварительно загруженных в WSFC.

 

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

• очевидно что все данные находятся в WSFC.
• скорость чтения данных зависит только от размера блока и производительности оперативной памяти.
• размер под WSFC выделяемый системой, зависит от объема оперативной памяти.
• для оптимальной работы WSFC применительно к игре, необходимо иметь минимум 4ГБ оперативной памяти, а лучше 8ГБ.


Третий тест, последовательное чтение файлов клиента в объеме 2775 мегабайт, блоками разной длины с использованием WSFC.

 

Коротко резюмируя полученные результаты, можно сказать следующее:
• при чтении с HDD, не зависимо от размера блока, получаем максимальную скорость чтения данных.
• одиночный SSD и HDD в режиме R0 показывают одинаковую скорость при любом размере блока.
• SSD в режиме R0 начинает превосходить HDD режиме R0 начиная с блоков размером в 64к.
• последовательное чтение с использованием WSFC, режет производительность SSD начиная с блоков размером в 64к.


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


Коротко резюмируя полученные результаты, можно сказать следующее:
• клиент при чтении данных, большей степени использует произвольный доступ к данным чем последовательный.
• производительность HDD не зависит от наличия режима R0.
• производительность SSD в 12 раз выше чем у HDD
• производительность SSD такая же как и у SSD в режиме R0.
• время которое требуется для чтения данных с SSD меньше 1 секунды.
• время которое требуется для чтения данных с HDD больше 7 секунд.


Тестирование SSD различных производителей и моделей.


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

• показатели SSD разных производителей отличаются.
• показатели SSD одинаковых моделей отличаются.
• показатели SSD на разных интерфейсах отличаются (SATA300 и SATA600).
• показатели Flash USB3 проигрывают SSD но находятся на достаточном уровне.


Почему показатели одной и той же модели SSD такие разные?

На уровень показателей SSD дисков влияют слудующие факторы:

• Версия прошивки SSD, разные версии дают разную производительность.
• Материнская плата и набора микросхем реализующих интерфейс SATA.
• Качество и надежность крепления кабеля SATA, между портом SATA и SSD.
• Производительность опреративной памяти.