Loading video...

Video Failed to Load

Go Home

We just settled the DOM-based vs WebGPU canvas debate. This is our WebGPU canvas rendering ~7,000 real HTML/CSS frames with over 2 million elements, at 120 fps. And it's not just static designs. Every frame runs your full app so you can click around etc. We built our own...

118,436 views • 2 days ago •via X (Twitter)

47 Comments

berkantay's profile picture
berkantay2 days ago

and here is open source version of it

nim's profile picture
nim2 days ago

ahh this is super cool. The api is p nice as well

shashvat's profile picture
shashvat2 days ago

@berkant_thedev do you guys use html-in-canvas ?

berkantay's profile picture
berkantay2 days ago

@eminimnim i do yes

nim's profile picture
nim2 days ago

this is dessn btw

Gasper Chiaramonte's profile picture
Gasper Chiaramonte2 days ago

Do you think this would also affect browser based video editing and a positive way?

nim's profile picture
nim2 days ago

yes!

Gasper Chiaramonte's profile picture
Gasper Chiaramonte2 days ago

Expand. If I were to, let's say, make you a CTO of an imaginary company that was trying to be the Figma of video editing, how would you approach a video editing platform from a tech stack standpoint? I'm just curious to hear a technically minded opinion.

nim's profile picture
nim2 days ago

hmm i would work backwards from the problem. the past two years of dessn was focused on getting a real codebase to run on the canvas and we focused on that we actually got normal html/css to be performant enough for most users before building our own renderer (custom renderer wasn't motivated by just performance btw. There's some stuff we want to do that's only possible with custom renderer) but I would try to see what kind of video editing you are aiming for. Like product/motion design vs other stuff. I know you can go really really far with just web stuff fwiw jitter has built their own renderer as well

Gasper Chiaramonte's profile picture
Gasper Chiaramonte1 day ago

I mainly edit on large multicam shows in Hollywood. Think shows that have up to a petabyte of raw footage that’s then compressed to a proxy mezzanine codec and then put on large on premise storage for collaboration purposes. I would love to chat sometime and exchange notes on my thesis and prototype. Would love your opinions.

Moe Amaya's profile picture
Moe Amaya2 days ago

That's fkin insane nim! But I can feel the performance everyday now. It's sooooo fast. Also I can't believe you asked me if it needed to be more performant LMAO

nim's profile picture
nim2 days ago

haha perf optimization work is so much fun. every ms you drop is like a dopamine hit. once you start looking at optimizing, it's hard to stop at good enough

Gavin McFarland's profile picture
Gavin McFarland2 days ago

This is incredible. What's it like for selecting high numbers of DOM elements? (Not just iframes)

Dessn's profile picture
Dessn2 days ago

is this real?

Francois Laberge's profile picture
Francois Laberge2 days ago

dafuq, how!? I would have guessed image caching with only starting the iframe content on interaction. I don't believe you, won't believe, can't believe, want to believe.

nim's profile picture
nim2 days ago

we did do image caching but only for very large pages. the problem with image caching is that you need to switch seamlessly once the user starts interacting. For example resizing doesn't work and selecting elements with images. btw one of the tricks is that you can simplify/rewrite a lot of html/css to make rendering easier on the engine. you don't have to support every property if you can convert it into an equaivalent but simpler markup (obvioulsy doing it in a way that doesn't fuck up layout/output is a big challenge and we have very complicated evals/tests to do this well)

Francois Laberge's profile picture
Francois Laberge2 days ago

When does this ship? You know I'm all up in dev tools once it does.

nim's profile picture
nim2 days ago

we are rolling this out to customers in the next few days. Goal is full rollout next week! Will holler once its fully live.

corbanb 🐻's profile picture
corbanb 🐻1 day ago

Can this just become... "the browser"? Please?

John Brandes's profile picture
John Brandes2 days ago

Does this work only with web based codebases? Or could one use it as an Figma alternative für desktop uis as well?

CJ Cummings's profile picture
CJ Cummings2 days ago

was there ever actually a debate? super cool btw, nice work

Zibx's profile picture
Zibx2 days ago

That's pretty impressive, I put a small game that I was working on for several days, and it was able to render something! UI part rendered correctly; the WebGL part exploded a lot. Really impressive. I know how hard it is to do a proper canvas. I wish you luck with your project!

Ava Sinclair Ai's profile picture
Ava Sinclair Ai2 days ago

Incredible engineering, 120 FPS with millions of elements is impressive work

Noam Tenne 🏜️'s profile picture
Noam Tenne 🏜️2 days ago

👑🤌

Abhijeet's profile picture
Abhijeet2 days ago

Did you plan to open source this? 🤣

nim's profile picture
nim2 days ago

hmm

Abhijeet's profile picture
Abhijeet2 days ago

All great minds think alike 😂😂😅

Jeremiah's profile picture
Jeremiah2 days ago

Occasionally, you find a gem of innovation on social media like this

Aaliya's profile picture
Aaliya2 days ago

Two years of infrastructure work finally paying off.

Lia Quijano's profile picture
Lia Quijano2 days ago

This is CRAZY

Brett Peary's profile picture
Brett Peary2 days ago

That is nuts

Fabio - abduzeedo's profile picture
Fabio - abduzeedo2 days ago

That's quite impressive.

Paavan ❖'s profile picture
Paavan ❖2 days ago

unbelievable

Max Carter's profile picture
Max Carter2 days ago

Incredible engineering turning ambitious ideas into reality

Benny Schudel's profile picture
Benny Schudel2 days ago

👀 @amihai

cheaty's profile picture
cheaty2 days ago

siiiick

Łukasz Krysiewicz's profile picture
Łukasz Krysiewicz1 day ago

Would it kill my battery in 10 minutes?

Arjan's profile picture
Arjan2 days ago

This is very impressive, nice work.

Will Sahatdjian's profile picture
Will Sahatdjian2 days ago

whoa this is nuts

Nabil's profile picture
Nabil2 days ago

damn

Preom M. R.'s profile picture
Preom M. R.2 days ago

Wow... this is a very different way of building a design tool thant I would've thought of. This is wildly ambitious.

Jarek's profile picture
Jarek2 days ago

really impressive!

YelZap's profile picture
YelZap2 days ago

WebGPU 能跑出这么多帧很厉害!也很好奇在不同设备上的表现和无障碍支持。

Matt██████████ █████ ██ ███ ██████████'s profile picture
Matt██████████ █████ ██ ███ ██████████2 days ago

I need this subagent swarm interface

Nick Cassab's profile picture
Nick Cassab2 days ago

🤯

aarav dayal's profile picture
aarav dayal2 days ago

How do you have full feature parity? LadyBird has not been able to pull this off man.

Carlo Taleon's profile picture
Carlo Taleon2 days ago

what the heck actually insane

Related Videos