6 ms·
I agree with your final statement and the seeming lack of research, but are you sure your characterization of JUCE is accurate? You’d surprise a lot of people
by swatcoder 4y ago
I agree with your final statement and the seeming lack of research, but are you sure your characterization of JUCE is accurate?
You’d surprise a lot of people if you were right about it using GPU acceleration for its UI framework. It does have an OpenGL container that fits into its view object hierarchy if you want to write your own accelerated component, but the rest of the UI is pretty much standard event-loop -> platform-API dispatch. It’s accelerated where the underlying platform-API is accelerated but not in any kind of explicit or fine-tuned way. The focus has always been more on portability than performance, even on the audio side.
(And of course the high-priority audio processing runs in an entirely segregated context from the UI, so the performance characteristics of the two pieces are decoupled anyway.)
- coldtea 4y ago>I agree with your final statement and the seeming lack of research, but are you sure your characterization of JUCE is accurate? That JUCE is "heavily used in gaming" for starters is widly innacurate
- fxtentacle 4y agoI personally know multiple people using it in their games and game-related tooling and Roli (the company selling JUCE) even has an official Unreal Engine 4 plugin. So to me, it appears to be widely used.
- irh 4y ago> Roli (the company selling JUCE) I know it's tangential to the point that you're making, but JUCE was acquired by PACE in 2020.
- swatcoder 4y agoJUCE is sold by Raw Material Software, which was purchased by PACE Anti-piracy, which is part of Avid. There may be some people you know using JUCE for games, but it’s an odd choice. Trying to figure out what you might mean, JUCE was involved with the BLOCKS SDK for Roli’s hardware peripherals, but again, that’s not really about gaming and definitely not about any familiar kind of gaming. That said, I’m sure you’re relating the best information you have and very likely just transposed some detail by accident and are now caught in a relentless, exhausting online nitpick. We’ve all been there. If you figure out what it was, I’d love to hear it!
- coldtea 4y agoSome people will also any available lib for games, doesn't mean it's "widly used". As for such a plugin, it's more like wishful thinking for getting gaming customers than actually something that sells in any amount to write home about. The kind of games some tint amount of people make with JUCE is like this: https://ankuznetsov.wixsite.com/jucegames https://ankuznetsov.wixsite.com/jucegames and even those are few and far between. In any case, nowhere even close to "widly used" in gaming. Nor moderately used, or even low use. "Few and far between users of JUCE for games, and even at that almost all of them using it for hobby casual game projects" is an accurate description. JUCE does dominate in audio VST/AU fx/instruments GUIs though...
- fxtentacle 4y agoJust checked and even without any additional setup JUCE is using CoreGraphics which is using Metal under the hood. So yes, the platform-specific renderer is using GPU. Also, you can use OpenGL for GUI compositing, too, not only as a 3D context.
- meindnoch 4y agoCoreGraphics doesn't use Metal. You're confusing it with CoreAnimation.
- kridsdale1 4y agoI concur.
- fxtentacle 4y agoJUCE has a CoreGraphicsMetalLayerRenderer which I understood as using Metal to render CoreGraphics paths. https://github.com/juce-framework/JUCE/blob/4e68af7fde8a0a64e808fb1a37999a690873c9de/modules/juce_gui_basics/native/juce_mac_CGMetalLayerRenderer.h https://github.com/juce-framework/JUCE/blob/4e68af7fde8a0a64...
- meindnoch 4y agoIncorrect. Please read the code more carefully. It uses CoreGraphics to render into a bitmap on the CPU, which is then uploaded into a Metal texture.
- Jasper_ 4y agoCoreGraphics is a CPU rasterizer. It doesn't use the GPU.