A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Now in Beta! Get 1:1 live lessons on any Unity topic or help troubleshooting your project – Connect with an expert on Unity Live Help
Discussion in 'General Discussion' started by SAIKYOU, May 17, 2019.
Anyone knows? I just want to know some deep tech details behind it, thank you!
There isn't anything deep about it. OpenGL ES restricts each context to a single thread. Trying to modify the context from multiple threads results in unpredictable behaviour. Apple's recommendation is to have multiple threads that are not dependent on the context perform calculations and then let the single thread push the results one at a time.
Open GL is deprecated on iOS and macOS. I would not waste any time with it.
OpenGL multithreading support (iOS) is a new feature in Unity 2019.2:
I hope that is a sign that OpenGL will be still available for some time on macOS and iOS – otherwise I don’t understand why they invest any resources in a technology that might be not available anymore in iOS 13 and macOS 15.
thanks for you reply, AFAIK, On Android, unity pushes every rendering command , except creating shader command , to rendering thread. Why can not use this same pattern on IOS? Does IOS have some restrictions? For example, rendering thread can't bind eagl conext which is created in the main thread to self(I just guess)?