start-5 / TiTS.JS-Save-Editor

Trials in Tainted Space Save Editor
https://start-5.github.io/TiTS.JS-Save-Editor/
MIT License
30 stars 6 forks source link

Add virtualization to big lists #72

Open start-5 opened 1 year ago

start-5 commented 1 year ago

A big problem that is still present is the horrible performance of big lists.

Taking a glance at the counts.js file there are 5k+ game flags and almost 2k status effects. The way this is being displayed right now is the simplest, it simply paints the entire list of items on screen.

Rendering thousands of divs (that have even more nested elements) is of course inefficient as hell. It's bad enought to be noticeable on high end systems, especially when switching to the flags tab it takes about a second to paint, it's even worse on mobile.

There should be a way to add virtual scrolling to handle huge datasets like this, tho no idea how difficult it might be in a semi-vanilla js project like this.

mfrw-mf commented 1 year ago

can you help me with this (pressing on the link to open the editor gives me this error. An unhandled exception ocurred! If you can, please open a GitHub issue so it can be fixed. Select "OK" to copy the error to your clipboard:

Message: $ is not defined Stacktrace: @https://start-5.github.io/TiTS.JS-Save-Editor/:150:9 )