[L2Ork-dev] Curious slowdown on a GOP array interaction
Ivica Ico Bukvic
ico at vt.edu
Wed Jun 17 14:50:55 EDT 2020
Before you do, I think I came up with a solution that delegates much of
this control to the front-end and works around the scrollbar race
condition while keeping scrollbars as responsive as possible. This will
have to be a separate merge request overriding the previous scrollbars
implementation (to be uploaded shortly). The only thing still missing is
scaling the svg, rather than doing canvas_check_geometry all over. This
will only possible after the scalar click detection is moved to the
front-end.
On 6/17/2020 2:37 PM, Jonathan Wilkes wrote:
> Okay, turns out I was part way there:
>
> see array_configure in g_scalar.c.
>
> There I am using a special case for plot_vis, but everything
> else is already optimized.
>
> I'm going to take a stab at amending plot_vis so that it
> can just update the damn data.
>
> I'll report back what I find...
>
> On Wed, Jun 17, 2020 at 1:34 PM Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>> On Wed, Jun 17, 2020 at 1:29 PM Ivica Ico Bukvic <ico at vt.edu> wrote:
>>> ... Curiously, as long as the array is not the top object, redraw is way faster. Even having a canvas that is on top of it in the gl_list (does not have to be above it visually, anywhere on the canvas), makes things again super fast...
>> Another data point in favor of what I just wrote.
>>
>> If we only ever change the path data/element attributes of *existing*
>> DOM elements, z-order isn't changed, relayout isn't
>> triggered, everything will just work.
>>
>> -Jonathan
>>
>>> On 6/17/2020 1:20 PM, Ivica Ico Bukvic wrote:
>>>
>>> So, slowdown is linked to the z-order of the object being manipulated. If it is all the way in the back, it is fast, in the front it is slow...
>>>
>>> On 6/17/2020 11:54 AM, Ivica Ico Bukvic wrote:
>>>
>>> Oh, and the last element on any type of a plot is not clickable in most cases regardless whether joc is enabled.
>>>
>>> On 6/17/2020 11:53 AM, Ivica Ico Bukvic wrote:
>>>
>>> So, the slowdown is not there on 0.14.7, so this is definitely a 0.46.2 and 0.47 issue, and moving things around the canvas definitely has an effect. To add to the list below, inside the bar graph the click has a right offset both on 0.14.7 and 0.46.2, so this is definitely a bug on our end. Also, clicking on plots inside a subpatch, yields spotty results (both on 0.46.2 and 0.14.7), where sometimes only a single click works (could be something I added inside the pd_canvas.js or pdgui.js, so it would be helpful to know if you have the same problem). Lastly, as pointed out in the issues tracker, subpatches do not retain their positions when closed and reopened.
>>>
>>> On 6/17/2020 11:42 AM, Ivica Ico Bukvic wrote:
>>>
>>> Try the attached patch and try moving the points inside the point-inv array. It works a lot slower and has a much higher cpu footprint than any other array in the patch. This is on 0.46.2. Might be worth trying it on 0.14.7 or 0.20 for comparison.
>>>
>>> Another couple of problems (as noted in issues I submitted last night):
>>>
>>> Properties is sometimes available in the popup and sometimes isn't inside the subpatch. We need to either make it work consistently or not. I have no idea why this is happening however.
>>> Clicking on objects while the subpatch is open is often impossible. glist_xtopixels and glist_ytopixels inside g_graph.c often shows that xval (which is I belive cursor position) shows some super large number (I think the largest either positive or negative float value), suggesting something is getting messed up inside backend somewhere along the way.
>>> We may consider simply enabling jump-on-click at all times, since other one is a pain to use and is not really useful.
>>>
>>> Best,
>>>
>>> Ico
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
>>>
>>> --
>>> Ivica Ico Bukvic, D.M.A.
>>> Director, Creativity + Innovation
>>> Institute for Creativity, Arts, and Technology
>>>
>>> Virginia Tech
>>> Creative Technologies in Music
>>> School of Performing Arts – 0141
>>> Blacksburg, VA 24061
>>> (540) 231-6139
>>> ico at vt.edu
>>>
>>> www.icat.vt.edu
>>> www.performingarts.vt.edu
>>> l2ork.icat.vt.edu
>>> ico.bukvic.net
--
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology
Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
ico at vt.edu
www.icat.vt.edu
www.performingarts.vt.edu
l2ork.icat.vt.edu
ico.bukvic.net
More information about the L2Ork-dev
mailing list