User Tag List

Results 1 to 3 of 3

Thread: Bottleneck Issues in my Level

  1. #1
    Clicker 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)

    Join Date
    Jan 2016
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Bottleneck Issues in my Level

    My game levels run at 19-20 fps, a far cry from 50-60 fps I would like. I was wondering if volProfiler in the ClickStore would help me figure this out? Is it complicated to use or understand?

  2. #2
    Clicker Fusion 2.5Fusion 2.5 Mac
    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)
    zip2kx's Avatar
    Join Date
    Jun 2015
    Posts
    756
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    Check what happens to your objects that are off screen.

    An example is that in one part of my game the FPS would sink to single digits. The issue was that the bullets that flew around created a trail. That trail object had "inactive if outside the frame" activated so what happened was that a bunch of these bullets would create this trail object outside the playing area and since they are inactivated the events that delete them didnt work.

  3. #3
    Clicker 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)
    Volnaiskra's Avatar
    Join Date
    Jan 2014
    Location
    www.sprykegame.com
    Posts
    2,001
    Mentioned
    60 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by DokieMaster View Post
    My game levels run at 19-20 fps, a far cry from 50-60 fps I would like. I was wondering if volProfiler in the ClickStore would help me figure this out? Is it complicated to use or understand?
    I was hoping someone else would answer this, but the thread has now fallen off the first page, so I will.

    When I made volPROFILER, making it as simple to use as possible was a top priority. I tried to make it as painless and quick to use, not least for my own sake - so that measuring the many different parts of my game would be easy enough that I could do it frequently without fuss. I also tried to make it as simple to set up for others as possible (partly so I could be proud of making a good product, partly to minimise potential troubleshooting questions from users) I can tell you that I made it absolutely as simple to set up and use as I was able. Though of course whether I succeeded to make it easy to use for others is a question I'm the least qualified person to answer. That's why I was hoping someone else would answer.

    I write "just 3 minutes to set up" in the promos, and I do mean it. Just follow the step-by-step instructions in the MFA comments - it's just a bit of cutting and pasting basically; you could do it under 60 seconds if you rushed. As far as using it goes, there are lots of numbers and modes, but the basic principle is dead simple: you measure how long different parts of your code take to execute. Drag and drop the readymade folders around various sections of your MFA code, then run the game and look at the resulting numbers: those bits with higher numbers are the bits that are causing the most strain.

    One thing to be aware of though is that volPROFILER only measures the execution speed of your code (ie. your events). It does that with fine granularity and very pleasing accuracy, thanks to the new Microtimer object it uses. But it doesn't measure (at least not in great detail) the stuff that goes on outside of your code: the GPU drawing pixels on the screen, the slowdown caused by shaders, the calculations going on inside extensions and built-in movements. Some, possibly a lot, of your game's lag will occur in those areas.

    volPROFILER can still help you diagnose the lag that goes on outside of your code, though not with the precision that it can help you diagnose your code itself. It automatically measures all of this outside-the-code stuff in microseconds and displays it as "Between Frame time". So if you keep your eye on the Between Frame time and use some simple deduction, you can quickly notice the impact of things there too. For example, if you run your game and see a Between Frame time of 4300μs, and then you hit a key that destroys all palm tree objects, and the Between Frame time shoots up to 4700μs, then you know that the drawing of your palm tree objects takes 400μs per frame.

    For this sort of between frame measuring, I believe you'll get the most accurate results if you (temporarily) unlock your game's framerate by setting the "frames per second" to something high like 1000, and unchecking "machine independent speed". Otherwise there might be times when you get a high "Between Frames" time but really it's just an fps-locked Fusion twiddling its thumbs waiting until it's allowed to start another frame. Though if you're consistently getting 15-20fps then Fusion probably isn't exactly doing much thumb-twiddling, so it may be a moot point.

Similar Threads

  1. Code an extention for save level of level deitor
    By Bertard in forum Fusion 2.5
    Replies: 3
    Last Post: 12th June 2016, 04:43 PM
  2. Save level counter issues on a failed level
    By KLiK-iT in forum Fusion 2.5
    Replies: 4
    Last Post: 9th April 2016, 09:57 AM
  3. Can you help me spot the bottleneck?
    By Literswater in forum Fusion 2.5
    Replies: 10
    Last Post: 6th August 2014, 02:26 PM
  4. Load Level after Last Completed (saved) Level
    By Diepek in forum Multimedia Fusion 2 - Technical Support
    Replies: 2
    Last Post: 3rd January 2008, 09:50 AM

Posting Permissions

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