5 ms·
This is totally backwards. HTML has no good elements for long lists at all, leading to janky techniques like "infinite scroll." But NSTableView was designed fro
by millstone 11y ago
This is totally backwards. HTML has no good elements for long lists at all, leading to janky techniques like "infinite scroll." But NSTableView was designed from the start with very long lists in mind.
Try opening a large repo and scrolling a list of commits in GitKraken. You'll see large blank areas that get filled in after a few seconds. Now try it in, say, GitUp, which uses NSTableView: it is perfectly smooth.
- swisspol 11y agoGitUp also loads the entire repo history in memory in a very optimized way, which is a key reason why it's so fast. Incidentally, this is something a web app like GitKraken can pretty much only dream of.
- ex3ndr 11y agoI don't see any complex NSTableView in GitUp, they definitely use something other. When i worked at Telegram, we worked hard to make default lists smooth and it is almost impossible. Eventually main client became Qt-based instead of native frameworks. All other Git tools also very slow on my MPB Retina. All of them are laggy in lists and only lists. Having nothing good for long lists doesn't matter as rendering pipline on OSX didn't updated for a years. Almost everything in UI on OSX is still software rendered instead of GPU. And Chrome extensively use GPU for rendering and that outperforms everything.