Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Worth dropping fixed function support?

Discussion in 'iOS and tvOS' started by hippocoder, Apr 24, 2011.

  1. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Is it worth dropping support below 3gs in order to just cut the work I have to do? I can probably support 2nd gen iphones but I am not sure if the amount of business I would lose merits supporting it.

    does anyone have links on the circulation figures of older generation ios devices?

    Especially useful would be those actually using appstore.
     
  2. Jessy

    Jessy

    Joined:
    Jun 7, 2007
    Posts:
    7,325
    I decided to do it because the older devices can't run current iOS versions anymore. The faster that other developers than Apple stop supporting those devices too, the better.
     
  3. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
  4. Jessy

    Jessy

    Joined:
    Jun 7, 2007
    Posts:
    7,325
    They really screwed up in September 2009. There would be no reason to have Game Center support for the 2G, if the 8GB 2G hadn't been sold along with the 3GS-equivalent iPod touch. Whether you want to support that one device or not should probably make the decision for you. When it came out, that's when Apple really started touting the iPod touch as a gaming device, so a bunch of potential game-playing customers probably have it.
     
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Thanks guys, I have decided to drop fixed function support altegether. You have to draw the line somewhere or make too many compromises as an indie developer.
     
  6. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    Prepare yourself for an onslaught of "where's the 2nd gen support!" and "I bought it and it doesn't work on my device!" :)
    I still haven't fully ruled out supporting them, seems like there's an army of 2nd gen people out there. It's hard though, because it means that you are limiting the stuff you can add to your game and you suddenly have to have armv6 + armv7 builds makiing it heaps bigger than it needs to be.
     
  7. Jessy

    Jessy

    Joined:
    Jun 7, 2007
    Posts:
    7,325
    If the game had worked on old devices, and then you updated it, and it no longer did, I think that would be a big problem, and that's not what I thought of when I read "dropping". I assumed it meant "not including" support for a new project. Would Apple even allow that kind of thing?
     
  8. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    By iOS5 it will potentially no longer be a topic.
    Apple has officially cut support for pre 3GS on the 4.3.0 iOS release and I expect that Apple officially cuts approval of ARMV6 binaries before the end of this year, likely at the very same point you can send in updates / new apps for iOS5. At that point the discussion will no longer exist.
    Going by past years it would have to be expected that the min version would raise to 4.0 but I'm pretty sure that apple will raise it to 4.3 due to the interest and need to push AirPlay for AppleTV and other products supporting it, its one of Apples most promising future expandable fields. naturally they will leave the old apps on the store and they will still allow you to update them, but approval of new ARMV6 targets is pretty surely gone.

    There is also another technical reason why apple has to cut ARMV6 from the hand in and thats file size. At the time we have armv6 and armv7 which already doubles it, but once apple gets current, which in the iOS5 generation will definitely happen, there will be A9 cpus with out of order execution which will end on another distinct binary, resulting in 3 binarys per app and thats just no longer reasonable and apple also never has supported more than 2 architectures generations in parallel.
     
  9. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Along a similar line, does anyone know which devices support which versions of shaders? To be more specific, my IPad2 supports the #pragma shader 3.0, which means I can have a LOT more instructions in my shaders. But, I doubt that the IPhone 3GS does. The iPhone 4 might, but I don't have one. And, I would guess that the iPod touch 4th gen might, but probably not the 2nd and 3rd... anyone know?

    I was hoping to target iPhone 4, iPod 4th, and ipad 1/2 - and that all of them support the #pragma shader 3.0. I'm pretty sure the new iPhone 5 will.

    Anyone know?
    Gigiwoo.
     
  10. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    As mentioned on the other thread, mobiles have nothing comparable to the Shader Models on desktop gpus as there is only OGL ES 1.1 which is purely FFP and OGL ES 2.0 which is programmable pipeline but without anything like shader models.
    The pragma enforcement doesn't give you much anyway and going for a shader that requires SM3 will not give you much as you have only 2 USEs at hand on 3GS, 4th gen, ipad1 (its the same gpu on all of them) with a very limited number of shader ops a second and SM3 length shaders will get you to unplayable FPS within the blink of an eye.

    support wise, they are somewhere between SM2 and SM3 on pre ipad2 and on something comparable to DX10.1 technically on the SGX543 in the ipad2
     
  11. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Heya,

    Awesome info btw. And, sorry for the cross postings in 2 different threads. I also found that it's weird, because there's no tanh() and stuff like that using CG in Unity. So, I end up implementing one myself. Trying to untangle this whole mess in my head - previously came from the PC world with OpenGL (GLSL) and we could usually target specific hardware specs.

    I think at this point, I'll just specific 3.0 and check the performance myself. I have some non real-time effects, where the performance wouldn't be a problem.

    Gigiwoo
     
  12. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    if you know GLSL you can continue using it with unity too for iOS. Just keep in mind that PC GLSL != OES GLSL, there are some major differences.
    And targeting specific hardware specs is exactly what you are going to do, just far less variations to fight :)
    look at the specs for the SGX535 and SGX543 at imagination technology
     
  13. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    I was referring to the people who accidentally buy it on iTunes thinking it will work.

    I wish they would have some warning in iTunes, saying that none of your synced devices are compatible.
     
  14. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    one of the few areas where android wins. android lets you browse the market outside the device, but you can not buy anything to ensure exactly this aspect.

    Apple definitely has to do their homework now that their performance differs on a scale of 16-20x between pre 3GS and ipad2
     
  15. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,817
    For Sure,
    It'd be nice to think they might fix this up when they brought out iOS 5, it's only going to get worse if they don't.
     
  16. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I hear Apple is now dropping support for iPhone 3G (not S) in the latest iOs 6 .... so does this mean everyone would recommend dropping use of fixed function shaders now and going with pure CG for everything? How much audience will this alienate?
     
  17. Jtbentley_v2

    Jtbentley_v2

    Joined:
    Sep 5, 2012
    Posts:
    174
    I don't believe there's many Gen II devices out there, 4th Gen is the major demographic. We have an install base of few million and the pain in supporting anything prior to 3GS is just too hard, it's not worth the additional investment of time.
     
  18. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Has nothing to do with 'recommend' anymore luckily.
    Its gone as per XCode 4.5 and iOS6.

    You can not use ARMV6 libraries anymore at all in your builds.
    You can either make them ARMV7 only or universal ARMV7 + ARMV7s but thats it

    But should not be that bad, cause apple has made it pretty clear since iOS 4.3 that it considers ARMV6 hardware dead