Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

A cube, a plane and a skydome = 27fps on 4th gen!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • A cube, a plane and a skydome = 27fps on 4th gen!

    Thats right when you deploy the startup map of the UDK on a 4th gen device that is what you get on performance! When you point your view down it gets even to 23 fps! Its ridiculous if you ask me.
    Now it becomes pretty clear there is no chance to get any game run smooth on 4th gen devices with this engine.
    I hope there is still a chance that its get improved one day but at the current time its more likely that we will have to release our game only for the high end devices which will be of course make it very unlikely that it will be any commercial succes and it will have no chance to get in the ranks. Past updates of the engine have also shown that there was never a improvement in performance, in fact it only got worse: http://forums.epicgames.com/threads/850320-Performance

    Dont get me wrong here, i dont want to talk the engine down, in fact i love to work with this engine, the poor performance and some other shortcomings on mobile just make it very frustrateing. Mabye you like to join here in the demand for a better performance and someone of Epic will finally care about it.

  • #2
    When you are dealing with a 800 MHz processor and 256MB of ram, some of which is being used back background programs and the iOS itself, getting much of anything made with Unreal to run smoothly is going to be a challenge. It doesn't have much to do with Epic and more to do with creating games for a non-gaming device, with very mediocre hardware.

    I do sympathize. Knocking off certain devices is knocking off people who could potentially buy your product. I do have faith that in the next couple years, that a lot of these devices (such as the 4th generation iPod Touch) will be obsolete and we will be able to create games for much higher end devices. I.E. Devices that have more than 256 or 512 MB of ram, dual core+, and a dedicated video processor.

    Comment


    • #3
      Originally posted by Vawx View Post
      When you are dealing with a 800 MHz processor and 256MB of ram, some of which is being used back background programs and the iOS itself, getting much of anything made with Unreal to run smoothly is going to be a challenge. It doesn't have much to do with Epic and more to do with creating games for a non-gaming device, with very mediocre hardware.

      I do sympathize. Knocking off certain devices is knocking off people who could potentially buy your product. I do have faith that in the next couple years, that a lot of these devices (such as the 4th generation iPod Touch) will be obsolete and we will be able to create games for much higher end devices. I.E. Devices that have more than 256 or 512 MB of ram, dual core+, and a dedicated video processor.
      This is not true. iPod Touch is now and has been a great gaming device since the first gen release. In fact, there are some amazing 3D games that run on my iPod Touch 2G at high framerates, such as Minigore, Blades of Fury, Samurai, StarDefense to name just a few. These games are going on 3 years old, but iPod Touch 2G is not even supported by UDK.

      I have noticed that the default settings for non-iPad 4G devices in UDK are not as restrictive and this caused my game to run quite a bit slower on my iPod Touch 4G vs iPad by default. However, copying the iPad system settings in BaseEngine.ini and Mobile-UDKEngine.ini to the iPod Touch 4G section made the performance a lot better. Also, building in Shipping_32 and FinalReleaseScipt yields a significant performance improvement for me on 4G devices.

      I believe that part of UDK's problem is that it exposes so many features when most of them are too expensive for lower spec devices. I have not figured out the best settings yet to enable for all devices, but I do know my game runs quite well with extremely simple shaders and proper use of Unrealscript, with minimal kismet and most rendering features disabled. It's easy to be frustrated by this with marketing hype and Infinity Blade constantly in your face, but if you take a look at the most successful games on the iOS platform you'll realize that the actual rendering is quite basic even though the art might be quite good.

      Don't expect to make a fast action game with the graphical fidelity and features of Infinity Blade. Infinity Blade is a relatively locked camera with all of the horsepower going toward the rendering of a few characters or the environment.

      Just my 2 cents.

      P.S. The frame rate of Infinity Blade on iPod Touch 4G is not so great...

      Comment


      • #4
        Originally posted by Vawx View Post
        When you are dealing with a 800 MHz processor and 256MB of ram, some of which is being used back background programs and the iOS itself, getting much of anything made with Unreal to run smoothly is going to be a challenge. It doesn't have much to do with Epic and more to do with creating games for a non-gaming device, with very mediocre hardware.

        I do sympathize. Knocking off certain devices is knocking off people who could potentially buy your product. I do have faith that in the next couple years, that a lot of these devices (such as the 4th generation iPod Touch) will be obsolete and we will be able to create games for much higher end devices. I.E. Devices that have more than 256 or 512 MB of ram, dual core+, and a dedicated video processor.
        Well, there are lots of 3d games for the 1st gen of iphones, even temple run works on the first gen, those 3d games have of course only basic vertex lighting but even with the unreal engine you have the environment basicly unlit. On the other side it could be true that the unreal engine would have to be rewritten to run probably on a mobile device because it was developed for pc and current gen consoles. Though there are also basic things missing like dynamic batching, Temple run made with the unreal engine would not work, simply because of the coins that appear in big numbers on screen. With the unreal engine each of them would be atleast 1 draw call and that would kill the performance even on a ipad2.


        Originally posted by jrapczak View Post
        This is not true. iPod Touch is now and has been a great gaming device since the first gen release. In fact, there are some amazing 3D games that run on my iPod Touch 2G at high framerates, such as Minigore, Blades of Fury, Samurai, StarDefense to name just a few. These games are going on 3 years old, but iPod Touch 2G is not even supported by UDK.

        I have noticed that the default settings for non-iPad 4G devices in UDK are not as restrictive and this caused my game to run quite a bit slower on my iPod Touch 4G vs iPad by default. However, copying the iPad system settings in BaseEngine.ini and Mobile-UDKEngine.ini to the iPod Touch 4G section made the performance a lot better. Also, building in Shipping_32 and FinalReleaseScipt yields a significant performance improvement for me on 4G devices.

        I believe that part of UDK's problem is that it exposes so many features when most of them are too expensive for lower spec devices. I have not figured out the best settings yet to enable for all devices, but I do know my game runs quite well with extremely simple shaders and proper use of Unrealscript, with minimal kismet and most rendering features disabled. It's easy to be frustrated by this with marketing hype and Infinity Blade constantly in your face, but if you take a look at the most successful games on the iOS platform you'll realize that the actual rendering is quite basic even though the art might be quite good.

        Don't expect to make a fast action game with the graphical fidelity and features of Infinity Blade. Infinity Blade is a relatively locked camera with all of the horsepower going toward the rendering of a few characters or the environment.

        Just my 2 cents.

        P.S. The frame rate of Infinity Blade on iPod Touch 4G is not so great...
        Do you mean with "Shipping_32" building it as a distribution build with frontend? The default ini setting for 4th gen are only shader related things that can be setted lower but when you have the shaders already simple made it will have no impact at all. Things like realtime shadows, MSAA and light shafts make no sense on 4th gen anyway. IB2 performance is pretty bad, heard lots of critics about. But for the gameplay of the game it doesnt matter much because the interactivity is very limited, when you only need to do certain actions in a certain timespane while something plays it will not really impact the gameplay. Same with Dark Meadow, that is so on rails it could be even made prerendered like the myst games.

        Comment


        • #5
          You really have to work hard to get the performance of your project to an acceptable level. I've gotten fantastic performance out of iOS devices mainly by lowering the amount of draw calls, using the simplest materials possible that convey the effects that are necessary, and using pre-computed visibility and lightmass importance volumes. It takes work, there aren't any easy solutions.

          Comment


          • #6
            i been having the same issue with the december build, i know final cooking and release optimize performance about 30% or so. yet having 17 to 25 fps on test is kinda bad. try optimze code by avoiding processing expensive functions like trace, the allactors iterators and such

            Comment


            • #7
              Remember that when you're developing, it cooks a release build, which may be just a little slower than a shipping build, and it takes a little bit of time to actually calculate and display the stats themselves, and the default UDK map doesn't seem to be a really good example for mobile (the skybox is calculating a light environment for example, and it has gamma correction & fog enabled), and it'll be highly dependent on the pawn you're using (are you using a mobile pawn?), making sure that the udk robot isn't in there because it has a ton of bones and such.

              Btw anyone know what the story is on mobile with vsync & framerate smoothing? I've tried turning both those off and it still seems to cap it to 60fps... was hoping to see exactly how fast a 4S could run things.

              Here's a pic of an empty map taken from my 4S:

              Click image for larger version

