Іноді ми задаємо собі питання: «Чому у мене так лага і гальмує КС?» Щоб отримати відповіді треба прочитати цю статтю
1. Чому?
2. Оптимізація Windows
3. Твики графіки
4. Налаштування конекту
5. Налаштування Counter Strike
1.Чому?
Почнемо з самого простого. Який у вас ПК і Інтернет? Якщо ви граєте на слабенькою машині з діалап, то вам доведеться потрудитися на славу. Інша ж справа, якщо у вас дорогий комп'ютер з виділеною лінією. Але, навіть маючи найкращу конфігурацію «заліза» ви ніколи не досягнете хорошого результату, якщо не будете знати самого елементарного. Наприклад, програми в повноекранному режимі за замовчуванням запускаються на 60Hz, що дає можливість швидше зіпсувати ваші очі. Або уявіть собі ситуацію. Ви робите запаморочливий стрибок з якогось ящика в надії красиво покласти противника з Діглі і заслужити славу чітера. І в самий пікантний момент гра у вас як би зависає, а гвинт починає шалено крутитися і видавати моторошні звуки. Після чого ви приземляєтеся і з подивом довідаєтеся, що вас вже вбили. Причина такого здивування є неправильно налаштована машина.
2. Оптимізація Windows.
3. Твики графіки.
Це персональні переваги, але вони відмінно себе зарекомендували. Правий клік на робочому столі, Properties, Settings, Advanced, закладка Video Card. Закладка Performance / Quality
-Image Setting: Preformance
-Antialiasing: Off
-Anisotropic Filtering: Off
-Texture Sharpening: Off
Переклад:
- Анізотропна синхронізація - Вимкнути
- Вертикальна синхронізація - Вимкнути
- Продуктивність - Поставити на Високу продуктивність
Або можете просто виставити всі пункти на швидкість а не на якість, ну це якщо вже зовсім погано.
Якщо хочемо знати більше йдемо сюди
Очікування вертикальної синхронізації -Vsync: ON.
Чому?
А тепер безпосередньо до цієї проблеми:
Vsync: яскравий приклад найбільшого непорозуміння в історії графічних налаштувань. Ось як Vsync працює: у вашого монітора частота оновлення екрану визначається для кожного дозволу по-різному. Поясню на прикладі: мій монітор тягне 75Hz на максимально доступному дозволі 1152x864. Це означає, що мій монітор показує тільки 75 кадрів в секунду при даному дозволі. Захоплюється своїми 150 fps в Q3? Циферка на екрані звичайно ж показує саме стільки, але в реальності весь ефект повністю зводиться на «ні» вашої частотою оновлення екрану. Все, що вище частоти оновлення, викликає ефект, званий tearing або розрив зображення. Tearing виражається в хвилеподібне набіганні кадрів - біжать по екрану смугах. Vsync же встановлює ваш максимальний fps рівним поточної частоті оновлення екрану, що дозволяє повністю прибрати tearing і добитися значного поліпшення картинки. Мораль цієї байки така - використовуйте Vsync в грі. Картинка набагато м'якше, більш плавна, грубо кажучи, різниця є. Але якщо ж ви просто заміряє FPS, щоб оцінити продуктивність - вимкніть Vsync.
4. Налаштування конекту.
Пінг не випадково посідає перше місце, оскільки саме при великому пінг гра неможлива взагалі. Для грає по модему пінг він як святий. на нього моляться, ставлять свічки, намагаються знизити будь-якими способами. Але ці способи не завжди працюють (незрозуміло чому).
Звучання надто гучне пінг - результат невідповідності фізичних можливостей лінії та мережевих налаштувань гри. Розглянемо ситуацію: коннект 28.8 кбод, гравець вибігає на натовп противників, його "мясят" і в підсумку - фраг з пінгом 4096 висить в повітрі або танцює брейк-данс. Тут має місце всіма улюбленого FlushEntityPacket - (переповнення) пакети не можуть дійти до користувача в зазначений термін і в потрібному порядку. Треба або збільшити пропускну здатність лінії, або зменшити число пакетів (погоджень). Тут гадати нічого: будемо зменшувати кількість пакетів (тому що іноді більше 33,6 з модему вичавити просто неможливо).
Команди результат
Власне, для оптимізації процесу узгодження під конкретну машину і конкретне модемне з'єднання, потрібно знати основні команди для оптимізації мережевої гри. Ці команди допоможуть завжди (або майже :). Але для конкретної ситуації - конкретна конфігурація.
cl_updaterate ## - кількість пакетів (погоджень), послання від сервера - клієнта за одиницю часу (секунду). Ця команда безпосередньо пов'язана зі швидкістю з'єднання і маючи 28.8 кбод немає сенсу ставити значення більше 15 (краще 10). Тому що поділити 2.5 кб / сек на 15 і отримаємо невеликий розмір "пакету" даних на одне узгодження (замало буде). Так що для 28.8 ставте cl_updaterate "10" і не більше.
При з'єднанні 28.8 КБ, cl_updaterate (1 / сек) від 10 * до 15
При з'єднанні 33.6 КБ, cl_updaterate (1 / сек) від 15 * до 20
При з'єднанні 48.8 КБ і більше, cl_updaterate (1 / сек) від 20 * і більше
cl_cmdrate ## - кількість погоджень в секунду, які були надіслані від клієнта - сервера. Тут справа така: якщо Ти хочеш спілкуватися по мікрофону і хочеш, щоб інші гравці чули твій голос, а не "дизельний вихлоп" або гірше, то став значення 30. Але як відомо одноразово вихідний і вхідний потоки вони: як два ведмеді в одному барлозі , взаімоуменьшают один одного. Так що якщо спілкуватися голосом не передбачається, то став від 10 до 20. У принципі для 28.8 cl_updaterate "10" і cl_cmdrate "30" цілком прийнятно. На кожні три узгодження з боку клієнта - одне з боку сервера. Зійде!
При з'єднанні 33.6 КБ, rate (б / с) від 2500 до 3000
При з'єднанні 48.8 КБ і більше, rate (б / с) від 3000 і вище
Якщо задати значення більше допустимого - лови FlushEntityPacket, сервер закидає тебе "пакетами" на твою ж вимогу в зручний для нього момент. Врахуйте, що для великого числа гравців (16-20) швидкість з'єднання грає велику роль. Не рекомендується ставити максимальне значення, якщо пакети часто не доходять: на їх "перепосилку" треба мати "резерв".
cl_latency - ### - Компенсація лагов. Величина, необхідна для хоч якогось скрашіванія сірих буднів "модемного" гравця. Задається як 50% або 75% від поточного пинга з протилежним знаком (100% має ефект, але не коштує стільки задавати). Наприклад для пинга 200 підійде cl_latency "-150". Ця величина ДУЖЕ важлива. Але в КС1.6 вона не використовується.
cl_rate #### - Теж, що і rate, але з боку клієнта. Величина не настільки важлива, тому що клієнт ніколи не зможе використовувати її на 100% (тільки коли відбувається закачування "лого" на сервер). За замовчуванням варто cl_rate "9999», так і залишимо.
fps_max ### - Як уже видно з назви - максимальний FPS в грі. Зазвичай ставлять 100. Це залежить від "потужності" машини. В принципі від 60 до 100 - цілком прийнятну якість. АЛЕ, без наступної змінної ви не побачите ці FPS взагалі.
fps_modem ### - А ось це те, що треба. Прирівнюємо fps_modem до fps_max і все. Ходить думка, що fps_modem повинна рівнятися cl_updaterate. Уявляєте "дурдом" в 20 FPS? Я з принципу fps_max "100" і fps_modem "100" поставлю. До того ж без високого значення fps_modem не можна виконати деякі "брудні" трюки. Але у цих змінних є і МІНУСИ. "Лага" сильніше, тобто частіше при високому fps_modem, ніж при низькому. Так що ставте від 60 до 100.
В принципі - це все, що потрібно для оптимізації гри по модему. Додам, що при мережевій грі відбувається безперервне узгодження сервера і клієнта. Їх пакети взаємопов'язані і якщо пакети сервера не дійшли до клієнта, то і пакети клієнта не будуть сприйматися сервером негайно, а встануть в чергу. Адже пропустити нічого не можна.
Наостанок приведу стандартний "конфиг" для швидкості з'єднання 33.6 кбіт / сек.
cl_updaterate "15"
cl_cmdrate "30"
rate "2500"
fps_max "60"
fps_modem "60"
Якщо Інтернет у вас людський, то необхідно прописати наступне:
cl_updaterate "101"
cl_cmdrate "101"
rate "25000"
fps_max "101"
5. Налаштування Counter Strike.
P.S. Не можна забувати ще про те, на якому сервері ми граємо. Якщо навантаження на сервер велика, то тут вже нічого не поробиш.