Тормоза!
|
|
NSakenov | Дата: Пятница, 24 Июня 2011, 16:27 | Сообщение # 1 |
Игродел от Глоба
Сейчас нет на сайте
| Привет.
Я добавил в игру 2 фона с огромными разрешениями (1500х1000) и (2000х1500), после этого FPS стал опускаться до 30, хотя скорость комнаты - 60. Все стало медленным. Как можно все оптимизировать? Убрать фоны - не вариант. Деактивация объектов не вариант, некоторые объекты начинают глючить.
|
|
| |
Qvant | Дата: Пятница, 24 Июня 2011, 16:44 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| NSakenov, порежь фон на тайлы и выводи на экран нужные куски . Если положение фонов меняется нечасто , то можно в сурф отрисовывать - будит ещё быстрее .
|
|
| |
GameMix | Дата: Пятница, 24 Июня 2011, 16:45 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| Размер фона больше чем размер комнаты или такой же? Если размер фона больше размера комнаты, то игра может подвисать.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
NeZnayu | Дата: Пятница, 24 Июня 2011, 17:18 | Сообщение # 4 |
__танцуй!__
Сейчас нет на сайте
| Деактивировать объекты нужно тоже с умом.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
NSakenov | Дата: Пятница, 24 Июня 2011, 17:44 | Сообщение # 5 |
Игродел от Глоба
Сейчас нет на сайте
| Я деактивирую объекты кодом, который написан в справке ГМ.
Мой фон зациклен по горизонтали. Может, поэтому?
|
|
| |
GameMix | Дата: Суббота, 25 Июня 2011, 03:32 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Quote (NSakenov) Я деактивирую объекты кодом, который написан в справке ГМ. Думаю, NeZnayu имел в виду, что активными должны оставаться только объекты в пределах вида. В Game Maker есть функция, которая активирует экземпляры объектов, находящихся в прямоугольной области. В справке даже код подходящий есть, только там нужно поменять местами действия: активацию и деактивацию.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
NSakenov | Дата: Суббота, 25 Июня 2011, 10:56 | Сообщение # 7 |
Игродел от Глоба
Сейчас нет на сайте
| Я его и использую.
|
|
| |
NSakenov | Дата: Суббота, 25 Июня 2011, 10:56 | Сообщение # 8 |
Игродел от Глоба
Сейчас нет на сайте
| Code { instance_activate_all(); instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); }
|
|
| |
AGENTX001 | Дата: Суббота, 25 Июня 2011, 11:43 | Сообщение # 9 |
почётный гцупер
Сейчас нет на сайте
| NSakenov, Ты деактивируешь объекты которые находятся в пределах вида! Code { instance_deactivate_all(); instance_activate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); }
|
|
| |
Qvant | Дата: Суббота, 25 Июня 2011, 12:33 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| NSakenov, не там ковыряеш ... если у тебя падает ФПС после добавления фонов а до этого было всё нормально , то при чём деактивация тех объектов которые не забивали ФПС ?
Вот сидит телепаты на форуме и дают советы Вот смотри если у тебя большая комната и один из видов на всю комнату (например миникарта) , то все твои зацикленные фоны будут отрисовываться каждый Draw , уменьшатся и выводиться на экран ... делаем оптимизацию так - включаем нужный вид (миникарту) , отрисовываем фоны в комнате (ГУИ, игроков врагов отрисовывать не надо) , отрисовываем её в сурф , переводим сурф в спрайт, выключаем вид , а на место этого вида выводим этот спрайт .
В итоге каждый Draw рисуется один небольшой спрайт вместо всей комнаты
Второй вариант , у тебя большая комната но только один вид в размер экрана который захватывает только небольшую часть комнаты . Тогда может твои воны просто непоместились в память видеокарты полностью и постоянно подгружаются. Пореж на тайлы скажем 256х256 . Используя дата структуру "сетка" запиши в неё номер тайла вот теперь перемещая вид координаты округляй до 256 и выделяй из сетки нужный регион , получаеш из этого региона номеров тайлов и отрисовываеш их в сурф. При движении , орисовываеш столбец или строку следующих тайлов из сетки , смещаешь сурф и снова отрисовываеш сурф . Всё будит без тормозов .
PS.Надеюсь умееш работать с видами , сетками , сурфами ? PS2. А вообще не стоит распологать объекты в комнате , а лучше програмно добалять/удалять при не обходимости , лучше и быстрей будит всякой деактивации.
|
|
| |
NSakenov | Дата: Суббота, 25 Июня 2011, 12:36 | Сообщение # 11 |
Игродел от Глоба
Сейчас нет на сайте
| Ладно, вопрос уже неактуален, фон заменил на более маленький (480х640)...
|
|
| |