Name:	empty_mobile_fps.jpg
Views:	1
Size:	91.2 KB
ID:	3248777
              [SCREENSHOT]http://forums.epicgames.com/attachment.php?attachmentid=6574&d=1329021346[/SCREENSHOT]

              Comment


              • #8
                Originally posted by DougClayton4231 View Post
                You really have to work hard to get the performance of your project to an acceptable level. I've gotten fantastic performance out of iOS devices mainly by lowering the amount of draw calls, using the simplest materials possible that convey the effects that are necessary, and using pre-computed visibility and lightmass importance volumes. It takes work, there aren't any easy solutions.
                I can tell you i worked very hard to get better performance, i put weeks worth of work into optimizing and trying to find things that improve it. can you reveal what fps you call fantastic performance on 4th gen? Low draw calls is really the most basic thing you should know when start developeing for iOS and having the most simple materials is easily achieved with the ini settings. precomputed visibility makes sense for static stuff but it will also increase the used ram which is critical for the ipod and ipad1. Lightmass importance makes absolutely no sense for performance, that is simply for baking the lightmaps, so that it doesnt have to calculate everything when hitting render. Also, any baked shadows will have no affect on performance, the environment will be always unlit and lightmaps will only increase the ram used.


                Originally posted by Acecutter69 View Post
                i been having the same issue with the december build, i know final cooking and release optimize performance about 30% or so. yet having 17 to 25 fps on test is kinda bad. try optimze code by avoiding processing expensive functions like trace, the allactors iterators and such
                yea, having similiar fps here, 17 to 25 is really bad. Its basicly the same from october to january. The september build is lots better but unfortunately there is no way to going back. I wouldnt call a trace expensive, i mean how can you make it more simple?

                Originally posted by Spoondog View Post
                Remember that when you're developing, it cooks a release build, which may be just a little slower than a shipping build, and it takes a little bit of time to actually calculate and display the stats themselves, and the default UDK map doesn't seem to be a really good example for mobile (the skybox is calculating a light environment for example, and it has gamma correction & fog enabled), and it'll be highly dependent on the pawn you're using (are you using a mobile pawn?), making sure that the udk robot isn't in there because it has a ton of bones and such.

                Btw anyone know what the story is on mobile with vsync & framerate smoothing? I've tried turning both those off and it still seems to cap it to 60fps... was hoping to see exactly how fast a 4S could run things.

                Here's a pic of an empty map taken from my 4S:

                [ATTACH=CONFIG]6574[/ATTACH]
                [SCREENSHOT]http://forums.epicgames.com/attachment.php?attachmentid=6574&d=1329021346[/SCREENSHOT]
                I just left the map how it was, there are no skeletal meshes or pawns, its really just the the cube, plane and skydome! I have tried it now with all the things off you mentioned, its then 29-30. That are some more fps but IMO something that simple should be more like 60 fps. Heck, if it would run on 1st gen i would totally understand it!

                Comment


                • #9
                  Now, while you may not be able to go back to september build it is possible to get all of the shaders, this could improve performance.
                  replace this folder (C:\UDK\UDK-2011-11\Engine\Shaders\Mobile ) with one that I know is working in the September 2011 build (C:\UDK\UDK-2011-09\Engine\Shaders\Mobile )

                  The only draw back was that every asset had to be created in the September build first to compile the shaders....Then transferred to a newer build...
                  Now maps and assets in all builds after September with that folder replaced by the September version are working in the mobile previewer...

                  Comment


                  • #10
                    The game I developed for iOS gets 60fps constantly across all of the platforms. I didn't use config files to get better performance either, the only things that you can really do are reduce draw calls and optimize all of your other assets to make the game run better.

                    Comment


                    • #11
                      Originally posted by elan96 View Post
                      Now, while you may not be able to go back to september build it is possible to get all of the shaders, this could improve performance.
                      replace this folder (C:\UDK\UDK-2011-11\Engine\Shaders\Mobile ) with one that I know is working in the September 2011 build (C:\UDK\UDK-2011-09\Engine\Shaders\Mobile )

                      The only draw back was that every asset had to be created in the September build first to compile the shaders....Then transferred to a newer build...
                      Now maps and assets in all builds after September with that folder replaced by the September version are working in the mobile previewer...
                      I doubt its something with the shaders that did the worse performance but its definately worth a try.

                      Originally posted by DougClayton4231 View Post
                      The game I developed for iOS gets 60fps constantly across all of the platforms. I didn't use config files to get better performance either, the only things that you can really do are reduce draw calls and optimize all of your other assets to make the game run better.
                      What!? How can that be possible, if this simple box, plane, skydome scene is barely touching 30 fps?
                      Could it be that you only testing in the mobile previewer? That will not simulate the devices hardware, you will always get 60 fps there!

                      Comment


                      • #12
                        I've already launched my company's game on iOS, you can see it in my signature.

                        The mobile previewer does a good job of emulating the actual hardware in most instances. Before optimization passes, Phase - Blinky's Adventure was only getting around 4-6 fps in most of the levels and 1-4 in the Ruins levels. The reason that a lot of performance issues pop-up is due to overly heavy materials and things like gamma correction being enabled. I can't really help you any more than that. I designed Phase - BA to run on the hardware from square one, so try to see what you can do to optimize whatever it is that you are developing.

                        Comment


                        • #13
                          Originally posted by DougClayton4231 View Post
                          I've already launched my company's game on iOS, you can see it in my signature.

                          The mobile previewer does a good job of emulating the actual hardware in most instances. Before optimization passes, Phase - Blinky's Adventure was only getting around 4-6 fps in most of the levels and 1-4 in the Ruins levels. The reason that a lot of performance issues pop-up is due to overly heavy materials and things like gamma correction being enabled. I can't really help you any more than that. I designed Phase - BA to run on the hardware from square one, so try to see what you can do to optimize whatever it is that you are developing.
                          Its fine if you dont want to reveal the performance of your game. But saying that its 60 fps across all devices makes no sense if a map with just a cube in it will not get over 30fps on a ipod! The mobile previewer is only for previewing the visuals, it only simlulates the rendering of the iOS devices not the hardware. It also not simulateing everything visual wise and the contrasts can appear much different on a device.

                          Comment


                          • #14
                            I know this is going to sound stupid and well it maybe, but what happens if you make a blank map add a ground plane, box and sky in? Like is it a map setting thats doing it...

                            If I deploy a car model and ground plane to the Ipod Touch 4 using August 2011 build I get atleast 45-50fps (no sky mind).

                            Are the later builds that different?

                            I'll try at home later and share if I find anything sensible.

                            All the best

                            Greg

                            Comment


                            • #15
                              Just found out i had maxsmoothedframes set to 30 in the ini, had set that some time ago will trying some stuff with the inis and had forgotten to set it back. With the fog and gamma correction off in the startup scene the fps is 60 aslong as i dont turn around. With the fog and gamma correction on its the same as i stated in the first post. Sorry for the confusion. Still, 30 fps is something that is far away for my game.

                              @Showster would be very interesting to know how that scene performs in the obtober or any later UDK? The September build is better performance wise then all later versions and the August should be too. I dont know how much better it is though.

                              Comment

                              Working...
                              X