Hi All,

  Yesterday I noticed the huge memory usage by the webvfx plugin, as melt
crashed due to "out of memory". My mlt project contains only one track,
which contains a serious of clips, say C1, C2, ... There might be standard
simple transitions between clips.

  A webvfx filter is attached for each cilp. The filter will load a
complicated HTML page which involves 3d map etc. The page may use up to 1GB
memory in practice.

  I noticed that whenever a new cilp starts being rendered, melt will use
1GB memory more memory. At first I thought it's some memory leak in
QtWebKit, but after playing around with the webvfx files
<https://github.com/mltframework/webvfx/tree/master/mlt>, I noticed that
services (also filters, effects) are being created but never destroyed!
>From the code it seems that the objects will be destroyed when the whole
rendering sequence is finished, but I couldn't verify that as melt always
crashed before finishing.

  This means that, say when C5 is being rendered, the webvfx filters for C1
- C4 still exist in memory, which will actually never be used again.


  I can think of only 2 possible solutions:

1. To reuse existing webvfx plugin. I might try to hack to code, to use
some singleton service/filter/effect internally. But this is too hacky and
may not work in general for other projects.

2. To unload a plugin which is no longer needed, but I'm not sure how to do
so. It seems that the frames are rendered individually and the filters are
loaded on demand. Are there events/signals when a clip is fully rendered?

  What do you think?


  regards,
  - Lu
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to