frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

High-performance 2D graphics rendering on the CPU using sparse strips [pdf]

https://github.com/LaurenzV/master-thesis/blob/main/main.pdf
98•PaulHoule•2h ago

Comments

miguel_martin•1h ago
Also checkout blaze: https://gasiulis.name/parallel-rasterization-on-cpu/
hollowturtle•1h ago
the demo is astonishing
raphlinus•5m ago
Thanks for the pointer, we were not actually aware of this, and the claimed benchmark numbers look really impressive.
pixelpoet•1h ago
This looks interesting; recently I wrote some code for rendering high precision N-body paths with millions of vertices[0], I wonder if a GPU implementation this RLE representation would work well and maintain simplicity.

[0] https://www.youtube.com/watch?v=rmyA9AE3hzM

amelius•1h ago
Side question. Is there some kind of benchmark to test the correctness of renderers?
embedding-shape•1h ago
Correctness of what exactly? It's a "render" of reality-like environment, so all of them make some tradeoff somewhere, and won't be 100% "correct" at least compared to reality :)
jmpeax•47m ago
Correctness with respect to the benchmark. A slow reference renderer could produce the target image, and renderers need to achieve either exact or close reproduction to the reference. Otherwise, you could just make substantial approximations and claim a performance victory.
user____name•15m ago
Bezier curves can generate degenerate geometry when flattened and stroke geometry has to handle edge cases. See for instance the illustration on the last page of the Polar Stroking paper: https://arxiv.org/pdf/2007.00308

There are also things like interpretting (conflating) coverage as alpha for analytical antialiasing methods, which lead to visible hairline cracks.

