Lavi is a Product Manager for the Roll20 Tabletop Team. She finds the most joy in solving problems, whether for products or day-to-day life. In her off time, she enjoys being with her close family, playing board games with friends, camping, and practicing hot yoga.
In his recent post, our CTO Mike talked about the broader initiative across the company to improve performance, and the Demiplane team also shared an update on their journey. This blog aims to share what the Virtual Tabletop team is contributing through performance work, focusing on making your games run smoother, feel more responsive, and stay reliable from start to finish.
As he mentioned in his blog, performance issues can show up in your games in different ways depending on how you play, as:
- a slow buildup over a long session
- actions within the game are taking longer than expected
- things feel a little less snappy than they should
To better connect our work to what you’re actually experiencing first-hand, we’ve grouped our recent improvements into categories below based on impact.
Faster Load Times and Smoother Gameplay
Graphics Updates:
To kick off 2026, our team has been rolling out graphics updates in phases that reduce how hard your machine is working to render your game. As a result, games containing detailed maps, lots of tokens, Dynamic Lighting, and layered assets are seeing faster loading, smoother motion, and fewer slowdowns when panning, zooming, or interacting with the map. (Note: toggle on/off: VTT Settings > Graphics > Enable Performance Enhancements).
Example: We tested Tomb of Annihilation’s “Players Map of Chult” across a variety of devices, and on an average mid-range laptop (2022 Macbook Air), we saw:
- a reduction in the amount of rendering work per frame (draw calls) by nearly 10x
- overall smoothness, improving from around 40 frames per second (FPS) to closer to 150!

While these improvements are working well for the vast majority of both players and GMs, there might be some people who still experience problems. We’re working with this small group of users to chase down the few lingering edge cases with this setting, especially as it relates to drawings on the Tabletop. Once we’re confident we’ve caught the weird stuff, we’ll be rolling in the remaining performance updates for “drawings” and make this the default for everyone.
Memory Leaks
Our team found that, over time, certain actions left small traces of data in the background of campaigns without fully cleaning up after themselves, impacting performance (more formally referred to as “memory leaks”). That buildup can compound and contribute to a slowdown or a feeling of sluggishness over a game session.
We addressed two major sources of this in the last couple of weeks (and some others):
- Repeatedly opening Advanced Character Sheets (like the D&D 2024 sheet)
- Switching pages (especially between large pages with lots of tokens)
For each, we reduced the memory used during both the first time the action was taken in-game and all subsequent times it was taken. Plugging the Advanced Sheet leak alone reduced memory usage 46%, and any subsequent time the sheet was reloaded by 77%. This chart shows some of the other improvements made:

Now, we’re actively addressing a parallel memory leak affecting our Legacy Character Sheets (like the D&D 2014 Sheet), which will reduce performance slowdowns even more across all games.
Faster, More Reliable Uploads
Whether it’s maps, character tokens, or custom assets, uploading your own art to the Tabletop is a core part of the Roll20 experience. It’s what lets you shape your world, express your style, and run games exactly the way you want.


To keep that experience fast and responsive, our upload process generates multiple optimized versions of each image behind the scenes. This allows the VTT to use the right version at the right moment, whether you’re zoomed in on a single token or viewing an entire map. For example, when you zoom out, and there are dozens (or even hundreds) of tokens on screen, we can swap in smaller, lighter versions so everything continues to run smoothly. It’s a similar approach to how video games adjust detail at different distances, helping reduce the load on your device while keeping gameplay seamless.
Over the last month, we pushed out improvements to the upload process that have very real impacts on upload speed and success rate:
- Enhanced image upload retry logic with automatic retries at each stage of the upload process, reducing upload failures by 35%.
- Optimized the image processing pipeline to pass through original source formats (instead of converting to PNG) when an image doesn’t require resizing. On a throttled connection with a JPEG sample, this reduced upload time by 3x.
- Optimized the animation processing pipeline to pass through WebM animation files, avoiding unnecessary processing and resulting in 30-50%+ faster upload speeds (depending on the exact file size and connection speed).
- Introduced several other process improvements that together cut image upload times by several seconds:
- reduced signing requests from one per variant to a single request for all
- updated image processing during upload so files are handled once instead of multiple times to create size variations
- improved upload queues to adapt to connection quality and error conditions
In addition, we upgraded internal analytics and monitoring, which will also let us track and catch performance trends and issues over time, and help us troubleshoot issues with individuals when things go wrong.
We have a couple more improvements tee’d up to make uploads even faster, including converting all image uploads to a lossless WebP file.
Clearer Guidance In-Game
As Mike mentioned in his post, “performance isn’t a single thing.” It can show up differently depending on your hardware, browser, connection, game size, system, extensions, and more.
Alongside improving performance itself, we’re focused on making the experience easier to understand when something doesn’t go as expected, so you have clear, actionable guidance to get things back on track quickly.
We’ve already made a number of improvements here, including:
- more helpful notifications (or next steps) when something is taking longer than expected.
- clearer status messaging during uploads
- better visibility into file size and storage limits
- making it easier to share details with our Customer Service team, so you get help faster when something is wrong

We’ve also updated the articles in our help center to cover third-party interactions that can have a negative impact on performance, like browser extensions (including password managers). Next up, we’ll be adding more visibility to your storage usage and file upload limits before you upload new assets, so that you know exactly how much space you have available up front.
Next Steps
Some of the improvements mentioned above have already been released, and others are in progress as we speak. Performance work, as previously mentioned, is both iterative and ongoing, but we’ve had enough sustained focus over the last several months that we wanted to make sure you knew what was happening behind the scenes, and why. To keep an eye on our work at any given time, check out the shared public roadmap:
You’ll be hearing more from our partner teams working on character sheets/management, plus other important projects in the coming months.
Thank you to everyone who has kept playing and speaking up when your games aren’t running the way you need them to; you can always reach out to our support team to request troubleshooting if things aren’t feeling right in your games. It helps make the best versions of the tools you need to play.
