I don't quite understand.  Are you saying that this || to + change does help
or does not help?

.hc

On 02/14/2013 09:27 PM, Ivica Ico Bukvic wrote:
> OK, so I had several L2Ork rehearsals on new machines with this patch
> applied and I can confirm that this is actually a regression. GUI in heavy
> traffic situations gets visibly sluggish and falls behind, so to say. This
> still leaves the only notable difference between pd-l2ork and pd that has so
> far proven pd-l2ork resistant to the problems encountered below and those
> have to do with the way how pd-l2ork has altered both netsend/netreceive and
> also provided its own disis_netsend/receive externals that have been
> reported before on this list to have fixed similar gui freeze issues...
> 
>> -----Original Message-----
>> From: Miller Puckette [mailto:m...@ucsd.edu]
>> Sent: Thursday, December 20, 2012 11:46 PM
>> To: Ivica Bukvic
>> Cc: pd-list@iem.at
>> Subject: Re: [PD] GUI overload
>>
>> My worry is, I'm not sure if there's still a problem out there that the
>> || -. + change fixes.  Maybe I should try to cook up a formal definition
>> of what "working correctly" should consist of :)
>>
>> M
>>
>> On Thu, Dec 20, 2012 at 09:30:40PM -0500, Ivica Bukvic wrote:
>>> Miller,
>>>
>>> Pd-l2ork has this fix since your original post on the PD list and I've
> yet
>>> to see any regressions. Many thanks for the suggestion. That said, I've
> yet
>>> to understand the logic behind it ;-).
>>>
>>> P.S. I also discovered quite a while ago that netreceive had a tendency
> to
>>> freeze GUI permanently, likely due to asynchronous message processing. I
>>> fixed this by enqueuing its messages and syncing them with the main PD
>>> loop. This has been a part of pd-l2ork for over a year without a single
> GUI
>>> freeze. That said, I did encounter situations where high traffic would
>>> freeze GUI temporarily and then resume (albeit running now behind the
>>> actual timeline as the GUI would simply resume as if nothing happened,
>>> rather than processing all calls that have piled up since the temporary
>>> freeze happened and for which time has already passed, e.g. having a
>> timer
>>> in a score that freezes and then resumes from the moment it was stuck
>>> rather than adding seconds lost since such calls should've been enqueued
>>> while the freeze was in effect). This may have been in part due to atom
>>> cpus being taxed to their very limits. I've yet to see whether your
>>> proposed fix resolves the lingering issue.
>>>
>>> HTH
>>>
>>> Best wishes,
>>>
>>> Ico
>>> On Dec 20, 2012 7:02 PM, "Miller Puckette" <m...@ucsd.edu> wrote:
>>>
>>>> OK... I've pushed a change that seems to have fixed the
>>>> arrays-atop-updating
>>>> problem (at lest in the Brane example).  Not sure if I should also
> commit
>>>> the
>>>>   return (sys_domicrosleep(0, 1) || sys_poll_togui())  ---> + change
>>>> as well (somehow I think it should never be necessary to do that but
> I'm
>>>> realizing how little I understand Pd's scheduler.)
>>>>
>>>> cheers
>>>> M
>>>>
>>>> On Thu, Dec 20, 2012 at 12:17:35PM -0500, Hans-Christoph Steiner
> wrote:
>>>>>
>>>>> It seems that there are a number of issues here:
>>>>>
>>>>> * GUI objects sending every update, regardless of change (fixed)
>>>>>
>>>>> * arrays stop updating on Mac OS X (pinpointed) I just tested this
> on
>>>> Windows, and it looks like only Mac OS X is affected
>>>>>
>>>>> * all GUI activity stopping related to:
>>>>>   return (sys_domicrosleep(0, 1) || sys_poll_togui())
>>>>>
>>>>>
>>>>> * GUI objects sending updates to GUI as fast as they receive them
> even
>>>> tho the screen will never update faster than every ~10ms.
>>>>>
>>>>> * some GUI updates send lots of raw Tcl code to be parsed, compiled,
>> and
>>>> run in realtime
>>>>>
>>>>> .hc
>>>>>
>>>>> On Dec 20, 2012, at 5:54 AM, Ed Kelly wrote:
>>>>>
>>>>>> OK, well in fact the problem was not arrays updating. It was all
> the
>>>> other GUI objects (sliders, mknob, num2 etc) that would freeze, and
> this
>> is
>>>> running on GNU/Linux. This was a real problem, since I could change
>> them
>>>> with the mouse, but the results of the change were not shown (e.g. the
>>>> pattern-number in one of my sequencers).
>>>>>>
>>>>>> Changing sys_pollgui() did fix this, so perhaps what we are
> actually
>>>> dealing with is two separate issues, one concerning arrays and another
>>>> concerning the rest of the GUI.
>>>>>>
>>>>>> Ed
>>>>>>>
>>>>>>
>>>>>>> I tracked down the commit that seems to be causing the problem
>> that
>>>> Porres
>>>>>>> reported.  I think its a totally different problem related to
>>>> Pd-0.43's new
>>>>>>> portaudio implementation.  It does not affect GNU/Linux, which
>>>> doesn't use
>>>>>>> protaudio.  I haven't tested it on Windows.
>>>>>>>
>>>>>>>
>>>>
>> https://sourceforge.net/tracker/?func=detail&aid=3573542&group_id=5573
>> 6&atid=478070
>>>>>>>
>>>>>>> Ed, if part of your problem is arrays that stop updating and
> you're
>>>> running
>>>>>>> on Mac OS X or maybe Windows, this might also be affecting you.
>>>>>>>
>>>>>>> .hc
>>>>>>>
>>>>>>> On Dec 17, 2012, at 3:12 PM, Miller Puckette wrote:
>>>>>>>
>>>>>>>> OK... except that I don't know why this works yet... by which i
>>>> mean, I
>>>>>>>> don't think it's possible that sys_domicrosleep(0 is returning
> 1s
>>>>>>> on every
>>>>>>>> tick unless teh GUI itself is sending hundreds of messages per
>>>> second down
>>>>>>>> to Pd.
>>>>>>>>
>>>>>>>> Reducing the average volume of trafic won't solve the underlying
>>>>>>> problem, it
>>>>>>>> will just make it harder to recreate it :)
>>>>>>>>
>>>>>>>> M
>>>>>>>>
>>>>>>>> On Sun, Dec 16, 2012 at 08:00:31PM -0500, Hans-Christoph Steiner
>>>> wrote:
>>>>>>>>>
>>>>>>>>> I've seen similar things, like with the patches that Porres
>>>>>>> submitted.  It
>>>>>>>>> looks like what's happening is that when there are too many
>> updates
>>>>>>> being
>>>>>>>>> sent, a lot of them get dropped.  Its pretty easy to get 250k
> per
>>>>>>> second of
>>>>>>>>> Tcl code being sent to the GUI, so we're asking a lot of the
> Tcl
>>>>>>> parser and
>>>>>>>>> compiler.  The solution is to reduce the amount of Tcl code
> that
>>>> gets
>>>>>>> sent and
>>>>>>>>> also use Tcl procs to handle bigger chunks of stuff so that we
> can
>>>> take
>>>>>>>>> advantage of Tcl caching parsed and compiled procs.
>>>>>>>>>
>>>>>>>>> .hc
>>>>>>>>>
>>>>>>>>> On 12/16/2012 01:47 PM, Miller Puckette wrote:
>>>>>>>>>> This is just a guess... in s_inter.c, try replacing:
>>>>>>>>>>
>>>>>>>>>> int sys_pollgui(void)
>>>>>>>>>> {
>>>>>>>>>>     return (sys_domicrosleep(0, 1) || sys_poll_togui());
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> with:
>>>>>>>>>>
>>>>>>>>>> int sys_pollgui(void)
>>>>>>>>>> {
>>>>>>>>>>     return (sys_domicrosleep(0, 1) + sys_poll_togui());
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> It's possible that sys_domicrosleep(0 - which polls for input
>>>>>>> from GUI and
>>>>>>>>>> other FDs - isn't ever returning "idle" (zero) so
>>>>>>> that sys_poll_togui() never
>>>>>>>>>> gets called.
>>>>>>>>>>
>>>>>>>>>> I've also seen a patch's GUI stop updating, but rather than
>>>>>>> bewail the fact
>>>>>>>>>> that my GUI was dead, my immediate reactions was to be
>> astonished
>>>>>>> that the
>>>>>>>>>> sound was still working :)
>>>>>>>>>>
>>>>>>>>>> Miller
>>>>>>>>>>
>>>>>>>>>> On Sun, Dec 16, 2012 at 01:47:43PM +0000, Ed Kelly wrote:
>>>>>>>>>>> Hi List,
>>>>>>>>>>>
>>>>>>>>>>> I'm not going to say whether this is a
>>>>>>> "recurrent" problem as it's hard to say whether the rewrite of
> the
>>>>>>> GUI has affected it...
>>>>>>>>>>>
>>>>>>>>>>> I'm using a lot of abstractions with larger GOP or non-GOP
>>>>>>> GUIs, and I find the following problem occurs. There comes a
> point
>>>> where the GUI
>>>>>>> objects stop responding in a patch when it is reloaded. I am
>>>> wondering if there
>>>>>>> is a specific limit to GUI objects that could be changed. I think
> Pd
>>>> is making
>>>>>>> some kind of decision that "there's too much of this stuff - I'm
>>>>>>> gonna prioritize the audio and not worry about it" and I'd like
> to
>>>> know
>>>>>>> how or if it is possible to control this process from within Pd,
> or
>>>> by setting
>>>>>>> flags on the command line.
>>>>>>>>>>>
>>>>>>>>>>> I'm also making less GUI intensive versions for performance
>>>>>>> time, since the really big GUI patches are often
> pattern-sequencers
>>>> which I will
>>>>>>> not want to program when I am performing. Example patch
>> enclosed to
>>>> give you an
>>>>>>> idea. The really GUI-intensive objects are the trackers,
> especially
>>>> quadtracker
>>>>>>> (which I think has pushed the GUI of Pd patches about as far as I
> can
>>>> go now).
>>>>>>>>>>>
>>>>>>>>>>> System: quad core i5 PC running Ubuntu (10.04 Lucid),
>>>>>>> Pd-0.43-4, lots of externals compiled and loaded.
>>>>>>>>>>>
>>>>>>>>>>> Warm wishes,
>>>>>>>>>>> Ed
>>>>>>>>>>>
>>>>>>>>>>> Gemnotes-0.2: Live music notation for Pure Data, now with
>>>>>>> dynamics!
>>>>>>>>>>> http://sharktracks.co.uk/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pd-list@iem.at mailing list
>>>>>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pd-list@iem.at mailing list
>>>>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pd-list@iem.at mailing list
>>>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pd-list@iem.at mailing list
>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list@iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> http://lists.puredata.info/listinfo/pd-list
>>>>
>>
>>> _______________________________________________
>>> Pd-list@iem.at mailing list
>>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
> 
> 
> 
> _______________________________________________
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 

_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to