Orbit: C/C++ Performance Profiler(github.com) |
Orbit: C/C++ Performance Profiler(github.com) |
It just shows contention in a way that so hard to see otherwise.
If this tool packages some of that in an easier to use package it’s going to be a great tool for some.
Could you elaborated on this? I've never used it myself.
"Orbit's focus has shifted to the Linux version. Windows local profiling is currently only supported partially and major features, such as dynamic instrumentation, are not yet implemented. It is possible however to profile Linux executables from a Windows UI instance. For Windows local profiling, you can still use the released binaries, but please note that they are deprecated and mostly undocumented."
on top of this, given google's penchant for dumping projects aka abandonware, this would be an easy pass.
For architecture specific profiling, Vtune is still pretty good though.
Seeing it supports Go, I wonder if it supports other AoT compiled languages with garbage collectors, like .NET.
Though it's true that more advanced features require OS support (eg: showing how threads get moved amongst CPU cores, and so on).
Library search path is `/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/1[4-9].[0-9].[0-9]/lib/darwin`.
The main selling point of the tool is Dynamic instrumentation, which allows you to generate Flame charts without manual code annotation (you pick functions that you are interested into, and the profiler adds a hook to these functions in order to log the entry+exit time).
Then you navigate to the CPU tracks find the thread(s) that were running instead of the one you care about and directly inspect their stacks. Sometimes almost nothing is running. Maybe contention is not on even on the CPU.
So the “parsing styles was slow” conclusion you would get from only looking at histograms turns into “parsing styles was slow because I couldn’t get my fonts and that was slow because IndexDB was hogging the hard drive on another process”
Edit: I should mention the user provided trace events are very important here. You get flow arrows really underlining task posting and IPC response as well as user interactions. Entry/Exit style uprobes on function are great but I found won’t get you all the way there on a large application.
Superluminal is far and away the best profiler imho.
Tracy is a great instrumented profiler. But damn do I love a good sampling profiler. Tracy can sample. But I had serious issues with it on one of my projects I could never get around.
All their product killings had already gotten someone to register the killedbygoogle.com domain on 2018-09-12 , that's a month before Google Stadia was even in closed beta. People were already joking about when they'd close Stadia when it was released.
Adding insult to injury, everyone saw the absolute fuckup with the Terraria developer. You have an indie developer (that iirc was _featured_ in the Stadia promotions) who loses his work Google accounts making it impossible to work and in frustration announces that the game is dead (apparently his account and the game were re-instated but after a month people had lost track and the image damage was done).
And yes, Google had some big-name contracts outside of just indies, but viability of a platform is always evaluated by it's entire scope (and iirc EA wasn't on board from day 1).
Google has a huge image issue with being humanly unreachable, we accepted with when Google was a cool perky upstart with a do-no-evil creed that hadn't messed up enough yet, but it's far harder to swallow from a big company that we know are only doing it's automated account management to save money (and is so insulated that it takes a _month_ to unfreeze an account of someone that is even supposed to be your partner!).
https://www.polygon.com/2021/3/18/22338396/terraria-google-s...
I wasn't surprised given how bad Google Android talks at game conferences tend to be, so they put up with Google's lack of game development bones.
Android is only different because game developers don't have a option if they want to cover both top mobile platforms.
Android GDK is still a joke versus what Apple puts out, let alone Microsoft, Sony and Nintendo.
simply not true. Stadia had full integration into MSVS in build and debug flows. Even 'lets show a build to management' flows there were better than Windows (i was in shock myself). And for long time during Covid Stadia builds were the easiest way to get playtests up and running at home.
But I agree with your other point that investing into porting and Vulkan renderers was a huge waste of dev resources.
*Yes, with DRM, copy protection, online only, etc, it's debatable whether anyone owns any game. But conventional game ownership or even steam style is still _more_ ownership than the stadia case.
Shortly before Stadia was ramped down, there was a talk about Stadia team starting the Stadia Porting Toolkit, as they weren't getting enough studios interested in porting their XBox/Windows engines into Stadia, versus what they would get out of GeForce Now and Cloud Game Pass.