percentcer•48m ago
This was the original goal of the Cornell box (https://en.wikipedia.org/wiki/Cornell_box, i.e. carefully measure the radiosity of a simple, real-world scene and then see how closely you can come to simulating it).

For realtime rendering a common thing to do is to benchmark against a known-good offline renderer (e.g. Arnold, Octane)

fngjdflmdflg•13m ago
Fascinating project. Based on section 3.9, it seems the output is in the form of a bitmap. So I assume you have to do a full memory copy to the GPU to display the image in the end. With skia moving to WebGPU[0] and with WebGPU supporting compute shaders, I feel that 2D graphics is slowly becoming a solved problem in terms of portability and performance. Of course there are cases where you would a want a CPU renderer. Interestingly the web is sort of one of them because you have to compile shaders at runtime on page load. I wonder if it could make sense in theory to have multiple stages to this, sort of like how JS JITs work, were you would start with a CPU renderer while the GPU compiles its shaders. Another benefit, as the author mentions, is binary size. WebGPU (via dawn at least) is rather large.

[0] https://blog.chromium.org/2025/07/introducing-skia-graphite-...

raphlinus•6m ago
The output of this renderer is a bitmap, so you have to do an upload to GPU if that's what your environment is. As part of the larger work, we also have Vello Hybrid which does the geometry on CPU but the pixel painting on GPU.

We have definitely thought about having the CPU renderer while the shaders are being compiled (shader compilation is a problem) but haven't implemented it.

High-performance 2D graphics rendering on the CPU using sparse strips [pdf]

https://github.com/LaurenzV/master-thesis/blob/main/main.pdf
99•PaulHoule•2h ago•11 comments

Unexpected things that are people

https://bengoldhaber.substack.com/p/unexpected-things-that-are-people
416•lindowe•8h ago•210 comments

Writing your own BEAM

https://martin.janiczek.cz/2025/11/09/writing-your-own-beam.html
129•cbzbc•1d ago•21 comments

Spatial intelligence is AI’s next frontier

https://drfeifei.substack.com/p/from-words-to-worlds-spatial-intelligence
97•mkirchner•3h ago•56 comments

The lazy Git UI you didn't know you need

https://www.bwplotka.dev/2025/lazygit/
198•linhns•6h ago•79 comments

Dependent types and how to get rid of them

https://chadnauseam.com/coding/pltd/are-dependent-types-actually-erased
40•pie_flavor•1w ago•10 comments

Zeroing in on Zero-Point Motion Inside a Crystal

https://physics.aps.org/articles/v18/178
30•lc0_stein•3h ago•1 comments

Using Generative AI in Content Production

https://partnerhelp.netflixstudios.com/hc/en-us/articles/43393929218323-Using-Generative-AI-in-Co...
75•CaRDiaK•5h ago•42 comments

Unix v4 Tape Found

https://discuss.systems/@ricci/115504720054699983
135•greatquux•4d ago•16 comments

Error ABI

https://matklad.github.io/2025/11/09/error-ABI.html
64•todsacerdoti•22h ago•22 comments

The Physics of News, Rumors, and Opinions

https://arxiv.org/abs/2510.15053
10•Anon84•6d ago•0 comments

Launch HN: Hypercubic (YC F25) – AI for COBOL and Mainframes

73•sai18•8h ago•46 comments

Rademacher Complexity and Models of Group Competition

https://www.symmetrybroken.com/group-selection/
3•riemannzeta•30m ago•0 comments

Building a high-performance ticketing system with TigerBeetle

https://renerocks.ai/blog/2025-11-02--tigerfans/
74•jorangreef•3d ago•10 comments

Linux in a Pixel Shader – A RISC-V Emulator for VRChat

https://blog.pimaker.at/texts/rvc1/
30•rbanffy•2h ago•7 comments

Omnilingual ASR: Advancing automatic speech recognition for 1600 languages

https://ai.meta.com/blog/omnilingual-asr-advancing-automatic-speech-recognition/?_fb_noscript=1
64•jean-•6h ago•16 comments

Benchmarking leading AI agents against Google reCAPTCHA v2

https://research.roundtable.ai/captcha-benchmarking/
90•mdahardy•8h ago•66 comments

Head in the Zed Cloud

https://maxdeviant.com/posts/2025/head-in-the-zed-cloud/
53•todsacerdoti•10h ago•13 comments

Registered OAuth Parameters

https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#parameters
34•mooreds•6d ago•6 comments

Sysgpu – Experimental descendant of WebGPU written in Zig

https://github.com/hexops-graveyard/mach-sysgpu
12•coffeeaddict1•3h ago•1 comments

What Caused Performance Issues in My Tiny RPG

https://jslegenddev.substack.com/p/what-caused-performance-issues-in
6•ibobev•1h ago•1 comments

Redmond, WA, turns off Flock Safety cameras after ICE arrests

https://www.seattletimes.com/seattle-news/law-justice/redmond-turns-off-flock-safety-cameras-afte...
241•dredmorbius•6h ago•241 comments

Canadian military will rely on public servants to boost its ranks by 300k

https://ottawacitizen.com/public-service/defence-watch/canadian-military-public-servants
75•Teever•7h ago•197 comments

3D Heterogeneous Integration Powers New DARPA Fab

https://spectrum.ieee.org/3d-heterogeneous-integration
14•rbanffy•2h ago•0 comments

Pose Animator – An open source tool to bring SVG characters to life (2020)

https://blog.tensorflow.org/2020/05/pose-animator-open-source-tool-to-bring-svg-characters-to-lif...
132•jerlendds•6d ago•14 comments

Cybersecurity breach at Congressional Budget Office remains a live threat

https://www.politico.com/live-updates/2025/11/10/congress/cbo-still-under-threat-00644930
33•mooreds•2h ago•4 comments

Show HN: Davia – Open source visual, editable wiki from your codebase

https://github.com/davialabs/davia
21•ruben-davia•3h ago•1 comments

LLMs are steroids for your Dunning-Kruger

https://bytesauna.com/post/dunning-kruger
308•gridentio•9h ago•246 comments

Time to start de-Appling

https://heatherburns.tech/2025/11/10/time-to-start-de-appling/
285•msangi•9h ago•207 comments

Interesting SPI Routing with iCE40 FPGAs

https://danielmangum.com/posts/spi-routing-ice40-fpga/
93•hasheddan•10h ago•7 comments