Hacker Newsnew | past | comments | ask | show | jobs | submit | jmatjs's commentslogin

It's now updated with a new faster renderer (one big canvas instead of many little ones), does it feel any faster now? Thanks for trying

It runs faster for me in chrome and firefox in linux


The rendering slowness is probably because every cell is rendered as an individual little HTML5 canvas (two, one for off state and one for on state).

Some browsers have no problem at all with so many little canvases, but in firefox it causes a slowdown.

A solution that will hopefully be faster is to make one big canvas instead of many little ones, and blit the cells on it every frame instead of using CSS visibility to swap between on and off states for each cell. Such rewrite of the rendering engine is a todo.


I was having the same problem using Chrome.

It seems there are just simply too many elements generated for some of the examples.

It would probably be possible to draw an interactive version to a single canvas— but probably more complex on the development end.

---

Beyond that, it's awesome!


It's now updated with a new faster renderer (one big canvas instead of many little ones), does it feel any faster now? Thanks!


Way better. Thanks!


WAY faster!


Any reason for not using canvas or some kind of framework like Vue/preact/etc?


The problem here is not a lack of framework, but the overkill usage of elements.

I think even a game-like approach of using a single canvas and re-rendering the whole screen when something changes would be more efficient than manual DOM mutations.


Not the OP but maybe because they wrote it in what they know and actually shipped.


Snarky comments will be ignored. ╭∩╮⎛○⏜⏟〤○⎞╭∩╮


Wasn't snark, Mr Hostility. DOM manipulation is a very expensive operation and is abstracted by a lot of useful libraries - was wondering if there was a specific reason to not use them.

Canvas is another type of abstraction - and blitting to the screen is easier with it - so same applies.


Ok, improving the Bessel functions is now the first priority thing to fix :)


Thanks for the feedback.

There is some overlap between those libraries. However, it does one thing that none of the other JS libraries (from here: http://jster.net/category/math-libraries) really focus on: to support the full complex domain for all the functions.

About numerics vs plotting: They are in different js files, jsmat.js and jsmat_plot.js. The plotting file depends on the numerics one though, as it needs to use its Complex type. The main focus of the package is the numerics, the plotting is a demo, and especially, debugging device.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: