PyBatchRender: A Python Library for Batched 3D Rendering at Up to One Million FPS
Evgenii Rudakov, Jonathan Shock, Benjamin Ultan Cowley

TL;DR
PyBatchRender is a Python library that enables high-throughput batched 3D rendering, achieving over 1 million FPS, facilitating scalable reinforcement learning from pixels with ease of use and flexibility.
Contribution
It introduces a Python-based, high-performance batched 3D rendering library built on Panda3D, combining speed, flexibility, and simplicity for reinforcement learning applications.
Findings
Achieves over 1 million FPS on simple scenes.
Provides up to 1000X speedups over traditional methods.
Enables rapid scene creation in Python for AI training.
Abstract
Reinforcement learning from pixels is often bottlenecked by the performance and complexity of 3D rendered environments. Researchers face a trade-off between high-speed, low-level engines and slower, more accessible Python frameworks. To address this, we introduce PyBatchRender, a Python library for high-throughput, batched 3D rendering that achieves over 1 million FPS on simple scenes. Built on the Panda3D game engine, it utilizes its mature ecosystem while enhancing performance through optimized batched rendering for up to 1000X speedups. Designed as a physics-agnostic renderer for reinforcement learning from pixels, PyBatchRender offers greater flexibility than dedicated libraries, simpler setup than typical game-engine wrappers, and speeds rivaling state-of-the-art C++ engines like Madrona. Users can create custom scenes entirely in Python with tens of lines of code, enabling rapid…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsArtificial Intelligence in Games · Reinforcement Learning in Robotics · Stochastic Gradient Optimization Techniques
