User Tag List

Page 5 of 25 FirstFirst ... 3 4 5 6 7 15 ... LastLast
Results 41 to 50 of 243

Thread: Fusion 2.5 Microstuttering (moved from Fusion 3 status thread)

  1. #41
    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,124
    Mentioned
    76 Post(s)
    Tagged
    0 Thread(s)
    I've tried schrodinger's file now. Very helpful. However, there were a couple of problems with it that masked some of the microstuttering. Firstly, it had vsync turned on. Like I wrote earlier, having vsync on greatly reduces microstuttering (in my experience), so it's probably best off when trying to test for microstuttering. Also, vsync artificially clamps certain frame times, so it's likely to get in the way of these sorts of measurements. There's little need for vsync in a windowed application anyway, since you should never get screen-tearing in windowed mode anyway. The MFA also had "machine independent speed" turned on. I don't know exactly how this affects microstuttering (if at all), but I figure it also may artificially clamp or skip frames, so best to leave it off for these tests.

    Also, the ball was moving very slow - 1 pixel per frame. This just makes it way harder for anyone to visually spot microstuttering, whether with the naked eye or a camera, because everything looks naturally smoother at such slow speeds. For example, if one frame gets skipped, a ball moving at 1 pixel per frame will move by 2 pixels, while a ball moving by 6 pixels per frame will move by 12 pixels. Both cases skip exactly one frame, and may report the exact same microsecond frame duration.....but the latter will be much easier for the naked eye to spot, since it's easier to see 6 pixels than 1 pixel.

    I've uploaded a modified version that speeds up the ball and disables vsync and machine independent speed. I also added an orange counter, so that if there are skipped frames, the counter will also show evidence of them.
    Attached files Attached files

  2. #42
    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,124
    Mentioned
    76 Post(s)
    Tagged
    0 Thread(s)
    Below are my results after running the MFA from my previous post. And these are my system specs:

    windows 10
    core i7 4570k
    GTX 980ti
    144Hz Asus Gsync monitor
    32GB RAM
    MFA and OS running off an SSD

    With my monitor set to 60Hz, Gsync off:



    I can see visual microstuttering every 5-20 seconds or so. I can confirm that when this happens, there are fewer 0.016 frames (the 0.016 counter increases visibly slower, while the 0.015 and 0.017 counters increase faster than usual).

    I checked this by looking for the microstuttering then quickly looking at the list object to observe the counters. I was hoping to be able to film this with FRAPS so I can see the frame times with more precision, but it turns out that when you record with FRAPS, the list object isn't included in the video! The FRAPS recording must take place earlier in the rendering pipeline, which might help explain why the FRAPS recording looks butter smooth, even when I know for sure that I was seeing bad microstuttering.

    .
    .
    .

    With my monitor set to 120Hz, Gsync off:



    Subjectively, the microstuttering seemed slightly more frequent, but less severe


    With my monitor set to 144Hz, Gsync off:



    Subjectively, the microstuttering seemed much better, almost gone. However, there was a permanent minor judderiness to the ball, which was surely caused by the mathetmatical mismatch between the MFA's 60fps and the screen's 144Hz




    With my monitor set to 120Hz, Gsync *ON*:



    Subjectively, microstuttering was surprisingly bad. About as bad as any other scenario.



    With my monitor set to 120Hz, Gsync off, --- and the MFA set to 120fps:



    Much, much, better. Subjectively, this was very smooth, with only very minor microstuttering. And this is reflected in the numbers too. There were more than twice as many 0.008 frames as any other type of frame (compare this to most of the other results I posted, where there were usually almost as many 0.017 frames as 0.016!). I don't know what to make of this. 60fps + 60Hz was terrible, as was 60fps + 120hz (and 120fps + 60hz, which I just tried now)....but 120fps + 120Hz was very good.



    I also ran it in fullscreen ("change resolution mode"). Subjectively, it was basically butter-smooth, though I don't have any numbers because the list object wasn't visible in that mode.

  3. #43
    Clicker Fusion 2.5 Developer

    Join Date
    Feb 2014
    Posts
    959
    Mentioned
    16 Post(s)
    Tagged
    1 Thread(s)
    we WANT it to clamp the frames..... to 0.016 each time!

    but yeah, maybe vsync off might provide clearer results as to wat it is doing,

  4. #44
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export Module
    Fusion 2.5 (Steam)
    schrodinger's Avatar
    Join Date
    Nov 2014
    Posts
    3,155
    Mentioned
    27 Post(s)
    Tagged
    1 Thread(s)
    @ Vol: ah yeah sorry I played a bit with vsync and machine independent speed while testing,
    to see if I got any difference, but then forgot to turn them off...
    Also, mainly made the list part and not thought much about the ball,
    of course noticing 1 px inconsistencies is not easy even for eagle-eyed clickers
    sure better making it move a wider number of pixel to see if something is eye-perceivable.

    Which by your tests seems to be the case --> stutter it is perceivable when there's a "jump" in frame duration

    Yes as the list gets bigger, Fusion will need more time to "find" if the frame duration recorded is already in,
    so a longer list might cause additional lag, and then add on to wider number of discrepancies...
    so probably better just checking first minute or so, while the list keeps being short enough
    and of course get rid of starting durations and durations being detected just one time, if "one timers" are sporadic.

    I would guess few 0.017 and 0.015 are anyway ok,
    for balancing rounding precision with 0.0166666666666...
    and things go worse when there are frequent "higher" jumps.

    Perhaps we could improve the test by not using a list object,
    it's very handy and the quickest think I could think of,
    but has some "Windows" drawing overhead
    and it doesn't work in true fullscreen nor can be recorded by FRAPS it seems

  5. #45
    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,124
    Mentioned
    76 Post(s)
    Tagged
    0 Thread(s)
    Well I'm just really glad that so many people have come out to say that they see this too. I've mentioned microstuttering a couple of times in the past, but I don't remember anyone ever confirming that they knew what I was talking about. It's very validating to see that others have been experiencing the same thing. And hopefully this will now be an issue that is flagged for Clickteam, so that they can look into it.

    Quote Originally Posted by schrodinger View Post
    I would guess few 0.017 and 0.015 are anyway ok,
    for balancing rounding precision with 0.0166666666666...
    and things go worse when there are frequent "higher" jumps.
    Well actually, in my tests, the 0.017 and 0.015 frames were the main culprits. When microstuttering was subjectively very noticeable, that's when there were heaps of 0.015 and 0.017 frames (but not necessarily 0.018, 0.014 or other ones). When the MFA was subjectively smooth, that's when the 0.015 and 0.017 were significantly outnumbered by the 0.016 frames. I think part of the problem is that, as can be seen by the pattern of yellow lines in the first video I embedded, 0.015 and 0.017 frames seem to frequently come together. A fluctuation like 16-16-16-15-16-16-16-15-16-16-17-16-15-16- probably wouldn't be too bad. But a fluctuation like 16-16-16-16-15-17-15-17-16-16-16-16 is very noticeable. At least for me, anyway.

  6. #46
    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,124
    Mentioned
    76 Post(s)
    Tagged
    0 Thread(s)
    Hey everyone, the .mkv file that salamanderpants uploaded to the bugbox (link in quote below) shows the problem excellently. The microstuttering that's visible in the video is just like it is in 'real life'. A skip here, a jump there, and then sometimes a prolonged juddering.

    Quote Originally Posted by salamanderpants View Post
    I reported this problem nearly a year ago. No response..
    Communication with clickteam is very poor.

  7. #47
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export Module
    Fusion 2.5 (Steam)
    schrodinger's Avatar
    Join Date
    Nov 2014
    Posts
    3,155
    Mentioned
    27 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by "Volnaiskra"
    Well actually, in my tests, the 0.017 and 0.015 frames were the main culprits. When microstuttering was subjectively very noticeable, that's when there were heaps of 0.015 and 0.017 frames (but not necessarily 0.018, 0.014 or other ones). When the MFA was subjectively smooth, that's when the 0.015 and 0.017 were significantly outnumbered by the 0.016 frames. I think part of the problem is that, as can be seen by the pattern of yellow lines in the first video I embedded, 0.015 and 0.017 frames seem to frequently come together. A fluctuation like 16-16-16-15-16-16-16-15-16-16-17-16-15-16- probably wouldn't be too bad. But a fluctuation like 16-16-16-16-15-17-15-17-16-16-16-16 is very noticeable. At least for me, anyway.
    That's quite interesting.
    I think it could be next step in our (users) investigations then,
    we could test "how long" a "derailment" from 0.016 is
    (being it "just" a sequence of 0.015/0.017 or whatever frame duration)
    and if that longer sequence of non-0.016 matches with visual perception of stutter

    which seems to be already confirmed by your video..
    but having it in numbers might help clarify/double confirm.

    Made a new quick test without lists,
    three strings will store the following data,
    left to right:
    1) different frame durations
    2) non-0.016 sequences
    3) single different sequence "lengths" detected

    the ball will flash yellow when a sequence of three non-0.016 frames or more are detected

    microstutter_3.mfa

  8. #48
    Clicker Fusion 2.5 Developer
    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)
    J3sseM's Avatar
    Join Date
    Feb 2013
    Location
    Finland
    Posts
    868
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    +1 for salamanderpants video example. Stuttering I'm having is identical to that and has nothing to do how heavy the game is.
    I think I once tried playing with Windows themes, Aero-based themes affected things but that's long time ago so I can't say for sure. Has something to do with vsync I believe.

    Anyway, I think in the end I just accepted that stuttering is there. But if fix is possible I can do some testing as well if needed, just let me know! :P

  9. #49
    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)
    Phi's Avatar
    Join Date
    Jan 2010
    Location
    England
    Posts
    1,811
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    I'm going to go out on a limb and say Sleep functions for pausing an application's thread do not have an exact timing. If that's how Fusion is waiting between event loops/redrawing frames it might introduce micro-stutter.

    "This function causes a thread to relinquish the remainder of its time slice and become unrunnable for an interval based on the value of dwMilliseconds. The system clock "ticks" at a constant rate. If dwMilliseconds is less than the resolution of the system clock, the thread may sleep for less than the specified length of time. If dwMilliseconds is greater than one tick but less than two, the wait can be anywhere between one and two ticks, and so on."

  10. #50
    Clicker Fusion 2.5 (Steam)

    Join Date
    Apr 2017
    Posts
    32
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by schrodinger View Post
    That's quite interesting.
    I think it could be next step in our (users) investigations then,
    we could test "how long" a "derailment" from 0.016 is
    (being it "just" a sequence of 0.015/0.017 or whatever frame duration)
    and if that longer sequence of non-0.016 matches with visual perception of stutter

    which seems to be already confirmed by your video..
    but having it in numbers might help clarify/double confirm.

    Made a new quick test without lists,
    three strings will store the following data,
    left to right:
    1) different frame durations
    2) non-0.016 sequences
    3) single different sequence "lengths" detected

    the ball will flash yellow when a sequence of three non-0.016 frames or more are detected

    microstutter_3.mfa
    It doesn't flash for every stutter. I am getting a lot of stuttering, but the ball only flashes occasionally.

Page 5 of 25 FirstFirst ... 3 4 5 6 7 15 ... LastLast

Similar Threads

  1. Replies: 21
    Last Post: 25th September 2017, 07:50 AM
  2. IOS music pass through fusion app - can't find the thread
    By Tuna in forum iOS Export Module 2.5
    Replies: 6
    Last Post: 15th June 2017, 06:07 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
  •