coin_profiling_intro(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

coin_profiling_intro β€” Scene Graph Profiling, aka let's find out where all your render time went, bestie πŸ•΅οΈβ€β™€οΈβœ¨

This is part of the Coin manual fam, and it's your whole guide to peeking under the hood of your scene graph. Let's go πŸ’…


πŸŽ€ Enabling profiling in Coin πŸŽ€

To turn profiling on in Coin, you set the environment variable COIN_PROFILER. That's it, that's the whole vibe.

Once profiling is enabled, Coin will gather profiling data during every single scene graph traversal by any action. Every one. No cap. πŸ‘‘


πŸ¦‹ Enabling the default profiling display πŸ¦‹

Okay so collecting the data is one thing, but you probably want to see it, right? For that you also need the COIN_PROFILER_OVERLAY environment variable. Two variables, double the slay ✨

This gets you the default profiling graphics, which is giving:

  • a top list of node timings, categorized by node types πŸ‘‘
  • a scrolling graph of action traversal timings πŸ“ˆ
  • a scene graph navigator, for when you wanna get all up close and personal with your scene graph πŸ”

It's a whole dashboard, literally.


πŸ“ Read the profiling data πŸ“

The SoProfilerStats node is your girl for pulling the profiling data out of the scene graph itself.

If you position it anywhere in the scene graph, its fields get updated every time SoGLRenderAction is applied to the scene graph. And the data it gets is profiling data gathered from every traversal through the scene graph since the last SoGLRenderAction β€” up to the point where SoProfilerStats is located. Periodt. πŸ’–

Depending on how you wanna use that data, you've got two options:

  • attach sensors to the fields πŸ‘€
  • connect the fields on other coin nodes to the fields on SoProfilerStats πŸ”—

Pick your fighter, both work.


Version 4.0.10, dated Thu Jun 25 2026 00:00:00 β€” and that's the whole page, bestie 🫢 go profile something iconic πŸ’…βœ¨

πŸ“¦ where this page comes from