RE: https://mastodon.gamedev.place/@rovarma/115701190276602989
Check out this new article by Ritesh, in which profiling the in-development Linux version of Superluminal led to finding and fixing a performance issue in the Linux kernel👇
| Website | https://www.superluminal.eu |
| @SuperluminalSft |
RE: https://mastodon.gamedev.place/@rovarma/115701190276602989
Check out this new article by Ritesh, in which profiling the in-development Linux version of Superluminal led to finding and fixing a performance issue in the Linux kernel👇
Ever wondered how to store millions of call stacks efficiently? So did we. Many times.
Check out this new article by Jelle about designing a data structure to efficiently compress and store large amounts of call stack data!
In Superluminal we need to store potentially millions of callstacks very efficiently. This article describes how we went from naive storage taking up gigabytes of memory in the worst case, to a very compact data structure that efficiently compresses and stores large amounts of stack data in a fraction of the memory.
Had a great time talking with Dennis Gustafsson and Łukasz about profiling and profilers on the Wookash podcast a few weeks ago!
In case you missed it live, the recording is now available: https://youtu.be/7oXgik7Kn90?si=QwnxTjWd5OOAdz5F

I've been wanting to start a blog for a while, and finally decided to bite the bullet.
The first article of hopefully many more to come is about, you guessed it, profiling & optimization.
Boosts appreciated!
https://rovarma.com/articles/optimizing-libdwarf-eh-frame-enumeration/

For the Linux version of Superluminal we rely on unwind information stored in the .eh_frame section in a binary to perform stack unwinding. We’ll go over optimizations we made to libdwarf that greatly improve the performance of retrieving this information.
Heading to the Graphics Programming Conference @gpc!
Come say hi if you’re there too :-)
I’ll be on the Wookash Podcast together with Dennis Gustafsson, original author of RAD Telemetry, for a live discussion about profilers.
Really looking forward to it. Tune in! :-)
Tomorrow (Tuesday) at 7pm CET / 10am PT.
New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Retoots welcome!
https://zeux.io/2025/09/30/billions-of-triangles-in-minutes/
My new blog post is there, and it's a bit different from usual: Fixing performance issues in your own code is hard enough, but this time I'm trying to fix performance issues in a closed-source game. No source code access or debug symbols, but a lot of guesswork.
https://larstofus.com/2025/07/27/profiling-without-source-code-how-i-diagnosed-trackmania-stuttering/
We've just released a new update with many fixes and QoL improvements, including the much-requested support for using the horizontal mouse wheel to navigate the timeline.
Go check it out!
@rovarma Just trialed Superluminal here for a thing. Really love the system wide record. I needed to profile something that's in multiple separately spawned processes, and just getting them in a timelined list saved me a lot of annoying setup!
(Pretty please could it be possible to make the thread expand/collapse animation faster though? :D)