iPad Unity engine-based games... memory hogs ?

Discussion in 'iPhone and iPad Games' started by applesauce25r624, Feb 20, 2009.

  1. i noticed that games made w/ the unity engine seem to be total RAM hogs

    even when i do the "hold down home button for 8 seconds" trick, it seems most of these apps don't give the ram back

    why is this ?




    post #420 dedicated to... sobriety
     
  2. VeganTnT

    VeganTnT Moderator
    Staff Member

    Jul 19, 2008
    4,491
    1
    0
    Freelance Entertainment Analyst
    Orlando, FL
    What are you using to test it?

    I've used SBSettings and haven't seen issues with memory hogging.
     
  3. Forerunnerz

    Forerunnerz Well-Known Member

    Feb 14, 2009
    279
    0
    0
    Free memory takes a bit of ram too. Also are you making sure that you hold the home button until the app closes, or do you just count then let go.

    If you count then let go, I suggest waiting until it closes. Also if your iDevice is Jailbroken, download SBsettings. Great tool, should have been build with an iDevices initial release.
     
  4. free memory doesn't take up 30MB

    and i hold it until it closes

    maybe it's just a few of these apps in particular

    either way... these games aren't as fun as others so it's all good
     
  5. Diablohead

    Diablohead Well-Known Member

    Jan 19, 2009
    1,553
    0
    0
    Freelancer, PC game developer
    That depends on the designer and developer, not the game engine itself (which is brilliant for what you pay for I might add).

    I use a 2nd gen touch mainly for gaming and have yet to do any force reboot to free memory, does the iPhone have less ram?
     
  6. VeganTnT

    VeganTnT Moderator
    Staff Member

    Jul 19, 2008
    4,491
    1
    0
    Freelance Entertainment Analyst
    Orlando, FL
    Don't trust it. The number it shows is what the system says is free memory. That is, memory unused by anything, not what is truly available for use. When you use an app that memory drops because it's used for a game. When you exit that memory is held just in case you are going back to it. Here's a test to show what I mean

    1. I restarted my phone and checked the memory
    Free: 62mb
    2. Opened up Monospace (Unity engine but not intensive)
    3. Played first level and hit home button
    4. Check memory again
    Free: 32mb
    5. Enter Monospace then Force Quit
    6. Check memory
    Free: 32mb
    7. Opened TowerBloxx (it stutters a lot for me)
    8. Exit and check memory
    Free:44mb

    Force Quitting an app doesn't change the memory but rather tells the system that it is available for use. Once the system has used up the unused memory it will then start quitting apps to free memory. If you Force Quit then that memory will be the first it uses.

    The Free Memory program simply demands 100% of the devices memory but doesn't use it. It's basically a mass Force Quit.

    As for the Unity Engine, it does use up quite a bit of ram. Even in the case of Monospace it is fully rendering 3d objects that are rotatable. That is going to take up a lot of ram, period. It's not a fault of the engine but rather one of the device itself. Just Force Quitting or using Free Memory is the only way it's going to be functional until Apple feels like reworking how it works

    Hope that helps!
     
  7. yourofl10

    yourofl10 Well-Known Member

    Dec 11, 2008
    4,176
    1
    0
    aldo native ipt and iphone apps (safari,e-mail, and the ipod) still run in the background even after you close them
     
  8. Myrobotwillneverdie

    Myrobotwillneverdie Well-Known Member

    Jan 14, 2009
    487
    0
    0
    SEPDX
    Since 3rd party apps can't run in the background, if you just pressed the home button quickly, doesn't that terminate the app/game and free up the RAM it was using. (making a force-quit redundant)?
     
  9. Bhizzle

    Bhizzle Well-Known Member

    Feb 18, 2009
    77
    0
    0
    Wut games are these?
     
  10. VeganTnT

    VeganTnT Moderator
    Staff Member

    Jul 19, 2008
    4,491
    1
    0
    Freelance Entertainment Analyst
    Orlando, FL
    Tapping the home button stops the game but the memory is still held. This is so that users can exit and answer a text message or check your email, while being able to return to the same point in the game.

    (this is different than auto saving. Auto saving is your data being saved at the end of a level whereas auto resume is returning to the exact moment you exited)

    The device assumes that you are coming back to that app and won't free up that memory unless it MUST. This is usually the case when another app demands a lot of ram so the device starts to stutter as it tries to run the app while forcibly stopping apps you exited out of.

    Force quitting tells the system that you are done with that app and it can use that memory whenever it needs to.

    So no it's not the same thing. BUT eventually the same results will be achieved... you will just have to deal with stutters and game crashes as a result
     
  11. HandheldGames

    HandheldGames Well-Known Member

    Nov 15, 2008
    307
    0
    0
    CEO & Founder, Creative Director, Producer, & Desi
    Lynnwood, Washington
    It's probably bloated - as it has a lot of general purpose technology. The more you add in - whether you use it or not - its going to take up RAM.

    From whats been said on the forums.... There is so much stuff running that it will run as slow as molasseses if you try to do character animation.
     
  12. Justinm59

    Justinm59 Well-Known Member

    Sep 23, 2008
    59
    0
    0
    My phone won't even play super monkey ball or rolando (lite), could this be a memory problem? I've reset and even restored.
     
  13. Diablohead

    Diablohead Well-Known Member

    Jan 19, 2009
    1,553
    0
    0
    Freelancer, PC game developer
    Which iPhone model do you own?
     
  14. Little White Bear Studios

    Little White Bear Studios Well-Known Member

    Aug 27, 2008
    2,572
    0
    0
    News to me. Apps get a termination message when you press the home button, and it's up to the devs to put in code to save the state. Once you press the button, the app is gone. Press the app icon again, and you start from scratch, then the dev's code goes and retrieves the data it stored the last time you closed it.
     
  15. VeganTnT

    VeganTnT Moderator
    Staff Member

    Jul 19, 2008
    4,491
    1
    0
    Freelance Entertainment Analyst
    Orlando, FL
    I read it awhile ago, I wish I remembered the source.

    It was an article talking about how every time you hit the home button the system takes a picture of the screen. That let's the system do the shrinking effect when you exit and reopen apps. They talked about how you can recover those images and depending on what was onscreen you might have important information compromised. (this is before iphones could do a full wipe)

    They then talked about how memory is handled by the system. if there was 60mb free and you open an app that needs 20mb then you have 40mb free. Well if you exit the app and open an app that takes 30mb then that 30mb comes out of the 40mb. So free memory shows as 10mb (which is still true)
    The system won't touch memory that was already used until an app requests more memory than is available and it has to. So theoretically (at the time of the article) someone might be able to access it, to what end they didn't say.

    After beta testing apps and purposefully forcing games them to run on minimal memory it seems like it still holds true. It's nothing to do with the app but rather how the device manages it's memory.
     
  16. Donburns99

    Donburns99 Well-Known Member

    Dec 29, 2008
    1,866
    0
    0
    ColdFusion Web Developer
    Rhode Island
    I remember reading that article sometime last year myself.

    I'll be damned if I could remember where.
     
  17. Little White Bear Studios

    Little White Bear Studios Well-Known Member

    Aug 27, 2008
    2,572
    0
    0
    Okay, I can agree with you now. Yes, it takes a screenshot. And yes, it probably leaves used memory around until it needs more. But most certainly, the closed app does not have access to the screenshot or the used memory info when it is started again. After we've processed the terminate message, the app is done. None of the code gets run after that.

    Now, as to what other people do with the used memory and screenshot...who knows.
     
  18. Justinm59

    Justinm59 Well-Known Member

    Sep 23, 2008
    59
    0
    0
    I have the iPhone 1st gen
     

Share This Page