Перейти к содержанию
  • Регистрация
  • 0
ununununun

Эффекты и странное поведение памяти.

Вопрос

Есть некая анимация, на неё наложен эффект Glow + FloatAnimation, всё крутится в цикле, но через некоторое время начинает лагать.

Чем больше эффектов тем лаги приходят быстрее. Если один Glow, например, то динамика потребления довольно медленная, но плавно пилообразно поджирает ресурсы, и через пол часа уже начинаются лаги.

В чём проблема, господа?

post-1856-0-69762100-1449079221.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

в использовании эффектов, это же очевидно.

 

лучше покажите код, что происходит и где используется glow эффект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Память на утечки проверяете при закрытии программы?

Помните, что в FMX анимации в цикле достаточно сильно нагружают процессор даже в том случае, если форма с анимацией в данный момент не показана (ой сколько я с этим эффектом намучился в свое время).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

в использовании эффектов, это же очевидно.

 

лучше покажите код, что происходит и где используется glow эффект?

 

вот например так:

glowLb.Opacity:=RandomRange(10, 90 + 1) * 0.01;

получается эффект моргающей подсветки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Память на утечки проверяете при закрытии программы?

Помните, что в FMX анимации в цикле достаточно сильно нагружают процессор даже в том случае, если форма с анимацией в данный момент не показана (ой сколько я с этим эффектом намучился в свое время).

92Vq4GC.png

 

Такое показывает.

Но, если смотреть на график потребления памяти, то даже после уничтожения { FreeAndNil(Form) } формы со всеми этими эффектами, память не высвобождается. 

 

Но я пока временно решил проблему тем, что вместо того, чтобы накладывать эффект на TLabel, я сделал такую же надпись в графич. редакторе и сделал 10 картинок с разным значением эффекта свечения, 

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

Изменено пользователем ununununun

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

покажите демо проект, чтобы понять что у вас происходит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Применение эффекта нужно делать в TThread.Synchronize(TThread.CurrentThread, ....)

(для каждой отрисовки "кадра")

Иначе они у Вас "накапливаться" будут.

Но я не стал бы их принять вообще в вашем случае (особенно Glow).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Применение эффекта нужно делать в TThread.Synchronize(TThread.CurrentThread, ....)

(для каждой отрисовки "кадра")

Иначе они у Вас "накапливаться" будут.

Но я не стал бы их принять вообще в вашем случае (особенно Glow).

post-1856-0-69762100-1449079221.png

 

посмотрите какой странный пилообразный график потребления памяти!

то есть, если сцену остановить в определённый момент времени, на спаде то память не расходуется.

а я использую omnithreadlibrary, где в TPathAnimation.OnProcess запускается CreateTask(Process,'Process').Run; Process() - это и есть процедура рисования эффектов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

покажите демо проект, чтобы понять что у вас происходит

https://youtu.be/pY3fM-NwKVs

Изменено пользователем ununununun

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...