Live data from Hacker News

Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

github.com

51–60 of 226 posts

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#52
Very Nice. There is an issue with panning on the million point demo -- it currently does not redraw until the dragging velocity is below some threshold, but it should seem like the points are just panned into frame. It is probably enough to just get rid of the dragging velocity threshold, but sometimes helps to cache an entire frame around the visible range

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#54

Both a .cursor AND a .claude folder, what a yikes. Slop post galore

Soon there will be only 3 factors that we will care about: API (easy to use and integrate), behavior (does it do what I want it to do?) and testability (do I have sufficient guaranty that the code doesn't have errors).

The fact that the code was generated by a human or a machine is less and less important.

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#55

Earlier quoted context omitted.

Because it is not reasonable to expend high effort to verify something that took no effort to create. That is not a workable long term solution. Instead you have to rely on low effort signals to signify if something is WORTH expending energy on.

I didnt read your comment, because it would take me longer than just writing: your comment looks like LLM slop.

If thats your signal then you lock yourself out of all parts of this website, not the best heuristic

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#56

Both a .cursor AND a .claude folder, what a yikes. Slop post galore

Soon there will be only 3 factors that we will care about: API (easy to use and integrate), behavior (does it do what I want it to do?) and testability (do I have sufficient guaranty that the code doesn't have errors). The fact that the code was generated by a human or a machine is less and less important.

And how do you verify those three things in a rapid low effort fashion?

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#57

Fun benchmark :) I'm getting 165 fps (screen refresh rate), 4.5-5.0 in GPU time and 1.0 - 1.2 in CPU time on a 9970x + RTX Pro 6000. Definitely the smoothest graph viewer I've used in a browser with that amount of data, nicely done! Would be great if you had a button there one can press, and it does a 10-15 second benchmark then print a min/max report, maybe could even include loading/unloading the data in there too,…

165 fps on that setup - that's awesome to hear! Thanks for testing on high-end hardware. Love the benchmark button idea. A "Run Benchmark" mode that captures: - Load time - GPU time - CPU time - Min/max/avg FPS over 10-15 seconds - Hardware info Then export a shareable summary or even a URL with encoded results. Would make for great comparison threads. Adding this to the roadmap - would make a great v0.2 feature. Tha…

Just to emphasize how good the performance is, I get 34.7 FPS on the Million Points demo... with sampling disabled and fully zoomed out!!!

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#58

Fantasic Hunter, congrats! I've been looking for a followup to uPlot - Lee who made uPlot is a genius and that tool is so powerful, however I need OffscreenCanvas running charts 100% in worker threads. Can ChartGPU support this? I started Opus 4.5 rewrite of uPlot to decouple it from DOM reliance, but your project is another level of genius. I hope there is consideration for running your library 100% in a worker thre…

Thanks! Leon's uPlot is fantastic - definitely an inspiration. Worker thread support via OffscreenCanvas is a great idea and WebGPU does support it. I haven't tested ChartGPU in a worker context yet, but the architecture should be compatible - we don't rely on DOM for rendering, only for the HTML overlay elements (tooltips, axis labels, legend). The main work would be: 1. Passing the OffscreenCanvas to the worker 2.…

I am on the same boat. Current user and a fan of uPlot starting to hit performance limits. Thank you for this library, I will start testing it soon.

On the topic of support for worker threads, in my current project I have multiple data sources, each handled by its own worker. Copying data between worker and main thread - even processed - can be an expensive operation. Avoiding it can further help with performance.

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#59

I've always been a bit skeptical of JS charting libs that want to bring the entire data to the client and do the rendering there, vs at least having the option to render image tiles on the server and then stream back tooltips and other interactive elements interactively. However, this is pretty great; there really aren't that many use cases that require more than a million points. You might finally unseat dygraphs as…

> I've always been a bit skeptical of JS charting libs that want to bring the entire data to the client and do the rendering there, vs at least having the option to render image tiles on the server and then stream back tooltips and other interactive elements interactively.

I agree, unfortunately no library I've found supports this. I currently SSR plots to SVG using observable plot and JSDom [0]. This means there is no javascript bundle, but also no interactivity, and observable doesn't have a method to generate a small JS sidecar to add interactivity. I suppose you could progressive enhance, but plot is dozens of kilobytes that I'd frankly rather not send.

[0] https://github.com/boehs/site/blob/master/conf/templating/ma...

Re: Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

#60
Right on time.

We’ve been working on a browser-based Link Graph (osint) analysis tool for months now (https://webvetted.com/workbench). The graph charting tools on the market are pretty basic for the kind of charting we are looking to do (think 1000s of connected/disconnected nodes/edges. Being able to handle 1M points is a dream.

This will come in very handy.

Post reply on HN