21 comments

[ 251 ms ] story [ 933 ms ] thread
Sadly, it breaks my scene with a PIP camera with a mask...
Please submit a GitHub issue with some details on your setup!
Was considering building a streaming rig around a Mac Mini. I wonder if with these performance enhancements, that will work for me?
I’m more excited about the upcoming support for VST3, but this is still welcome news. It is far easier than getting hardware encoding working with Rockchip SoCs on Linux.
The submitted title buries the lede. It should be:

“OBS Studio Gets A New Renderer: How OBS Adopted Metal”

I wonder how this improves performance on older Intel macs with a Metal-compatible GPUs, or if it's really a M-series only improvement.

  > Metal takes Direct3D's object-oriented approach one step further by combining it with the more "verbal" API design common in Objective-C and Swift in an attempt to provide a more intuitive and easier API for app developers to use (and not just game developers) and to further motivate those to integrate more 3D and general GPU functionality into their apps. 
slightly off-topic perhaps, but i find it amazing that an os-level 3d graphics api can be built in such a dynamic language as objective-c; i think it really goes to show how much optimization put in `objc_msgSend()`... it does a lot of heavy lifting in the whole os.
Hope they'll fix the obvious bugs like CPU use going to 60% doing nothing after restore from hibernation next
It's never "doing nothing" - you just need more visibility into your running tasks.

Turning off nearly everything iCloud- or Spotlight-related is a pretty good start; disable network access and you may find even more pearls of wisdom.

Great article. The description of how they handle shaders is just bonkers to me.

Is that really what you’d have to go through to have a working system with plugin shaders from 3rd parties on multiple backends? Or is mostly the result of time and trying to keep backwards compatibility with existing plugins?

Telling external devs “Write a copy in every shader language” would certainly be easier for the core team but that’s obviously undesirable.

I hope Modern GPU APIs are just a stepping stone to something simpler. OpenGL is loved and hated; and I have grown to love it after using the new stuff.
Apple should dedicate some resources to making this successful. Metal could use more wins outside of Apple itself.
I'm no expert on topic. So, I maybe understood only 5% of what I read but I wish we had more posts like that. Announcements without any technical details sounds like marketing pieces.
Same. I'm a python/typescript guy, so many details flew over my head, but I knew HN would like it.
now all macOS streamers need is games!
This quite clearly shows the cost of Apple preferring to build a software ecosystem moat, than using the Vulkan API which every other OS supports.

Vulkan support was introduced in OBS Studio 25.0 in March 2020, 5.5 years ago.

As if nobody else ever did that (like Microsoft with DirectX, and almost every single games console)?
Vulkan is not supported on game consoles, with the exception of Switch, and even there you should use NVN instead.

It is not officially supported on Windows, it works because the GPU vendors use the Installable Client Driver API, to bring their own driver stack. This was initially created for OpenGL, and nowadays sits on top of the DirectX runtime.

On the embedded space, the OSes that support graphical output many are stil focused on OpenGL ES.

Vulkan capture support on Windows was introduced in v25 (on linux you need to use a plugin). There is no Vulkan renderer support—which the post clearly stated...
OBS has no Vulkan renderer. Only OpenGL, DirectX 11 (on Windows), and now Metal.