Even if that would mean I have to "port" the engine to linux/X86. Until now I just had windows/X86 and linux/ARM!
My m1 mac says hi! :)
Now I didn't even mention the App store tie in and how you need to sign the binaries on Apple hardware and how they poach 30%, but you get the picture.
I’f you’re lucky enough to live in a country with consumer protection laws (NZ is one), Apple will fix if for you for 3-4 years. So you pay the fortune you mention and then a bit more to cover this feature.
OpenGL (ES) 3 with VAO was the last feature that really moved any interesting goalpost (to reuse that phrasing since we have a tree structured comment field to move those around) for games.
Most new protocols are just job security.
Edit: Also calling something that just released in hardware (OpenGL ES 3) legacy is kinda weird.
Maybe wait a decade or two?
Performance with the low level APIs are not something that competes with OpenGLs higher level API, they are complementary; eventually there will be OpenGL drivers written in Vulkan!
That said, I have yet to meet anyone that can give me a practial example that affects gameplay where Vulkan (or Metal/DX12) makes a difference!
Also last but not least fragmentation is bad, I rather support OpenGL (ES) 3 on all platforms than port to those 3 new APIs.
edit: the timer is there probably for flamewar prevention. Maybe for general discussion quality too.
The biggest problem with OpenGL is the state. It severely affects CPU usage and limits parallelism options. The second problem is poor handling of buffers.
It hardly matters, anyway. Vulkan, D3D 12 and Metal are very similar and almost always used indirectly through a game engine that can take advantage of them.
Unity and Unreal are so bad. I mean compile for 30 minutes? To use them is to have technical debt way beyond what is healthy.
So why can't you make OpenGL stateless? It seems to me multithreading is really bad on the new APIs too, you'll have to trash memory with a bunch of buffers that then gets submitted by one thread causing motion to photon latency!
RdR2 had like 10 frames of lag! Completely unplayable.
I prefer direct/forward rendering one one thread and make the graphics simpler instead. Graphical fidelity is not important to make a fun game, just look at Nintendo.
For the vast majority of games that compete on graphics, you need to use modern APIs to take advantage of modern GPUs.
http://talk.binarytask.com/task?id=579711216639635462
My server is the first MMO system to handle 10.000 concurrent action players on one machine: http://fuse.rupy.se/about.html
You have to pick your battles.
How will you ever get those 8 seconds back??
8 seconds x 1 million compiles = 92 days!
When you code action games you want to iterate quickly to make the controls and physics as good as possible.
I made a .dll/.so hot-deploy system to be able to work effectively, so I can hot-deploy the game in <1 second on the Raspberry but then on the PC I do it in 100 microseconds!
Now touch screen keyboards are a different problem.
It just depends on how heavy-duty what you're trying to do is. Scripting in general runs fine on my ARM SBCs. The real trouble is if you've got something that you need to recompile every time you make a change and you don't have a cache set up.
You need a keyboard and mouse to be productive, case closed!
Edit: see the toxic high karma downers even got to this one!
I bet you the high karma people click on your profile to see how much karma you have before they push you down.
Eventually the HN database will leak, it's inevitable, I'll make sure to grab a copy then.
I'm barking up the wrong tree, am I? sorry for the misunderstanding