User Tag List

Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 38

Thread: Optimisation Thread - getting more FPS, every known trick

  1. #11
    Clicker

    Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleSWF Export Module
    Konidias's Avatar
    Join Date
    Aug 2009
    Posts
    1,546
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by paobrasil View Post
    excellent thread!

    how can I put FPS view in my app?

    thanks
    Just put a counter in your frame and then do an Always event and set the counter to "FrameRate" without the " "

  2. #12
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export ModuleUnicode Add-on
    Fanotherpg's Avatar
    Join Date
    Jul 2006
    Location
    High Wycombe, Buckinghamshire, UK
    Posts
    3,663
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1) Try to use short names for loops - MMF looks through list of all active loops letter by letter
    2) As MMF looks trough all active loops keep them in groups which you are disabling or enabling as needed

  3. #13
    Clicker Fusion 2.5 DeveloperiOS Export ModuleSWF Export Module
    Pineapple's Avatar
    Join Date
    Oct 2010
    Posts
    431
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    One obvious optimization would be for scaling or rotating objects: always set "quality" to 0.

  4. #14
    Clicker Multimedia Fusion 2 DeveloperiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)
    King_Cool's Avatar
    Join Date
    Aug 2008
    Posts
    2,335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I also find that scrolling can cause significant FPS drops when there is a decent amount of thigs happening on screen ( as opposed to not scrolling ), or if background objects are too big or detailed.
    Other than making design considerations or resizing the App window size, im not sure what else can be done about this.

  5. #15
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Popcorn's Avatar
    Join Date
    Jun 2006
    Location
    Norway, Bergen
    Posts
    2,366
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    - Reading strings is slower than reading values. Therefore, comparing strings in a fastloop can be way slower than comparing values. If you are going to loop through active objects, use alterable values instead of alterable strings if possible.

    - Alphachannels can reduce fps. In some situations a good solution is to take a screenshot of the object that has alphachannels, then remove alphachannels from the object and use the new image instead.

  6. #16
    No Products Registered

    Join Date
    Mar 2009
    Posts
    105
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Can an admin please allow me to edit this thread so I can add suggestions to it?

  7. #17
    No Products Registered

    Join Date
    Mar 2009
    Posts
    105
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry for spam, but I can't edit the thread, nor can I message any admin because it says I've reached my limit; even though I haven't sent a PM since the forum update.

  8. #18
    Clicker Multimedia Fusion 2SWF Export Module

    Join Date
    Sep 2006
    Posts
    1,544
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    When using fastloops, put each fast loop into its own event group. On the line that runs that fast loop, sandwich the call between opening and closing that group, for example:

    *Always
    = Open Group "Foo Loop"
    = Run Loop "Foo" for 10 loops
    = Close Group "Foo Loop"

    If you're invoking a fast loop from inside of a fast loop, you can even close the current group and reopen it;

    (inside of group "NOOP"):
    *On Loop "NOOP"
    = Close Group "NOOP Loop"
    = Open Group "Foo Loop"
    = Run Loop "Foo" for 10 loops
    = Close Group "Foo Loop"
    = Open Group "NOOP Loop"




    The point here is to make it so that each time you call a fast loop in MMF2, the only visible fast loop events to the runtime are the ones you want to run. This way MMF2 doesn't have to parse all the exponential fast loop event overhead and string comparisons for each loop event on each loop call, but instead only the ones that you're actually going to use. So if you had 200 different fast loops, you'd make your program run about 200x faster

  9. #19
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export ModuleUnicode Add-on
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)Firefly 3D Module (Steam)
    Phi's Avatar
    Join Date
    Jan 2010
    Location
    England
    Posts
    1,964
    Mentioned
    25 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Sebaceous View Post
    Sorry for spam, but I can't edit the thread, nor can I message any admin because it says I've reached my limit; even though I haven't sent a PM since the forum update.
    You need to add your license key into the Settings page (link on top right)

  10. #20
    Forum Moderator Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleMac Export ModuleSWF Export Module
    AndyH's Avatar
    Join Date
    Jun 2006
    Location
    UK
    Posts
    1,445
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    There are some good optimisation techniques on Chris Burrows site, especially for detectors on active objects and object pairing.

    I've also been using a trick since C&C days which saves an event or two - If you have an object that is only supposed to live for a short period of time, for example a particle (fire/smoke/water etc) create an active object with only an Appearing animation. Make sure you delete the default stopped animation and set the Appearing animation up to play for how long you want the particle to live (through animation frames, frame times and repeats - but don't do an infinite loop). What MMF does when you create this active is it plays out the Appearing animation automatically and when that finishes as there are not other animation categories, MMF will destroy it. You can add Bouncing ball movement to it too. This trick works especially well in slower runtimes like iOS and Android as you can create loads of objects without having so much of a performance impact.
    Andy H @ ovine.net
    Awful Jokes - a new cartoon every day: http://awful.ovine.net/
    Ovine's games: http://www.ovine.net

Page 2 of 4 FirstFirst 1 2 3 4 LastLast

Similar Threads

  1. Replies: 0
    Last Post: 29th April 2013, 08:25 PM
  2. 5 Card Trick on App Store today!
    By AyreGuitar in forum iOS Released Games & Apps
    Replies: 9
    Last Post: 9th March 2013, 05:15 PM
  3. No Taskbar without Sub-Application Trick
    By wizkidweb in forum Multimedia Fusion 2 - Technical Support
    Replies: 0
    Last Post: 3rd April 2009, 02:25 AM
  4. Replies: 0
    Last Post: 2nd January 2009, 09:50 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •