https://en.andros.dev/blog/7b1b607b/doom-in-django-testing-the-limits-of-liveview-at-600000-divssegundo/
Andros Fenollosa Cat
* es
* en
* [pencil] Blog Blog
* [courses] Courses Courses
* [books] Books Books
* [talks] Talks Talks
* [cv] CV CV
* [chat] Contact Contact
DOOM in Django: testing the limits of LiveView at 600.000 divs/
seconds
* python
* django
* django channels
* django liveview
* liveview
[liveview_E]
Based on the latest tests I've published, Django LiveView appears to
be the fastest dynamic frontend (I'm sure more variables can be
measured).
Django LiveView benchmark comparison
OK... but... How can I test its limits? By drawing a Snake? A
Pac-Man?... No... let's crank up the difficulty to Nightmare! Let's
run DOOM inside Django
(If you don't see the video playing, please tap the image.)
Django starts ViZDoom and sends one
per pixel with its color.
The game runs at 100x100 pixels at 60 FPS = 600.000 divs/second!
Here's how the data flows:
1. ViZDoom generates a frame.
2. Django transforms the frame into 10.000 divs using its template
engine.
3. Django LiveView renders them on the page of connected users.
4. CSS arranges them.
Furthermore, since the data is sent via broadcast, all players can
see the same thing in real time.
Crazy.
Conclusion
Mission accomplished! Django LiveView survived the DOOM stress. It
was a ridiculous and fun experiment that proves this framework can
handle pretty much anything you throw at it.
Now go build something cool without Doom Slayer.
You can check the source code on GitHub.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0
International license.
License by-nc-nd
Will you buy me a coffee?
Andros Fenollosa
Written by Andros Fenollosa
December 28, 2025
Time2 min of reading
You may also like
New Django
* python
* django
* django channels
* liveview
* django liveview
Performance comparison of Django's main interactive frameworks
New Django
* python
* django
* liveview
Why I forked instead of taking the easy way out
New Django
* python
* django
* liveview
Why I forked instead of taking the easy way out
Visitors in real time
You are alone:
Made with love by Andros Fenollosa using Django LiveView
Designed by Suquet Estudi
* RSS Feed
* Org Social
* Mastodon
* GitHub