question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ability to manage Events and Schedule Rendering

See original GitHub issue

Context: We have been prototype using Maquette with dgrid considering using it for the next major version. We have found a few things that we see as challenges for us in adopting it. @kfranqueiro, @maier49, and @edhager have been working on the prototyping.

Problem Description

In certain cases, the application is aware that certain DOM Events of which it has listeners for do not equate to any mutations of the DOM, but currently Maquette will always schedule a render on any listener provided via the VDOM.

Also, we are unsure if the intent of Maquette to potentially manage these events. While the code documents the projector option of eventHandlerInterceptor the actual code will always overwrites this option with one that always schedules a render. (We suspect this is a defect)

@pdfernhout brought this up in #31, but we have had some further experience with this.

Impact

We noticed in our prototypes a significant amount of “jank” when the list was scrolled. Part of that “jank” we us actually some coding issues in our implementation and we were able to get the performance to improve to a great degree, but we highly suspect that in certain situations under certain environments, a schedule render for every scroll event would make the performance unacceptable.

Discussion

We suspect the eventHandlerInterceptor is potentially a defect.

On the wider topic though which was discussed in #31. The application “knows” that only an aggregate scroll movement of X actual would cause the DOM to need to be updated and that often takes 10x the DOM events to equal something the application actually cares about, so for 9 of those events, we have recalculated the whole of the VDOM which results in a noop for actual DOM mutations. The feeling I get from the discussion in #31 was “let’s discuss real problems, versus potential ones” which, to me, makes a lot of sense. I think we have come up with a use case though that can cause real problems. Implementing a custom eventHandlerInterceptor could resolve this issue (or as suggested in the other ticket, a custom Projector). In both those cases though, it would mean we would have to become the “experts” at VDOM versus and something we are reticent to do.

We hope given a compelling use case, we can find a way to improve Maquette to be able to manage DOM events bubbled up to the application more efficiently.

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:11 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
CitrusFruitscommented, Feb 4, 2020

@johan-gorter I apologize, I missed your previous comment. I will test it out today.

0reactions
CitrusFruitscommented, Feb 5, 2020

@johan-gorter That sounds good to me.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Friday Finds: 6 Creative Uses for Event Rendering Software
Event rendering software is about more than just seating charts. Explore creative ways planners, vendors, and venues can use this essential tool.
Read more >
3D Rendering and Benefits to the Event Planning Process
3D event rendering is a key component in the design process for any type of event. The ability to show off your space...
Read more >
Render events in Power BI visuals - Microsoft Learn
Rendering events are a requirement for visuals certification. Without them your visual won't be approved by the Partner Center for publication.
Read more >
Event Renders Illustrate The 'New Norm' for Events
Encore is taking the guess work out of how your event will look as we return to live events with event rendering software....
Read more >
RENDER Event Design
RENDER Event Design is a full-service event planning and meeting management production company. From conception to execution - we bring ideas to life!...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found