Пятница, 08 Ноября 2024, 10:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Оптимизация
Quad69Дата: Понедельник, 16 Ноября 2015, 00:07 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Здравствуйте.
Мне нужно решить проблему с лагами.
Простая rts, вид сверху с сетевой игрой.
Раньше при 10 танках(Поиск пути, плавный поворот, стрельба и больше ничего особого) сильно лагало, фпс 10-20.
Потом немного оптимизировал его, изменил поиск пути, лагать стало значительно меньше.
Но все ровно тормозит, игра даже иногда просто выключается(Прекращена работа программы и т.д).

Кто знает, как оптимизировать? (или это с gms что то?)
P.s Пробовал даже Windows YYC(Не пиратка!), говорят что с ним всё очень быстро работает, но разницы я вообще никакой не заметил.




Сообщение отредактировал maksim1221232 - Понедельник, 16 Ноября 2015, 00:07
Sttt912Дата: Понедельник, 16 Ноября 2015, 01:43 | Сообщение # 2
был не раз
Сейчас нет на сайте
Вот немного статей
Простые правила оптимизации кода
Оптимизация Ваших игр в GameMaker: Studio.
DimOkДата: Понедельник, 16 Ноября 2015, 03:11 | Сообщение # 3
ONG studio
Сейчас нет на сайте
Цитата maksim1221232 ()
Компьютер:
3.8GHz

вааау, как информативно...


Активно пользуюсь Godot Engine
XDominatorДата: Понедельник, 16 Ноября 2015, 07:22 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Ковыряй дальше свои алгоритмы, особое внимание на step-ы и особенно большое на циклы внутри них. Если какой нибудь цикл выполняет внутри step-а 100 итераций в 40 объектах, то он обязательно уронит тебе фпс.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
AI_DeveloperДата: Понедельник, 16 Ноября 2015, 08:26 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Цитата DimOk ()
вааау, как информативно...

Ваааау, как продуктивно и полезно!

Подчищай мусор - счищай то, что уже не используешь или вообще не нужно (переменные, массивы).


Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает... и никто не знает почему!
OpenGOOДата: Понедельник, 16 Ноября 2015, 10:33 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Чтобы что-то оптимизировать, нужно сперва сделать профилирование (смотри в справке Profiling).

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]


Сообщение отредактировал OpenGOO - Понедельник, 16 Ноября 2015, 10:33
Quad69Дата: Понедельник, 16 Ноября 2015, 16:09 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
OpenGOO, Ну вот это, только я все ровно не особо понимаю что там написано.
YellowAfterlifeДата: Понедельник, 16 Ноября 2015, 17:46 | Сообщение # 8
Сейчас нет на сайте
Цитата maksim1221232 ()
OpenGOO, Ну вот это, только я все ровно не особо понимаю что там написано.

66% времени выполнения программы тратится в шаге obj_tech_tankt1. Если развернуть пункт (нажать на плюсик слева), можно посмотреть более подробно, на вызовы каких функций\скриптов тратится время выполнения. После этого можно предпринять попытку их оптимизации и сравнить затраты времени после изменения.


Fill_FreemanДата: Понедельник, 16 Ноября 2015, 18:45 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Я в свое время обнаружил, что если пользовать show_degug_message в step ивенте, то он тоже может вызывать тормоза. По крайней мере так было раньше.
Сейчас я чаще использую draw_text в таких ситуациях.


Quad69Дата: Понедельник, 16 Ноября 2015, 20:36 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
YellowAfterlife,
Цитата YellowAfterlife ()
развернуть пункт

collision_line...
Я даже не знаю как это можно оптимизировать...



Сообщение отредактировал maksim1221232 - Понедельник, 16 Ноября 2015, 20:58
OpenGOOДата: Вторник, 17 Ноября 2015, 00:21 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
Если смотреть усредненный результат то лагов нет. В момент выполнения профилирования лаги были?

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
XDominatorДата: Вторник, 17 Ноября 2015, 07:19 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Цитата maksim1221232 ()
collision_line...
Я даже не знаю как это можно оптимизировать...


Если выполнять твой код не каждый step, а например 1 раз в 10 step-ов, то нагрузка этого блока уменьшится соответственно в 10 раз.


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
Quad69Дата: Вторник, 17 Ноября 2015, 18:52 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
XDominator, Спасибо за совет, сейчас попробую.

Добавлено (17 ноября 2015, 18:52)
---------------------------------------------
Спасибо всем, теперь вообще почти не лагает.
При 120 танках фпс упал всего лишь на 5, а раньше при 50 уже было 10.

Но у меня ещё пару простых вопросов, не буду создавать из за них новую тему.

Почему не меняется громкость звука?
Когда меняется, а когда нет.
И
Почему не работает audio_play_sound_at(...)?
Воспроизводится звук Windows почему то.

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг