On Wednesday, August 30, 2023 12:49:24 PM CEST Doug Gray wrote:
> Christian,
> Yes the output I posted  began  just before pressing sufficient keys to
> trigger the failure event, ie laying my arm across the keys.  Capturing
> only the key presses, the failure itself and subsequent recovery,
> approximately 11 seconds in all.  Fortunately sysprof tool allowed
> capturing an interval like this.

OK, I was just confused because of the

    sfz::InstrumentResourceManager::SfzResourceManager::Create()

method call in your output, which should only be called while loading an
instrument, not  during normal real-time playback.

But I just realized that I misinterpreted the output: it is just there because
Create() originally registered a Lambda Function by calling AddPeriodicJob():

http://svn.linuxsampler.org/cgi-bin/viewvc.cgi/linuxsampler/trunk/src/engines/sfz/InstrumentResourceManager.cpp?view=markup&pathrev=4019#l173

So it is that Lambda function registered by the AddPeriodicJob() call that is
consuming those 10% CPU time.

I am still not seeing any obvious cause for what you reported. But it is
apparent that this registered Lambda function consumes more CPU time than it
ought to be. So I would try testing by simpling commenting out that
AddPeriodicJob() call and also by commenting out the following code block:

160                 // perform periodic, custom jobs on behalf of external 
components
161                 {
162                     LockGuard lock(periodicJobsMutex);
163                     for (ext_job_t job : periodicJobs) {
164                         job.fn();
165                     }
166                 }

http://svn.linuxsampler.org/cgi-bin/viewvc.cgi/linuxsampler/trunk/src/engines/InstrumentManagerThread.cpp?view=markup&pathrev=4019#l160

All it does is periodically checking if the SFZ file was externally modified,
and if yes, it would automatically reload the SFZ file to adapt playback
according to those external SFZ file changes.

Tha feature is for people creating new SFZ files or modifying existing ones.

/Christian




_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to