39 comments

  • leeoniya 8 minutes ago
    uPlot maintainer here. this looks interesting, i'll do a deeper dive soon :)

    some notes from a very brief look at the 1M demo:

    - sampling has a risk of eliminating important peaks, uPlot does not do it, so for apples-to-apples perf comparison you have to turn that off. see https://github.com/leeoniya/uPlot/pull/1025 for more details on the drawbacks of LTTB

    - when doing nothing / idle, there is significant cpu being used, while canvas-based solutions will use zero cpu when the chart is not actively being updated (with new data or scale limits). i think this can probably be resolved in the WebGPU case with more code.

    - creating multiple charts on the same page with GL (e.g. dashboard) has historically been limited by the fact that Chrome has a limit of 16 active GL contexts that can be acquired. Plotly finally solved this by using https://github.com/greggman/virtual-webgl

    • aurbano 0 minutes ago
      Not much to add, but as a very happy uPlot user here - just wanted to say thank you for such an amazing library!!
  • zokier 46 minutes ago
    If you have tons of datapoints, one cool trick is to do intensity modulation of the graph instead of simple "binary" display. Basically for each pixel you'd count how many datapoints it covers and map that value to color/brightness of that pixel. That way you can visually make out much more detail about the data.

    In electronics world this is what "digital phosphor" etc does in oscilloscopes, which started out as just emulating analog scopes. Some examples are visible here https://www.hit.bme.hu/~papay/edu/DSOdisp/gradient.htm

    • huntergemmer 30 minutes ago
      Great suggestion - density mapping is a really effective technique for overplotted data. Instead of drawing 1M points where most overlap, you're essentially rendering a heatmap of point concentration. WebGPU compute shaders would be perfect for this - bin the points into a grid, count per cell, then render intensity. Could even do it in a single pass. I've been thinking about this for scatter plots especially, where you might have clusters that just look like solid blobs at full zoom-out. A density mode would reveal the structure. Added to the ideas list - thanks for the suggestion!
  • hienyimba 1 hour ago
    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.

    • huntergemmer 1 hour ago
      That's a cool project! Just checked out the workbench. I should be upfront though: ChartGPU is currently focused on traditional 2D charts (line, bar, scatter, candlestick, etc.), not graph/network visualization with nodes and edges. That said, the WebGPU rendering patterns would translate well to force-directed graphs. The scatter renderer already handles thousands of instanced points - extending that to edges wouldn't be a huge leap architecturally.

      Is graph visualization something you'd want as part of ChartGPU, or would a separate "GraphGPU" type library make more sense? Curious how you're thinking about it.

      • agentcoops 36 minutes ago
        Really fantastic work! Can't wait to play around with your library. I did a lot of work on this at a past job long ago and the state of JS tooling was so inadequate at the time we ended up building an in-house Scala visualization library to pre-render charts...

        More directly relevant, I haven't looked at the D3 internals for a decade, but I wonder if it might be tractable to use your library as a GPU rendering engine. I guess the big question for the future of your project is whether you want to focus on the performance side of certain primitives or expand the library to encompass all the various types of charts/customization that users might want. Probably that would just be a different project entirely/a nightmare, but if feasible even for a subset of D3 you would get infinitely customizable charts "for free." https://github.com/d3/d3-shape might be a place to look.

        In my past life, the most tedious aspect of building such a tool was how different graph standards and expectations are across different communities (data science, finance, economics, natural sciences, etc). Don't get me started about finance's love for double y-axis charts... You're probably familiar with it, but https://www.amazon.com/Grammar-Graphics-Statistics-Computing... is fantastic if you continue on your own path chart-wise and you're looking for inspiration.

        • huntergemmer 16 minutes ago
          Thanks - and great question about direction. My current thinking: Focus on performance-first primitives for the core library. The goal is "make fast charts easy" not "make every chart possible." There are already great libraries for infinite customization (D3, Observable Plot) - but they struggle at scale.

          That said, the ECharts-style declarative API is intentionally designed to be "batteries included" for common cases. So it's a balance: the primitives are fast, but you get sensible defaults for the 80% use case without configuring everything. Double y-axis is a great example - that's on the roadmap because it's so common in finance and IoT dashboards. Same with annotations, reference lines, etc. Haven't read the Grammar of Graphics book but it's been on my list - I'll bump it up. And d3-shape is a great reference for the path generation patterns. Thanks for the pointers!

          Question: What chart types or customization would be most valuable for your use cases?

    • MeteorMarc 19 minutes ago
      Can you please comment about this trust listing? Are we talking the same thing?https://gridinsoft.com/online-virus-scanner/url/webvetted-co...
    • kposehn 1 hour ago
      Agreed. This is highly, highly useful. Going to integrate this today.
      • huntergemmer 10 minutes ago
        Awesome - let me know how it goes! Happy to help if you hit any rough edges. GitHub issues or ping me here.
    • wesammikhail 1 hour ago
      my 2 cents: I'm one of these people that could possibly use your tool. However, the website doesnt give me much info. I'd urge you to add some more pages that showcase the product and what it can do with more detail. Would help capture more people imo.
  • marginalx 9 minutes ago
    @huntergemmer - assuming you are the author, curious about your experience using .claude and .cursor, I see sub agents defined under these folders, what percent of your time spent would you say is raw coding vs prompting working on this project? And perhaps any other insights you may have on using these tools to build a library - see your first commit was only 5 days ago.
  • azangru 2 hours ago
    Bug report: there is something wrong with the slider below the chart in the million-points example:

    https://chartgpu.github.io/ChartGPU/examples/million-points/...

    While dragging, the slider does not stay under the cursor, but instead moves by unexpected distances.

    • huntergemmer 1 hour ago
      Thanks - you're the second person to report this! Same issue as the Mac M1 scrollbar bug reported earlier.

      Looks like the data zoom slider has a momentum/coordinate mapping issue. Bumping this up the priority list since multiple people are hitting it.

  • smusamashah 43 minutes ago
    Can it scroll while populating? I was trying to heart rate chart using libs which is captured at 60fps from camera (finger on camera with flash light). Raw drawing with canvas was faster than any libs.

    Drawing and scrolling live data was problem for a lib (dont remember which one) because it was drawing the whole thing on every frame.

  • pdyc 1 hour ago
    Wow, this is great. I practically gave up on rendering large data in EasyAnalytica because plotting millions of points becomes a bad experience, especially in dashboards with multiple charts. My current solution is to downsample to give an “overview” and use zoom to allow viewing “detailed” data, but that code is fragile.

    One more issue is that some browser and OS combinations do not support WebGPU, so we will still have to rely on existing libraries in addition to this, but it feels promising.

  • barrell 2 hours ago
    I just rewrote all the graphs on phrasing [1] to webgl. Mostly because I wanted custom graphs that didn’t look like graphs, but also because I wanted to be able to animate several tens of thousands of metrics at a time.

    After the initial setup and learning curve, it was actually very easy. All in all, way less complicated than all the performance hacks I had to do to get 0.01% of the data to render half as smooth using d3.

    Although this looks next level. I make sure all the computation happens in a single o(n) loop but the main loop still takes place on the cpu. Very well done

    To anyone on the fence, GPU charting seemed crazy to me beforehand (classic overengineering) but it ends up being much simpler (and much much much smoother) than traditional charts!

    [1] https://phrasing.app

  • altern8 26 minutes ago
    All charts in the demo failed for me.

    Error message: "WebGPU Error: Failed to request WebGPU adapter. No compatible adapter found. This may occur if no GPU is available or WebGPU is disabled.".

    • kettlecorn 23 minutes ago
      Does your browser support WebGPU yet? It's likely it does not.

      WebGPU is supported on Chrome and on the latest version of Safari. On Linux with all browsers WebGPU is only supported via an experimental flag.

  • 33a 1 hour ago
    plot.ly has been able to do WebGL scatter plots with > 10 million points for years. There's a lot of libraries that can do this I think?

    https://plotly.com/python/performance/

  • mcintyre1994 2 hours ago
    Very cool, I like the variety of demos! On the candle sticks streaming demo (https://chartgpu.github.io/ChartGPU/examples/candlestick-str...), the 1s/5m/15m etc buttons don't seem to do anything
    • huntergemmer 2 hours ago
      Good catch! Thanks for actually clicking around and finding this - added to my issue tracker.
  • facontidavide 2 hours ago
    Cool to see that this project started 5 days ago! Unfortunately, I can not make it work on my system (Ubuntu, chrome, WebGPU enabled as described in the documentation). On the other hand, It works on my Android phone...

    Funny enough, I am doing something very similar: a C++ portable (Windows, Linux MacOS) charting library, that also compile to WASM and runs in the browser...

    I am still at day 2, so see you in 3 days, I guess!

    • ivanjermakov 2 hours ago
      I was able to make WebGPU work (and work well!) in Chrome Linux by enabling Vulkan renderer in Chrome flags.
  • pier25 2 hours ago
    Very cool. Shame there's not a webgl fallback though. It will be a couple of years until webgpu adoption is good enough.

    https://caniuse.com/webgpu

    • johndough 1 hour ago
      And even if WebGPU is enabled, the implementation might still be broken or inefficient in various ways. For example, Firefox uses some ridiculous polling-based approach [1] to check for completion, which disqualifies the implementation for many performance-critical applications.

      [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1870699

      And there is the issue of getting the browser to use the correct GPU in the first place, but that is a different can of worms.

    • sroussey 1 hour ago
      It’s available everywhere if you are on newest OS and newest browser.

      Biggest issue is MacOS users with newer Safari on older MacOS.

      • kawogi 1 hour ago
        Support for Firefox on Linux is still only in nightly (unless that changed "very" recently)

        This blocks progress (and motivation) on some of my projects.

        • Joeboy 22 minutes ago
          Apparently you can turn it on with about:config / dom.webgpu.enabled

          But personally, I'm not going to start turning on unsafe things in my browser so I can see the demo. I tried firefox and chromium and neither worked so pfft, whatever.

    • bhouston 2 hours ago
      You can also see extension support for webgpu via https://web3dsurvey.com/webgpu
  • mitdy 35 minutes ago
    What purposes have you found for rendering so many datapoints? It seems like at a certain point, say above a few thousand, it becomes difficult to discriminate/less useful to render more in many cases
    • aixnr 11 minutes ago
      [dead]
  • amirhirsch 1 hour ago
    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
  • KellyCriterion 1 hour ago
    Curious: How does TradingView et.al. solves this problem? They should have the same limitations? (actually, Im a user of the site, though I never started digging down how they made id)
    • artursapek 1 hour ago
      Tradingview’s charts couldn’t handle a million data points. They typically just render a few thousand candlesticks at a time, which is trivial with well optimized Canvas code.
  • rgreen 1 hour ago
    this is so well done, thanks for sharing it. i've been trying to communicate with people how we are living in the golden age of dev where things that previously couldn't have been created, now can be. this is an amazing example of that.
  • dapperdrake 2 hours ago
    When did WebGPU become good enough at compute shaders? When I tried and failed at digging through the spec about a year ago it was very touch and go.

    Maybe am just bad at reading specifications or finding the right web browser.

    • embedding-shape 2 hours ago
      In Chromium it's been good for a good while, judges still out on when it'll be good in Firefox. Safari I have no clue about, nor whatever Microsoft calls their browser today.
  • mikepurvis 2 hours ago
    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 the gold standard in this space.

    • zozbot234 2 hours ago
      > render image tiles on the server and then stream back tooltips and other interactive elements interactively.

      I guess the real draw here is smooth scrolling and zooming, which is hard to do with server-rendered tiles. There's also the case of fully local use, where server rendering doesn't make much sense.

    • internetter 1 hour ago
      > 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...

      • switz 16 minutes ago
        I’ve had a lot of success rendering svg charts via Airbnb’s visx on top of React Server Components, then sprinkling in interactivity with client components. Worth looking into if you want that balance.

        It’s more low level than a full charting library, but most of it can run natively on the server with zero config.

        I’ve always found performance to be kind of a drag with server side dom implementations.

  • samradelie 2 hours ago
    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 thread ( the data munging pre-chart is very heavy in our case )

    Again, congrats!

    • huntergemmer 2 hours ago
      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. Moving the tooltip/label rendering to message-passing or a separate DOM layer

      For your use case with heavy data munging, you could also run just the data processing in a worker and pass the processed arrays to ChartGPU on the main thread - that might be a quicker win.

      Would you open an issue on GitHub? I'd love to understand your specific workload better. This feels like a v0.2 feature worth prioritizing.

      • samradelie 56 minutes ago
        You have a good point about doing zero copy transferables which would probably work.

        There is certainly something beautiful about your charging GPU code being part of a file that runs completely isolated in another thread along with our websocket Data fire hose

        Architecturally that could be something interesting where you expose a typed API wrapping postmessage where consumers wanting to bind the main thread to a worker thread could provide the offscreen canvas as well as a stream of normalized, touch and pointer events, keyboard and wheel. Then in your worker listeners could handle these incoming events and treat them as if they were direct from the event listeners on the main thread; effectively, your library is thread agnostic.

        I'd be happy to discuss this on GitHub. I'll try to get to that today. See you there.

      • pf1gura 1 hour ago
        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.

  • embedding-shape 2 hours ago
    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, so we get some ranges that are easier to share, and can compare easier between machines :)

    • huntergemmer 2 hours ago
      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. Thanks for the suggestion!

      • zamadatix 1 hour ago
        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!!!
  • lacoolj 1 hour ago
    Doesn't work for me? Latest chrome, RTX 4080, what am I missing?
    • cuvinny 1 hour ago
      I had to enable it in both Firefox (about:config search webgpu) and in Chrome (chrome://flags and enable Unsafe WebGPU Support) on my linux machine.
  • justplay 3 hours ago
    Amazing. I can't express how thankful I am for you building this.
  • deburo 2 hours ago
    Nicely done. Will you be able to render 3D donuts? And even animations, say pick a slice & see it tear apart from the donut.
    • huntergemmer 2 hours ago
      Thanks! Currently focused on 2D charts. That's where the "big data" performance problem is most painful.

      3D is coming (it's the same rendering pipeline), but I'd want to get the 2D story solid first before expanding scope.

      The slice animation is doable though - we already have animation infrastructure for transitions. An "explode slice on click" effect would be a fun addition to the pie/donut charts.

      What's your use case? Dashboard visuals or something else?

  • ranger_danger 3 hours ago
    No Firefox support? It has had WebGPU support since version 141.

    Even when I turn on dom.webgpu.enabled, I still get "WebGPU is disabled by blocklist" even though your domain is not in the blocklist, and even if I turn on gfx.webgpu.ignore-blocklist.

    • embedding-shape 2 hours ago
      Works for me with 146.0.1 (Linux) and having dom.webgpu.enabled set to true.
      • tonyplee 2 hours ago
        Works for me too 145/Windows - default settings.

        Very cool project. Thanks!!!

    • jsheard 2 hours ago
      Which platform? I think FF has only shipped WebGPU on Windows so far.
      • ranger_danger 31 minutes ago
        Linux, but apparently it's supported on both, but only enabled by default on Windows. I manually enabled it but it's still not working for me.
    • pier25 2 hours ago
      FF has partial support for WebGPU

      https://caniuse.com/webgpu

    • call_to_action 33 minutes ago
      Working fine on latest FF for me, ~ v.146
  • dvh 2 hours ago
    Doesn't work on my Android phone because no GPU (but I have webgl is that not enough?)
  • imiric 46 minutes ago
    This is great, but I don't see it being useful for most use cases.

    Most high-level charting libraries already support downsampling. Rendering data that is not visible is a waste of CPU cycles anyway. This type of optimization is very common in 3D game engines.

    Also, modern CPUs can handle rendering of even complex 2D graphs quite well. The insanely complex frontend stacks and libraries, a gazillion ads and trackers, etc., are a much larger overhead than rendering some interactive charts in a canvas.

    I can see GPU rendering being useful for applications where real-time updates are critical, and you're showing dozens of them on screen at once, in e.g. live trading. But then again, such applications won't rely on browsers and web tech anyway.

  • jhatemyjob 1 hour ago
    I don't really care about this, like at all. But I just wanted to say, that's an amazing name. Well done.
  • jeffbee 2 hours ago
    The number of points actually being rendered doesn't seem to warrant the webgpu implementation. It's similar to the number of points that cubism.js could throw on the screen 15 years ago.
  • keepamovin 3 hours ago
    Wa, this is smooth, man. This is so cool. This is really sexy and cool, the examples page (https://chartgpu.github.io/ChartGPU/examples/index.html) has many good.

    I hope you have a way to monetize/productize this, because this has three.js potential. I love this. Keep goin! And make it safe (a way to fund, don't overextend via OSS). Good luck, bud.

    Also, you are a master of naming. ChartGPU is a great name, lol!

    • huntergemmer 3 hours ago
      Thanks! The name was honestly just "what does this do" + "how does it do it" haha.

      Interesting you mention three.js - there's definitely overlap in the WebGPU graphics space. My focus is specifically on 2D data visualization (time series, financial charts, dashboards), but I could see the rendering patterns being useful elsewhere.

      On sustainability - still figuring that out. For now it's a passion project, but I've thought about a "pro" tier for enterprise features (real-time collaboration, premium chart types) while keeping the core MIT forever. Open to ideas if you have thoughts.

      Appreciate the kind words! :)

      • PxldLtd 2 hours ago
        Have you thought about leaning into some of the fintech space? They'd happily pay for the sorts of features they need to stream financial data (which is usually bazillions of data points) and graph it efficiently.

        Off the top of my head, look into Order Book Heatmaps, 3D Volatility Surfaces, Footprint Charts/Volatility deltas. Integrating drawing tools like Fibonacci Retracements, Gann Fans etc. It would make it very attractive to people willing to pay.

  • d--b 3 hours ago
    This looks great. Quick feedback, scrollbars don't work well on my mac mini M1. The bar seems to move twice as fast as the mouse.
    • huntergemmer 3 hours ago
      Thanks for the bug report! That's the data zoom slider - sounds like a momentum/inertia scrolling issue on macOS.

      Which demo were you on? (million-points, live-streaming, or sampling?) I'll test on M1 today and get a fix out.

      Really appreciate you taking the time to try it :)

      • qayxc 2 hours ago
        Same issue on Windows - doesn't seem to be OS-related, but a general problem. The sliders and the zoom are basically unusable.
      • monegator 2 hours ago
        On windows 10, too. Firefox 147.0.1 (You may want to update your "supported" chart! Firefox has WebGPU now)
      • abuldauskas 2 hours ago
        I also noticed it. On million-points. MacBook Pro M2 on Firefox Nightly 148.0a1 (2026-01-09) (aarch64)
    • mikepurvis 2 hours ago
      I see the same on Windows 11, both FF and Chrome.
  • buckle8017 1 hour ago
    WebGPU is a security nightmare.

    The idea that GPU vendors are going to care about memory access violations over raw performance is absurd.

    • the__alchemist 1 hour ago
      Security is one aspect to consider. It's not a veto button!
      • buckle8017 1 hour ago
        It's absolutely a veto button on something so pervasive.

        What is wrong with you JavaScript bros.

        • the__alchemist 7 minutes ago
          Not a JS bro here; low-level embedded/scientific programmer who does a lot of graphics and general compute work on GPUs.
  • maximgeorge 2 hours ago
    [dead]
  • dfortes 1 hour ago
    [dead]
  • acedTrex 2 hours ago
    Both a .cursor AND a .claude folder, what a yikes. Slop post galore
    • facontidavide 1 hour ago
      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.

      • acedTrex 1 hour ago
        And how do you verify those three things in a rapid low effort fashion?
    • logicallee 2 hours ago
      .c? what a yikes. I took a quick look at the code and this application doesn't even have any machine code in it, it's just words like "while", "for", "if", "else" and other English words - someone back in 1970s, I'm sure.
    • embedding-shape 2 hours ago
      Why don't you judge the results, if the slop is so easy to detect, instead of using the mere indication of a particular tool to mean it's slop? Lazy.
      • stephenhumphrey 54 minutes ago
        Healthy skepticism is certainly laudable, but too many llmuddites seem rather aggressive while whistling past their own graveyards.
        • embedding-shape 47 minutes ago
          Yeah, hypers need to cool their language down a bit and llmuddites need to acquire a bit of nuance. New technology tends to create large camps initially on both sides :)
      • acedTrex 2 hours ago
        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.
        • embedding-shape 2 hours ago
          I didnt read your comment, because it would take me longer than just writing: your comment looks like LLM slop.
          • acedTrex 1 hour ago
            If thats your signal then you lock yourself out of all parts of this website, not the best heuristic
            • embedding-shape 1 hour ago
              Yeah, that'd be stupid right? I have the same mindset with projects and code. If it's a good project, it's a good project, I don't care what IDE they used. If the code is shit it's shit regardless of how it was produced. But at least point to something concrete so me and others could potentially learn something, or understand something better.
      • keepamovin 2 hours ago
        Agree, but, ah, can you illuminate. <totally-offtopic data-but="i am intesnely curious"> Quite amazing 6000 points in under 3 months. Yuge. OK a few almost 1K posts, but they drop off. You must have some mega-point comments. Can you, eh, "point me" to a comment of yours that has a super amount of upvotes?

        Sorry if this is weird, it's just I've never personally experienced a comment with anything more than 100 - 200 points. And that was RARE. I totally get if you don't want to...but like, what were your "kilopoint" comments, or thereabouts? </offtopic>