14 Replies
      Latest reply on Jul 28, 2016 12:48 PM by iPad_dev
      deeeds Level 2 Level 2 (30 points)

        We've had what... 2 and a half years of Metal talk?


        A7, A8 & now the A9.


        Yet it appears to be slower than OpenGL, and render blending differently in Scene Kit.


        Which I thought might be to do with the implementation and beta-ness (alpha-ness?) of SceneKit.


        Today, I see the last 3 graphs on this site, demonstrating OpenGL on an iPhone 6S is faster than Metal.



        So speed might not be Metal's strength, after all.


        What else is it good/better at than OpenGL?


        Why, at this point in time, should someone invest their energies into Scene Kit, Metal & Sprite Kit?


        When will Apple engage in actively commumicating its progress (and lack thereof) with its game and rendering engines and technologies?

        • Re: Metal & SceneKit: Potential/Promise vs Reality
          Jessy Level 3 Level 3 (150 points)

          Metal was announced at WWDC 2014. That's not one and a half years ago.


          Have you written in Metal? I don't think you could have, and still ask why you'd use it.

          • Re: Metal & SceneKit: Potential/Promise vs Reality
            dcunit3d Level 1 Level 1 (0 points)

            It isn't a question of "Is Metal > OpenGL?"


            rather, Metal has a few features which offer flexibility that isn't available with OpenGL, especially on mobile.


            The framework you should compare for reference is Vulkan, not OpenGL.

              • Re: Metal & SceneKit: Potential/Promise vs Reality
                deeeds Level 2 Level 2 (30 points)

                Vulkan is not a choice on iOS, and is unlikely to ever be.


                Metal has been pitched, promoted, promised and endorsed as superior to OpenGL ES on iOS.


                Yet, within SceneKIt, choosing Metal is not without consequences that lead to inferior performance and quality of rendering when compared to using OpenGL ES.


                Hence the question.

              • Re: Metal & SceneKit: Potential/Promise vs Reality
                fractal Level 1 Level 1 (0 points)

                First, In your linked article, the plots show that metal on iOS9 is faster than OpenGLES in every test except fill-rate so your assertion that it is slower is questionable.


                Secondly, the total performance of an app is usually a combination of CPU and GPU. Apple has always claimed Metal reduces CPU overhead and in that respect it seems to be a massive success on iOS9 (per the plots in the linked article).


                Metal seems to fare less well all-around on OSX but that has only existed since WWDC 2015 so I think it's fair to chalk that up to it's "beta-ness".

                  • This reply has been hidden. This can happen if the message has been hidden by a moderator, or has been reported as abusive.
                    • Re: Metal & SceneKit: Potential/Promise vs Reality
                      fractal Level 1 Level 1 (0 points)

                      Ok looking at the last 3 charts (the only ones showing iOS9 results):


                      Chart 1:

                      Manhattan - 40.1 OpenGL, 40.3 Metal. Winner: Metal

                      T-Rex - 80.4 OpenGL, 83.5 Metal. Winner: Metal

                      ALU - 212.0 OpenGL, 212.1 Metal. Winner: Metal

                      Driver Overhead - 201.6 OpenGL, 631.2 Metal. Winner: Metal

                      Chart 2:

                      Alpha Blending - 12986.0 OpenGL, 13060.0 Metal. Winner: Metal

                      Chart 3:

                      Fill - 7134.0 OpenGL, 6347.0 Metal. Winner: OpenGL


                      So yes, all iOS9 tests except the last one show Metal winning.

                      You mentioned OpenGL without specifying OpenGLES so I assumed you were talking about both OSX and iOS.

                      I did not comment on the blending issue because I don't know anything about it. If that was the main issue perhaps you should start a thread about that specifically.

                        • Re: Metal & SceneKit: Potential/Promise vs Reality
                          deeeds Level 2 Level 2 (30 points)

                          Your first 3 are margins so slim as to be ties, surely you can see that!?


                          Driver Overhead is a theoretical win.


                          Chart 2 is also a tie.


                          Chart 3 is the only clear winner, and... most interestingly, the area in which all iOS devices suffer the most when pushing game art around (generally speaking).

                          • Re: Metal & SceneKit: Potential/Promise vs Reality
                            deeeds Level 2 Level 2 (30 points)

                            Apple claims Metal is faster than OpenGL ES.

                            That does not appear to be true.



                            As to a separate question for blending differences between Metal and OpenGL, take a moment to read the entire series of questions and context. Right at the start I make the claim it's slower, and that it blends differently.


                            One of the reasons it's close to the performance of OpenGL (yes, I'm talking about ES!) is that I think it looks to be cheating on the blending.


                            If it weren't for the fact it's not doing the same blending it would likely be even slower, and likely suffer even more in a direct fillrate comparison, where it's already losing by nearly 10%.


                            Again, the context of this question is Scene Kit's use of Metal. In my experience Metal is not only slower in Scene Kit, it's also got issues with framerate locks, and uses a different blending approach. That's 3 strikes against it.


                            However... from these direct comparisons between Metal and OpenGL ES it's apparent that even outside of Scene Kit there's something blatantly at odds with the claims made by Apple. It's not faster.


                            The questions are about what Metal is good for, and why should it be chosen... you can contend the data all you like... you're just dodging all the questions.

                              • Re: Metal & SceneKit: Potential/Promise vs Reality
                                Carniphage Level 1 Level 1 (15 points)

                                I am pretty sure that Metal does not, and cannot make the hardware go faster.

                                The fill-rate and transformation rates are bound by the performance of the GPU. 


                                The switch to Metal does two things.


                                1) The API places fewer demands on the CPU, so in some circumstances, this will improve performance. This is typically when the number of individual draw calls is so large it is overwhelming the CPU.  Apple's claims of improved performance have always been qualified by this.


                                2) It means Apple and not Khronos is in charge of how the API is advanced. 

                                  • Re: Metal & SceneKit: Potential/Promise vs Reality
                                    Jessy Level 3 Level 3 (150 points)

                                    While true, I don't think we can place we can place a number on what an API and language change permits. There is a human element to all of this, extreme in some cases, and in the case of deeeds, seemingly nonexistent.


                                    Look at how people have adopted Swift, and how people feel about it. Metal is the same for some of us. The reason you don't see this is that the amount of people to whom Metal appeals in a similar fashion to Swift are very few. For example, the person who makes the only OS X-only 3D content creation app doesn't even care to use Apple-specific technology anymore.