Here we are 5 years later and OpenGL API is still a nightmare and under performs compared to DX.(significantly in some of the test I have run, but around 33% in most and I don't know much bout DirectX).
Many of the API calls need to take place in Kernel mode. Switching back and forth is expensive. The API stores the calls in a pipeline so that it makes as few of these mode switches as possible. If you can get all the data onto the GPU in a single instance these switches can all but be eliminated.
I've said it time and time again. The sooner Microsoft gets pulled, from controlling the PC the better. Just imagine how much they have slowed and hindered the pc with their crummy directx. Imagine if they had actually optimized windows for gaming, but obviously that wont happen, because they play on 2 horses. they want games on their consoles instead of windows. There is so much performance to gain, if we get opengl low level api, then some other gaming OS, where gaming is the number priority
At this point, performance gains from OpenGL are still behind Mantle, and compatibility is meh. I ship OpenGL software, and AMD gives us grief quite a bit of time with fresh driver bugs, nVidia super rarely, and Apple is super unpleasant to work with (too divergent), but no surprises. Of course this is also a product of DirectX being the main interface for hardware makers, but the unifying force of Microsoft on implementation level also makes things a lot easier for everyone! Except well. If Microsoft released DirectX10 for Windows XP, it really would have saved some gamedevs a lot of time, and for those with little time, it could have improved performance of all titles. Arses. Something curious happened recently though. Consoles had their low-overhead APIs for like ever, except for the very first Xbox, where it was a major mistake on Microsoft's part not to provide one, if you'd like to read up a postmortem on "State of Emergency" port, you'll know why. Now AMD released a Windows low-level API called Mantle probably derived from their Xbox One involvement, and Microsoft announced a follow-up, that Direct3D 12 is very Mantle-like, and applicable to GeForce series Fermi and up, and AMD series 7 and up. It'll take a while to hit the shelves, but it looks like Microsoft is serious. I don't think there's anything holding up PC gaming performance besides graphics API/driver stack deficiencies - there's of course other deficiencies in Windows, but they don't add up like that.
@@seditt5146 apples to oranges tho. dx is windows-specific. ogl is language and platform neutral. So, it would be more accurate to say that ogl is faster everywhere except windows. Second, microsoft spent a decade, maybe more, doing its worst to shove opengl away and force people to use direct3d.
How do you expect any independent developer to have time and resources to deal with this kind of complications? OpenGL became successful because it was simple, but after years of corporate poking, it turned into DirectX. Embrace, Extend and Extinguish at its finest.
This is not just for indies (who generally start from nothing or just use an already existing engine) and do you really think OpenGL should be stale? Microsoft's "Embrace, Extend, Extinguish"-strategy builds around adding proprietary extensions to such an extent that you end up with two standards, one which is compatible with the other wile the other isn't compatible with the first. While vendors can add their own extensions to OpenGL, they still all contribute to the standard and it's only just a few specific things that end up being vendor exclusive. I personally prefer a few features being vendor specific in an open standard over a closed vendor specific standard with no vendor specific features.
Fuck the Khronos group. OpenGL used to be cool because you could use it as-is without an "engine" and/or other gay appendages. I guess somebody wansn't happy about that.
lennyhome OpenGL is an low level API, you don't need an engine to use it. And yes OpenGL got more complex but the hardware is also got more complex to be more powerful & faster.
+lennyhome You can still use a GL11 if that's what your into but most guys are interested in actual quality and performance. Sorry but calling an engine/framework "gay" is beyond pathetic. If you cannot be arsed to learn the simplest things programming might be a bit out of your reach
Khronos, or whoever in charge, crippled OpenGL by removing the real OpenGL features to "compatible profile". They added needless complexities in hope it will catch with Direct3D crap. Hardware changed yes but it's now faster and more capable, and this should remain transparent to the API. The only thing I can think of is programmable functionality, and anything else is just a failed attempt to imitate Direct3D.
But I often wonder if we'd be able to do cool stuff with the old rigid fixed function pipeline instead of this complex(but way more flexible) version of OpenGL
Sooo yeah.... I couldn't find a solution anywhere on the web sooo this being a video about opengl here is what i get when i try to compile my code : 'Desolation.exe' (Win32): Loaded 'C:\Users\EducatedMF\Documents\Visual Studio 2012\Projects\Desolation\Debug\Desolation.exe'. Symbols loaded. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64 tdll.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Users\EducatedMF\Documents\Visual Studio 2012\Projects\Desolation\Debug\freeglut.dll'. Module was built without symbols. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\lpk.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\usp10.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64 pcrt4.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ddraw.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dciman32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64 voglv32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\gdi32.dll' 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wintrust.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crypt32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msasn1.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64 tmarta.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Wldap32.dll'. Cannot find or open the PDB file. The thread 0xaf4 has exited with code 0 (0x0). The thread 0xc34 has exited with code 0 (0x0). 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\powrprof.dll' The thread 0x23e8 has exited with code 0 (0x0). The thread 0x868 has exited with code 0 (0x0). 'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file. 'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ole32.dll' The thread 0x20b0 has exited with code 0 (0x0). The thread 0x6cc has exited with code 0 (0x0). The program '[7688] Desolation.exe' has exited with code 0 (0x0). Any ideas ?
Too much talk! i wanna see this happening! If nvidia does not come up with something like mantle i will be buying amd cards next up grade! i got 89fps to 124 on bf4 on my second pc that has 2 7970 stock + phenom 970 @ 4.0 now as good as my main pc with 3 gtx 680 1300/ 7000 +3930 @ 4.7
Okay, Please NEVER EVER put Mr. Everitt on stage again, um... um... um... um... I quit watching this otherwise very interesting video because um... um... um... um... I um... Started um,.... Irritating um... myself um... on um... his um... ums um... um... um...
+Michel Streurman um... you know... um... um... um... but he.. um... has a... you know... teapot... um... t-shirt. um... I... uh... also... uh... stop, even though he, uh... doesn't say uh... uh... uh... doesn't say "uh..." or... uh... anything like that.
Execellent talk! Very helpful, thanks for the upload.
I completely understood all that was said and i'm being totally 100% honest.
DIRECT X IS DEAD TO ME.
long live the glew flesh.
It's been dead to me sine 2012.
***** Cos OpenGL seems to have some bright stuff in th pipeline, as well as a good API.
ALL HAIL OPENGL
Here we are 5 years later and OpenGL API is still a nightmare and under performs compared to DX.(significantly in some of the test I have run, but around 33% in most and I don't know much bout DirectX).
John Carmack has been doing this for "Uhm" 20 years.
Isn't John Carmack more of a 'mmm' person
@@snokzor more of a "...ugh." person. After he finishes a sentence he lets out a squeak.
I giggled a little when i saw the t-shirt.
Why driver overhead exists in the first place?
Because command buffers are deeply pipelined making any kind of server->client sync expensive as you need to flush pipes/etc.
Many of the API calls need to take place in Kernel mode. Switching back and forth is expensive. The API stores the calls in a pipeline so that it makes as few of these mode switches as possible. If you can get all the data onto the GPU in a single instance these switches can all but be eliminated.
where can I get that t-shirt love it !
ARITE, LETS SWITCH TO MANTLE!
These new openGL extensions will work with AMD too?
Most do already as part of core OpenGL 4.3. The rest will be available soon.
Sméagol ??? Where have you been masta ?
I've said it time and time again. The sooner Microsoft gets pulled, from controlling the PC the better.
Just imagine how much they have slowed and hindered the pc with their crummy directx.
Imagine if they had actually optimized windows for gaming, but obviously that wont happen, because they play on 2 horses. they want games on their consoles instead of windows.
There is so much performance to gain, if we get opengl low level api, then some other gaming OS, where gaming is the number priority
At this point, performance gains from OpenGL are still behind Mantle, and compatibility is meh. I ship OpenGL software, and AMD gives us grief quite a bit of time with fresh driver bugs, nVidia super rarely, and Apple is super unpleasant to work with (too divergent), but no surprises. Of course this is also a product of DirectX being the main interface for hardware makers, but the unifying force of Microsoft on implementation level also makes things a lot easier for everyone!
Except well. If Microsoft released DirectX10 for Windows XP, it really would have saved some gamedevs a lot of time, and for those with little time, it could have improved performance of all titles. Arses.
Something curious happened recently though. Consoles had their low-overhead APIs for like ever, except for the very first Xbox, where it was a major mistake on Microsoft's part not to provide one, if you'd like to read up a postmortem on "State of Emergency" port, you'll know why. Now AMD released a Windows low-level API called Mantle probably derived from their Xbox One involvement, and Microsoft announced a follow-up, that Direct3D 12 is very Mantle-like, and applicable to GeForce series Fermi and up, and AMD series 7 and up. It'll take a while to hit the shelves, but it looks like Microsoft is serious. I don't think there's anything holding up PC gaming performance besides graphics API/driver stack deficiencies - there's of course other deficiencies in Windows, but they don't add up like that.
Crummy DX? It amazes me how many people feel OGL is faster and better than DirectX. It never was nor has been. Likely never ever will be.
@@seditt5146 apples to oranges tho. dx is windows-specific. ogl is language and platform neutral. So, it would be more accurate to say that ogl is faster everywhere except windows. Second, microsoft spent a decade, maybe more, doing its worst to shove opengl away and force people to use direct3d.
@@GeorgeTsiros So what did they do to shove OGL away other than not directly support it which would have been completely retarded of them to do?
@@seditt5146 seems you need to learn some things about microsoft's history with opengl. Start reading.
How do you expect any independent developer to have time and resources to deal with this kind of complications? OpenGL became successful because it was simple, but after years of corporate poking, it turned into DirectX. Embrace, Extend and Extinguish at its finest.
This is not just for indies (who generally start from nothing or just use an already existing engine) and do you really think OpenGL should be stale?
Microsoft's "Embrace, Extend, Extinguish"-strategy builds around adding proprietary extensions to such an extent that you end up with two standards, one which is compatible with the other wile the other isn't compatible with the first.
While vendors can add their own extensions to OpenGL, they still all contribute to the standard and it's only just a few specific things that end up being vendor exclusive. I personally prefer a few features being vendor specific in an open standard over a closed vendor specific standard with no vendor specific features.
Fuck the Khronos group. OpenGL used to be cool because you could use it as-is without an "engine" and/or other gay appendages. I guess somebody wansn't happy about that.
lennyhome OpenGL is an low level API, you don't need an engine to use it. And yes OpenGL got more complex but the hardware is also got more complex to be more powerful & faster.
+lennyhome You can still use a GL11 if that's what your into but most guys are interested in actual quality and performance. Sorry but calling an engine/framework "gay" is beyond pathetic. If you cannot be arsed to learn the simplest things programming might be a bit out of your reach
If you don't like it you can use old versions of OpenGL and there will be no problems.
his barn door is open
Khronos, or whoever in charge, crippled OpenGL by removing the real OpenGL features to "compatible profile". They added needless complexities in hope it will catch with Direct3D crap. Hardware changed yes but it's now faster and more capable, and this should remain transparent to the API. The only thing I can think of is programmable functionality, and anything else is just a failed attempt to imitate Direct3D.
But I often wonder if we'd be able to do cool stuff with the old rigid fixed function pipeline instead of this complex(but way more flexible) version of OpenGL
I honestly don't understand how anyone can be so against change. Feel free to use GL11 but don't wonder when it looks like utter shite
Sooo yeah.... I couldn't find a solution anywhere on the web sooo this being a video about opengl here is what i get when i try to compile my code :
'Desolation.exe' (Win32): Loaded 'C:\Users\EducatedMF\Documents\Visual Studio 2012\Projects\Desolation\Debug\Desolation.exe'. Symbols loaded.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64
tdll.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Users\EducatedMF\Documents\Visual Studio 2012\Projects\Desolation\Debug\freeglut.dll'. Module was built without symbols.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\lpk.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\usp10.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64
pcrt4.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ddraw.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dciman32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64
voglv32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\gdi32.dll'
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wintrust.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crypt32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msasn1.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64
tmarta.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Wldap32.dll'. Cannot find or open the PDB file.
The thread 0xaf4 has exited with code 0 (0x0).
The thread 0xc34 has exited with code 0 (0x0).
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\powrprof.dll'
The thread 0x23e8 has exited with code 0 (0x0).
The thread 0x868 has exited with code 0 (0x0).
'Desolation.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'Desolation.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ole32.dll'
The thread 0x20b0 has exited with code 0 (0x0).
The thread 0x6cc has exited with code 0 (0x0).
The program '[7688] Desolation.exe' has exited with code 0 (0x0).
Any ideas ?
yup, it means you haven't loaded the PDB's from the VS Server....
Umm, yeah umm it umm umm you know umm
His brain is buffering
My um, sort of thoughs um exactly.
sundhaug92 He needs to implement ARB_BINDLESS_THOUGHT
+The Ball He shouldn't map his speech buffer with GL_MAP_UNSYCHRONIZED... stalls of death :D
hahaha XD
Too much talk! i wanna see this happening! If nvidia does not come up with something like mantle i will be buying amd cards next up grade! i got 89fps to 124 on bf4 on my second pc that has 2 7970 stock + phenom 970 @ 4.0 now as good as my main pc with 3 gtx 680 1300/ 7000 +3930 @ 4.7
Okay, Please NEVER EVER put Mr. Everitt on stage again, um... um... um... um... I quit watching this otherwise very interesting video because um... um... um... um... I um... Started um,.... Irritating um... myself um... on um... his um... ums um... um... um...
+Michel Streurman um... you know... um... um... um... but he.. um... has a... you know... teapot... um... t-shirt. um... I... uh... also... uh... stop, even though he, uh... doesn't say uh... uh... uh... doesn't say "uh..." or... uh... anything like that.