Hi!

I am working on a realtime audio application in which I use clutter for gui. (Don't know yet whether this is a good idea or not. Seems to perform acceptable yet)

I read a howto about building RT apps.
https://rt.wiki.kernel.org/articles/b/u/i/HOWTO~_Build_an_RT-application_6066.html
https://rt.wiki.kernel.org/articles/t/h/r/Threaded_RT-application_with_memory_locking_and_stack_handling_example_f48b.html

It suggests minimizing the number of page faults during runtime by locking the memory (mlockall()) and allocating a huge buffer on the heap and deallocating it, causing any malloc() calls later to get memory from the resident memory area which was given to the process in the first allocation.

I also measure the number of page faults in the process and I had to realize: gtk_clutter_init() always causes 2 major page faults. Its ok as it is just an initialization function, but also during runtime some minor page faults happen (magnitude of ~20000) and an extra 50Mb of memory is allocated beside my huge heap buffer. Part of it may be the stack for my threads (~24Mb), but the other part can only come from a library I use. I try to rule out the libs systematically (boost, jack, gtk, clutter), but clutter is suspicious with its 2 major page faults in the init function. (It can be gtk as well, as its a gtk_clutter_init() call :-))

So: Is clutter using memory allocation methods other from stack and malloc()? Or am I miss something in the whole concept?

Thanks,
Dennis
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to