Vulkan Progress Report #5
godotengine.org
godotengine.org
(1) - https://www.reddit.com/r/godot/comments/b0fqoy/godot_financi...
My guess is that a lot of it comes from companies using Godot fixing bugs that affect them, plus hobbyist as well.
It's often easier to just try random things and see what works than to find answers in the documentation. It usually does not miss topics or tutorials, but the API is incomplete.
The good part is that API documentation is the easiest one to create. The troubling part is that API documentation is the easiest one to create...
The problem is that none of the problems are documented.
Unity eventually walked back this change after a prolonged negative press campaign on Twitter, but counting on Twitter mobs to solve your future problems is a really bad business strategy.
I occasionally use closed-source programs for development, but I don't use programs where the output is constrained by a license, and I don't use programs where the TOS that binds me can be changed on a whim. I'll use a closed-source program like Aseprite or Reaper, I won't use Creative Cloud or Unity. The benefits aren't worth the risk.
[0]: https://arstechnica.com/gaming/2019/01/unity-engine-tos-chan...
For me, Mojave on a 2017 15” MBP crashes hard about once a week. I remember Windows 98 being roughly as stable. It’s immensely disappointing.
That's insane. Think I've seen one crash on my windows machines this year
It's a known bug and the only workaround right now is to re-enable Bing search in the start menu which I cannot do due to company policy.
Windows is just as bad.
Only one crash in 2 years.
Apple are negligent, and they hope their customers are stupid or loyal enough to think they're doing their best.
I haven't actually used catalina, so can't compare.
I get the impression that Apple only does manual integration tests, only on mainstream features, and then they cross their fingers that other users don't have such a bad experience that they lose a customer.
When my new company starts developing an iOS application, I think we'll spend as little time on macOS and XCode as possible; try to build and test our core on Linux like we do for everything else.
Why is it not practical to have direct support for Metal? Honest question.
You get access to a market of over a billion devices across desktop, phone, tablet and TV, with iPhones and iPads having some of the best graphics performance in their class. Even more important for developers, Apple platforms generally have a much higher percentage of users on their latest OS versions than Android etc. Why wouldn't you want to get the most out of that by using their native API?
You can get pretty far just by adopting SpriteKit/SceneKit which use Metal under the hood. 3D is outside my ken so I haven't measured the performance for that, but for 2D even my sloppy pet project [0] could update 3000+ sprites every frame at 60 FPS on the 2 year old iPhone X. You can even mix in SwiftUI without affecting game performance! (that I can tell so far.)
https://godotengine.org/article/abandoning-gles3-vulkan-and-...
> Still, the lack of support on macOS made it unappealing. Having to write a Metal backend to support this OS is a lot of effort for a platform not used very much.
It seems with MoltenVK, Vulkan would use Metal anyway?
> MOLTENVK GOES OPEN SOURCE
> However, today, in a completely unexpected turn of events, it seems Valve has found an arrangement with the developers of MoltenVK (the commercial and proprietary Vulkan over Metal wrapper), ported Dota 2 to it, and got it open sourced.
> It seems to be a mostly complete Vulkan implementation that runs on macOS and iOS. This pretty much lifts the only barrier we had for moving Godot to it.
It makes even less sense when there are shims like molten which will translate for you. No need to run all of your test plans through their shim. Just a subset will do since they're likely testing their code.
Godot is a project with limited resources and the Vulkan backend works fine on Apple platforms through MoltenVK, so as far as the people doing the work are concerned there's little point in adding Metal support and lots of other things are higher priority.
WebGPU is interesting, but I doubt that it will ever be able to compete with native graphics API's on pure performance because of the security considerations it has to take into account. I'm glad we will have a more capable alternative to WebGL, but it would be a shame if computer graphics were limited by the limitations of web.
WebGPU is also a much more ergonomic API than Vulkan. And as far as I know, there is no Vulkan-to-D3D layer, so you are relying on your graphics card manufacturer to supply a good enough implementation, which has not worked out great in the past.
I really doubt that a JS/Typescript API is going to be better for graphics work than a C++ API. Game developers need every bit of performance available. They're not going to want to embed web technologies and the overhead which comes with them in their native apps.
The actual 3D API is a tiny part of the whole game engine, so every professional game engine has pluggable backends anyway.
So while it isn't practical for Godot, all major commercial engines like Unreal and Unity do support Metal.
Also in spite of Switch being the only console with Vulkan support, around 50% of the titles are done in Unity using the NVN API.
Also Vulkan keeps collecting extensions, slowly it won't be any different from OpenGL with multiple code paths for OEM, graphics card model, depending on which features one is trying to take advantage of.
API-level fragmentation is an inevitability as long as GPU vendors ship hardware with different feature sets. It might be harder for graphics programmers, but I suspect consumers don't want to live in a world where graphics advance at the pace of the lowest-common-denomenator hardware. Still Vulkan takes a much more sensible approach to extensions than OpenGL, and it's far and away easier to avoid unpredictable results on Vulkan than OpenGL.
I think long-term it would make sense for Godot to support Metal, but if they are supporting Vulkan anyway, it would seem almost silly not to support Apple platforms almost for free using MoltenVK in the short term.
Switched to unreal, but it's taking way me way longer to figure out.
Really? A game engine without linear math built in is like a web framework without JSON support.
It's been a few months since I tried godot so I forget all the missing math stuff that made me give up, but I remember there were a bunch of small annoyances due to the lack of mat4/vec4 like unable to use homogeneous coordinates