[L2Ork-dev] Node.js multithreading: What are Worker threads, and why do they matter? - LogRocket Blog

Jonathan Wilkes jon.w.wilkes at gmail.com
Fri Jun 12 22:25:21 EDT 2020


On Fri, Jun 12, 2020 at 7:47 PM Ivica Bukvic <ico at vt.edu> wrote:
>
> This may be a way how to avoid console output bogging down the main GUI. Namely, running it in a background.
>
> https://blog.logrocket.com/node-js-multithreading-what-are-worker-threads-and-why-do-they-matter-48ab102f8b10/

It looks like we've run into this before given the presence of
throttle_console_scroll in pdgui.js. But that was just due
to the slowness of the scrollbar itself.

Probably an easier solution than a worker thread is to batch appending
new stuff to the console when necessary:

1. when a message to the console arrives, print it immediately and set
a timeout, say 30ms
2. during the timeout period, add incoming console messages to a
documentFragment
3. at the end of the timeout, if there's content inside the
documentFragment then append it to the console and start a new
timeout. If there's no content then do nothing.

That way if a user is thrashing the console, they only eat the cost of
rendering at most every 30ms.

-Jonathan

>
> 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
> _______________________________________________
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
> https://disis.music.vt.edu/listinfo/l2ork-dev


More information about the L2Ork-dev mailing list