Re: Working on OS X

"Jack O'Quin" <[email protected]> Fri, 3 Apr 2009 22:50:54 -0500
Newsgroups gmane.comp.audio.jamin.devel
Message-ID <[email protected]>
On Fri, Apr 3, 2009 at 10:33 PM, Thomas Vecchione <[email protected]> wrote:
> Thanks for the reply-
>
> Hmm pretty certain I am running with period sizes over 256 at the moment,
> but I could be wrong, I will double check that shortly.  I will also try the
> -t option again, though I tried it once when I began suspecting the DSP
> thread creation and scheduling might be my issue, but noticed no difference
> that I could see.
>
> Also based off my observations, yes my strongest suspicion is with the DSP
> thread being the problem as well.  Thanks for the heads up on the -T switch
> though, that will come in handy at least to see the debugging output.  That
> is of course the other reason I didn't want to write my own debug code,
> along with duplicating effort, I figured there was a good reason for what
> yall had done:)

Maybe not a *good* reason,  but there was some rationale at least.

> Part of what is confusing about this is that it seemed to work fine under
> X11 on OS X performance wise, but switching to native GTK-OSX I am definitly
> running across these issues.  However nothing in gprof shows a problem, in
> only one of the 6 most time consuming tasks I think is related to GTK-OSX
> and that is a message dispatch routine for ObjC I believe, and even that is
> not taking up much.  The rest of them are all related to fftw however, but
> as I said, my CPU certainly isn't close to being maxed out.

The GUI and real-time parts of jamin are pretty well separated.  But,
it is certainly possible for there to be some undesired interaction
that causes the problems you are seeing.

> After talking with Paul on #ardour, he pointed me to the Jack Mach Code,
> which apparently is very simple in comparison to the code to get proper
> permissions in POSIX threads(It really is incredibly simple) but it was
> difficult to tell exactly what the thread creation code was or was not doing
> because I couldn't see the debug output.  Once I can be more sure of what is
> going on, I will take a stab at putting MACH thread support in and include
> it in my patch I can forward on to yall(Assuming I get it to patch cleanly
> against a more up to date version of Jamin of course).  The primary other
> changes have to do with removing preprocessor #defines for paths on OS X as
> most of the paths are all contained int he bundle which can be put pretty
> well anywhere on the computer, going off memory anyways, its been a couple
> of months since I did that work.

Even if the MACH thread creation is straightforward, the interaction
of the JACK thread with the DSP thread is quite complex.  Too complex,
in my view.

> I also tend to agree that low latency is not a priority for mastering
> though, so if upping my period size works, I will just add the -t to the
> startup script if I can for the moment until I get a chance to look closer
> at Mach threads.
>
> Again thanks for the help, I am sure I will be back with more questions

I will probably respond more quickly.  Your first message arrived just
as I had returned from a trip.  It took me a while to catch up will
the e-mail backlog.
-- 
 joq

------------------------------------------------------------------------------