Понедельник, 25 Ноября 2024, 15:13

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сильно падает производительность через время
WarezReiterДата: Пятница, 07 Декабря 2012, 16:48 | Сообщение # 1
был не раз
Сейчас нет на сайте
Поставил счётчик fps, скорость комнаты - 40.
Есть несколько врагов, и каждый постоянно стреляет пулями через 1 сек.
У пуль в Draw event стоит стандартный блок эффектов:

// setting up the particle system
global._systemabc = part_system_create()
part_system_depth(global._systemabc,1)
global._particleabc = part_type_create()
part_type_shape(global._particleabc,pt_shape_flare)
part_type_size(global._particleabc,1,1,0,0)
part_type_scale(global._particleabc,0.10,0.50)
part_type_orientation(global._particleabc,0,0,0,0,0)
part_type_color3(global._particleabc,65535,0,255)
part_type_alpha3(global._particleabc,1,1,1)
part_type_blend(global._particleabc,1)
part_type_life(global._particleabc,3,3)
part_type_speed(global._particleabc,0,0,0,0)
part_type_direction(global._particleabc,270,270,0,0)
part_type_gravity(global._particleabc,0,0)
global._emitterabc = part_emitter_create(global._systemabc)
part_emitter_region(global._systemabc,global._emitterabc,x,x,y,y,ps_shape_rectangle,ps_distr_invgaussian)
// Begin particle stream
part_emitter_burst(global._systemabc,global._emitterabc,global._particleabc,1)

Со временем, когда они настреляют раз 100, начинают падать fps
Проблема именно в эфектах, так как если я их убираю, то всё норм.
В режиме отладки число активных particles всё время растёт, так и должно быть?

Заранее Спасибо!

P.S. Пули уничтожаются за пределами комнаты
P.P.S. Если необходим пример, скину...


The order comes in the chaos
QvantДата: Пятница, 07 Декабря 2012, 17:05 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
1) эмитор надо один раз создать а не создавать его в каждой пули
2)время жизни частиц конечно ?
WarezReiterДата: Пятница, 07 Декабря 2012, 17:15 | Сообщение # 3
был не раз
Сейчас нет на сайте
part_type_life(global._particleabc,3,3) - Это ограничение жизни частиц?

Добавлено (07.12.2012, 17:15)
---------------------------------------------
part_type_life(global._particleabc,3,3) - Это ограничение жизни частиц?


The order comes in the chaos
Dva_KotaДата: Пятница, 07 Декабря 2012, 17:30 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Не правильное использование частиц. Здесь я делал пример, думаю он поможет:
Пример

Здесь статья про использование частиц, тоже может пригодиться:
Статья


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Пятница, 07 Декабря 2012, 17:31
WarezReiterДата: Пятница, 07 Декабря 2012, 17:40 | Сообщение # 5
был не раз
Сейчас нет на сайте
Объект пули всего один. В игре создаётся сразу много таких обектов, они летят и уничтожаются за комнатой, так сколько угодно раз.
Если писать в создании пули код эффекта, то ничего не видно.

Добавлено (07.12.2012, 17:40)
---------------------------------------------
Первая ссылка не работает, а статья полезная smile


The order comes in the chaos
Dva_KotaДата: Пятница, 07 Декабря 2012, 17:51 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Пример сделан по статье, так что если со статьей разберешься - этого будет достаточно.

Для создания частиц нужно использовать в шаге лишь две функции: part_emitter_region() и part_emitter_burst(). Все остальные - один раз в начале игры или при старте комнаты.


Новый пример инвентаря! /20.06.2012/

Energy Wars
WarezReiterДата: Пятница, 07 Декабря 2012, 17:53 | Сообщение # 7
был не раз
Сейчас нет на сайте
Спасибо biggrin

The order comes in the chaos
ErrantBugДата: Суббота, 08 Декабря 2012, 09:51 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
WarezReiter, ты забыл освободить (удалить) частицы. Потому-то они накладываются друг на друга, в результате чего падает FPS.

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

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