Results 1 to 11 of 11
  1. #1
    MSgt. Shooter Person
    Join Date
    Apr 2012
    Posts
    132

    Lightbulb Optimizing Menu Systems to have higher FPS!

    Got an idea! But I don't know how to implement it! :/

    I've created some very fancy menu systems using Canvas, however when ported to 4th gen iTouch the FPS drops a fair amount when accessing them...the great thing about most of my menu systems is that they are full-screen, so occluding the entire level is a plausible idea! (Seeing as how iOS freakishly loves to render everything in the viewport when no precomputed visibility is implemented, this would really speed up the FPS!)

    So....how do I Occlude the entire world on the click of a button in an iOS device? If there is a kismet function or perhaps something I could do in UnrealScript....these menu systems will be flying!


    Many thanks to those who reply.

    P.S.
    ...is there a way to "precompute visibility" to a custom MobileMenuScene..? Just a wild idea to get some more thought flowin' out there!

  2. #2
    Iron Guard
    Join Date
    Jan 2012
    Posts
    623

    Default

    I don't know if you can use precomputed visibility but i really think it's not possible because of how it works.
    But maybe you can just set as hidden the heavier actors you have in the scene, for example all the pawns, this can be enough if the game is just paused waiting for the user.

  3. #3
    MSgt. Shooter Person
    Join Date
    Dec 2011
    Location
    Munich
    Posts
    85

    Default

    Canvas menu items do not function as visibility blockers, what you could do however is make the player look through a camera that has nothing in it's field of view (so the renderer has to draw - almost - nothing) at the press of a button.

  4. #4
    MSgt. Shooter Person
    Join Date
    Apr 2012
    Posts
    132

    Default

    Quote Originally Posted by Ivan84 View Post
    I don't know if you can use precomputed visibility but i really think it's not possible because of how it works.
    But maybe you can just set as hidden the heavier actors you have in the scene, for example all the pawns, this can be enough if the game is just paused waiting for the user.
    I've tried hiding the entire level and changing the physics of the Player so he doesn't fall through the map, but no good. The FPS does not increase.


    Quote Originally Posted by benfranke View Post
    Canvas menu items do not function as visibility blockers, what you could do however is make the player look through a camera that has nothing in it's field of view (so the renderer has to draw - almost - nothing) at the press of a button.
    Benfranke, that is not a bad idea...I'll do just that! Don't know how I didn't think of that before. Thanks again

  5. #5
    Palace Guard

    Join Date
    Jun 2007
    Location
    Christchurch
    Posts
    3,513

    Default

    Canvas functions are also draw primitives. I've found Scaleform to perform much better in this regard.

  6. #6
    MSgt. Shooter Person
    Join Date
    Apr 2012
    Posts
    132

    Default

    Hmm...when scaleform was made compatible with iOS I was in the middle of making my menu systems through canvas, and seeing as how new things are typically a bit buggy I was shy to use it.

    How difficult would it be to convert it all to Scaleform? Is there any kind of workflow to do that or would I just have to start over...?
    Last edited by RichardEpic; 07-19-2012 at 06:28 PM.

  7. #7
    MSgt. Shooter Person
    Join Date
    Sep 2011
    Posts
    488

    Default

    Quote Originally Posted by benfranke View Post
    Canvas menu items do not function as visibility blockers, what you could do however is make the player look through a camera that has nothing in it's field of view (so the renderer has to draw - almost - nothing) at the press of a button.
    This is an awesome idea!

  8. #8
    MSgt. Shooter Person
    Join Date
    Sep 2011
    Posts
    488

    Default

    Quote Originally Posted by benfranke View Post
    Canvas menu items do not function as visibility blockers, what you could do however is make the player look through a camera that has nothing in it's field of view (so the renderer has to draw - almost - nothing) at the press of a button.
    This is an awesome idea!

  9. #9
    Iron Guard
    Join Date
    Jan 2012
    Posts
    623

    Default

    I take adventage of this discussion for a question. Soon i'll need to create menus for my game.
    I need a main menu page, a submenu where you can choose the level to play and one in game menu where you can bring some objects (represented as images) and drop them on an image representing the pawns you have in the game to give them some skills.

    Is scaleform in general more efficient with performance than the canvas method?
    Is scaleform more suitable for what i need?

    If i will find someone maybe i can pay a person to do it because i don't know scaleform and i have a lot of work to do, but i need to optimize the performance side so i need to choose what way could be better.

  10. #10
    MSgt. Shooter Person
    Join Date
    Jul 2011
    Posts
    49

    Default

    in terms of scaleform performance, is there a general number to keep in mind when using ENTER_FRAME event listeners? or ways to optimize the hud? i'm trying to troubleshoot performance on a 3GS and with the level stripped down to basically 10 draw calls with really simple objects and a scaleform HUD, i'm only getting around 15 to 20 fps. (no dynamic lighting, no gamma correction, etc, precomputed visibility, etc).

    EDIT: ran some tests, and removed all ENTER_FRAME events that didn't include a removeEventListener. this improved things a lot. fps on a 3GS jumped up to like 20-25fps with a fully loaded world. unfortunately this means every hud altering event will have to individually call an update function, but i guess rome wasn't built in a day...
    Last edited by paradoc; 08-01-2012 at 01:23 PM.

  11. #11
    MSgt. Shooter Person
    Join Date
    Apr 2012
    Posts
    132

    Default

    Paradoc, I don't know much about Scaleform (haven't even used it), but from what I've found in my research is that canvas should be used to draw all, or at least most, of your HUD in order to optimize performance. Look into it!


 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Copyright ©2009-2011 Epic Games, Inc. All Rights Reserved.
Digital Point modules: Sphinx-based search vBulletin skin by CompletevB.com.