For SL users there is the Apple question, will Second Life™ run on Apple? Or… continueto run on Apple?
In June of this year Apple announced its discontinuing support of OpenGL after macOS 10.14 Mojave (scheduled for release Sept 2018), the core aspect of SL’s render engine. It will take a couple of years for Apple to phase it out. But, updates and support officially stop now. For some time support has been really bad.
Core architecture is from the beginning days of 3D graphics.
Designed is based on outdated thinking.
OpenGL is a legacy tool with updates ‘tacked’ on.
Hardware GPU work flow has changed.
Never designed for multi-threading.
Today’s rendering is asynchronous.
On the PC side of things OpenGL is still supported. We can’t know for how long. Khronos, OpenGL’s developer, has introduced Vulkan. (See: State of Graphics: DirectX 12 & Vulkan – 4/2016) Development is exciting and popular. The group is on the forefront of some interesting tech. But, I don’t know that it will be helpful for SL. Continue reading →
In Second Life we run on OpenGL. Most Windows games run on DirectX. Microsoft has announced DirectX 12. It will essentially make NVIDIA 500 series and older cards obsolete. To use DX12 you’ll need a 600 or newer series card. This video explains what is happening. OpenGL is not left out.
It looks like ATI/AMD is making a replacement for OpenGL called Vulkan. It sounds like Vulcan is targeting more devices than DirectX 12. I expect to see Vulcan working on an Android mobile device way before DX12. I still have serious doubts we will see real time 3D render of good quality on mobile devices in the near future.
So, is the Lab planning to upgrade SL to Vulkan? I don’t know. I’ve asked. Vulkan is open source.
Word is OpenGL will still be developed. I think that odd. OpenGL is referred to in one place that came up in my research as a high level API, higher than Vulkan. The basic geek speak uses high and low to refer to how close you are to the hardware… the closer you get to the hardware the more programming you have to do. With higher level languages the more the language does for you.
Think of it this way… a low level addition command would be written as: place this value in Reg#1 and this other value in Reg2 then preform an XOR operation on then and place the result in Reg3 then move Reg3 to memory as variable X. A high level language would let you write the code as A + B = X and handle all the registers, operations and moves for you.
There are good reasons for using higher and lower level languages and API’s. But, generally we want API’s that produce more overall efficiency. From the other stuff said about Vulkan I would think it should be called a higher level API…. it does way more for the programmer. Whether it is higher or lower it is the next gen descendant of OpenGL.
For those of us playing in SL this means little today. But, suggests that play in Sansar will mean we will need a 600 series card or higher.
If you are looking for more details start at the Wikipedia: Vulkan API.
A question by Loki got me looking at the state of DirectX/Direct3D and OpenGL. We hear Windows runs games faster on Direct3D than on OpenGL. That is supposedly why Second Life™ viewers run slower, fewer Frames Per Second (FPS), than other games using Direct3D. But, some people say otherwise. One of those people is Steam or more accurately the online gaming company Valve.
Valve makes the Source Engine that runs Half Life 2, Left 4 Dead, and Dota 2. Valve is not a Microsoft fan, which I don’t find surprising as Microsoft is known for trying to make Windows a closed shop that keeps other gaming systems at a disadvantage. In testing in August 2012 Valve reported that OpenGL on Ubuntu ran faster than DirectX/Direct3D did on Windows. You can read more about that in: OpenGL is Faster.
This tells us it is not just OpenGL and Direct3D that solely control performance. The OS has quite a bit to do with it also.