DOOM in Django: testing the limits of LiveView at 600.000 divs/segundo

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 <div> 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.

Will you buy me a coffee?

Written by Andros Fenollosa

December 28, 2025

2 min of reading

You may also like

Visitors in real time

You are alone: 🐱