Fusion 2.5 Microstuttering (moved from Fusion 3 status thread)

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • ....Regardless, one thing's for sure: Fusion 3 bloody better be a lot faster than Fusion 2.5. The CPU side of things is pretty good in Fusion 2.5, but the GPU side can be quite poor. I've never seen a Fusion game utilise more than about 10% of a GPU, even when it's running at under 40fps.

    What's worse is the microstuttering, which is a frequent problem in Fusion games, especially those using windowed mode or UFS. I've seen this microstuttering even on extremely simple mfas with just a few events. Fraps will say 60fps, yet motion will microstutter a few times a second, causing it to feel more like 20fps.

    I've always assumed that this was due to the the wrapper or whatever system is under 2.5's hood, and that it'll be gone in 3. I sure hope so. I'm not aware of any other 2d engines with this problem, and if Fusion 3 wants to compete with the better-known competitors, this sort of thing probably won't cut it.

    I was showing my game at PAX this weekend, and as in previous years, many people asked me what engine I used. Over the 3 days, only one single person I spoke to had even heard of Clickteam Fusion...and all he knew about it was that he'd heard it was a "****ing nightmare" to use. :(

    In terms of branding and awareness, you guys really have your work cut out for you when Fusion 3 launches. I hope you're up to the task.

    EDIT: removed first paragraph as it no longer was relevant to this thread - Vol

    Please login to see this link.
    My Fusion Tools: Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited once, last by Volnaiskra (November 3, 2017 at 10:27 PM).

  • Vol you probably have done so already, but if not can you make the most basic mfa possible which demonstrates the microstuttering as clearly as possible and PM me with it? I'm curious to see what you're talking about but also want to see whether we can address the issue. Thanks :)

  • What’s technically the theory behind micro stutters? A buffer problem? A sync issue? I think we also should clearly distinguish between microstutter (whatever it is, I’m not sensitive to it) and a stutter that every scaled up display will show due to the minimal scrollable step being the scaling factor, which is of course subpar compared to 1px on a native non-scaled resolution. The heavier a game is scaled the more stutter, that’s logic and not avoidable IMO. Played some Axiom Verge these days, which is the quality benchmark for my own project, an this game shows the same scaling-stutter like every other pixel art game, it scales by factor 4.

    Please login to see this link.
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • I don't know if this might be useful, but I know that chrome has suffered from stuttering for a long time now.. it still hasn't been fixed.
    Please login to see this link.
    Please login to see this link.

  • It could be a tonne of things to be honest. The only thing reasonably certain is that if it is stuttering, it is likely something happening in a loop one or more times. I'll wait to see the example before trying to work out what it might be in any more detail - needle, haystack and all that :)

  • I've spent the past hour or so trying to get good footage of the microstuttering, but it's very hard. I filmed the screen with my phone on a tripod, I used FRAPS recording, and tried different framerates and screen refresh rates. With my naked eye, microstuttering was very easy to see and was very visually disruptive. Though capturing it on video was much tougher. I did eventually get some footage, but it doesn't show anywhere near as 'loudly' as it does to my naked eye. Part of the problem is that my phone records in 29.9fps, and while FRAPS records in 60fps, it is notoriously bad at picking up microstutter (see below).

    Microstuttering is an infamously elusive thing. Like you say, Simon, it's a needle-in-the-haystack type of issue. Some people see it, some people don't. And most framerate software like FRAPS doesn't pick it up, because most such software measures the output at a different part of the graphical pipeline than the part where the microstuttering mostly occurs.

    In a nutshell, microstuttering is not about the number of frames per second, but whether they are consistently timed. The issue first burst into the collective conscious of the high-end gaming world with this Please login to see this link., which I highly recommend to anyone who wants to better understand the issue. Many of the PC gaming and tech sites started to measure games using different tools after that article came out, including software that measures the timing of individual frames, and/or ultra-high speed video cameras. That article also was a catalyst for changes in the industry, including AMD improving the terrible microstuttering in their multi-GPU solutions, and Nvidia plus some monitor manufacturers coming out with Gsync tech, which mitigates microstutter (I myself have a Gsync monitor, though I turned Gsync off for these tests).

    Anyway, This screengrab from that Tech Report article explains the gist of microstuttering nicely.

    Please login to see this picture.
    .

    So you can see that there's a big anomaly where one frame takes way longer to render than the others. But now look at the FPS of those two GPUs:

    .
    Please login to see this picture.

    The FPS is almost identical, because the FPS is merely an average of all frames per second. One of the problems is that some people's eyes are very sensitive to such anomalies, while other people's aren't. Furthermore, it's hard to measure with traditional framerate software (eg. FRAPS or Fusion's internal "frames per second" timer) because the stutter can occur in a different part of the timeline, as outlined in another screengrab from that article:

    Please login to see this picture.

    As a case in point for all this: I showed Spryke at a games conference last year, when I was still using UFS mode (which is essentially borderless windowed mode, which is more susceptible to microstuttering in Fusion for some reason). At that conference, I had one guy come up to me to voice his concern about the really bad framerate, while other people described the game as "silky smooth". The thing is, all of those people were playing exactly the same build, on exactly the same PC, which was running at a constant 60fps. But I knew what the first guy meant, because the game felt horribly stuttery to me too - clearly we were both more sensitive to microstutter than others. That's another oddity about this issue: for many people it's effectively non-existent, but for some it's very significant - all depending on the individual physiology of their brain and eyes, I suppose. Thankfully, I since realised that true fullscreen mode eliminates most of the microstuttering in Fusion, so Spryke is pretty microstutter-free now.

    Anyway, here's the best I could come up with in terms of capturing the microstuttering on video (see below). I filmed an MFA on the phone, then slowed the footage down x4. I then added yellow lines to show where the right edge of the ball reaches on every frame. As you can see, it moves nice and evenly for about 12 frames, before suddenly getting erratic for about the next 20 frames, and finally becoming uniform again. While watching the video, you can pause it then repeateadly hit , and . on your keyboard to freeze-frame the video. You'll also notice that the counter lines up with what's happening to the ball. When the ball moves uniformly, the counter jumps up by 2 each time (because it was a 60fps MFA shot on a 30FPS phone). But when the ball moves erratically, you can see that the counter shoots up either by 1 or by 3. In other words, the timing of the frames that Fusion is presenting to the GPU is not as consistent as it could be. If we measured the timings of the frames, we'd probably see anomalies similar (though maybe not as pronounced) to the first image I embedded in this post.

    Please login to see this media element.

    Now, if this was the sort of stuttering that Julian was talking about (eg. because of pixel scaling), then we would expect it to be uniform (eg. the ball would skip ahead every 4th frame, or something like that). And we'd probably also expect that if this was just a case of my phone capturing frames at a slightly different tempo to that of my monitor displaying frames. But we see that it's not uniform: the ball has a certain rhythm for 12 frames, and then a more erratic rhythm for a while, and then a uniform rhythm again. I should add that the microstuttering that I see when I run the MFA happens in occasional spurts. I might see 10 seconds of smoothness followed by 2 hiccupy seconds, followed by 16 seconds of smoothness, followed by 0.5 hiccupy seconds, etc.

    I'll also add that turning vsync ON inside the MFA seems to greatly improve the situation, as does turning on "change resolution mode". Neither get rid of the microstuttering entirely for me, but they make it way less frequent and way less jumpy.

    I've attached the MFA. Whether you see microstuttering in it will probably largely depend on your own brain's physiology, and probably also your hardware. If you really want to look into this, then you'll probably want to get scientific and measure Fusion's output on various hardware using a tool designed for that purpose. This Please login to see this link.links to something called fraps2percentile near the bottom.

    I would guess that the microstuttering problem in 2.5 will either be solved, or at least different, in 3.0, since you're using a different code base, and IIRC you're using OpenGL instead of DirectX. Fingers crossed that the problem just takes care of itself. Although I certainly would urge you guys to at least do some measuring with Fusion 3 to make sure.

  • oh, so "microstuttering" is the term for it.

    me & my friend always used to call it juddering since we were kids in the klik n play days. we were like "why's it juddering!!! its not slick like the proper consoles!", even to this day my friend always says to me "hav they fixed that juddering yet! i won't use fusion again til the fix that juddering!" XD we were also blessed (and cursed) with the "magic eyes" lol.

    & on julians point, wen u look at old low rez snes/arcade games like street fighter 2 original running on a pc emulator, u will notice that they are completely smooth & slick even tho they hav very low resolution and are scaled up many times. so its not a case of resolution, its a case of we need a resolution! XD

    and hats off volnaiskra for providing such a clear example :) u nailed it!

    i've never brought this up even tho its been a constant eye sore, as i cudnt think of any way to explain it or show it. but now its on the table, its time to blast it!!! XD

    & by the way, if this gets fixed it wil instantly make ALL fusion games look 200% more professional :D even people who cudnt see it will just feel it.

    Edited 3 times, last by SHINBAXTER (November 3, 2017 at 4:21 AM).

  • I'm very glad that I could help clarify it and bring it to the surface. Being someone who perceives microstuttering can certainly feel frustrating sometimes, since it's so hard to explain to people what it is, or even put your finger on what it is yourself. I was going mental even just trying to capture video of it, since FRAPS and my phone camera weren't showing the same thing that my eyes could see!

    Juddering is exactly what I would call it - it's like the image doesn't slow down, but it just 'shivers' randomly. Like Edel said, it happens mostly in windowed mode, and feels really random. It also seems unrelated to game load (eg. a busy part of the game will predictably decrease FPS, but may not affect microstuttering, which seems to happen unpredictably)

    & by the way, if this gets fixed it wil instantly make ALL fusion games look 200% more professional :D even people who cudnt see it will just feel it.

    That's a really good point. I bet most people can feel it, even if they don't tend to consciously notice it. Just like almost everyone can feel the smoothness of 60fps or 120fps even if they always thought 30fps was smooth enough.

    Please login to see this link.
    My Fusion Tools: Please login to see this link. | Please login to see this link. | Please login to see this link.

  • I've been up all night and my eyes are probably not in the best state so I'll look again when I've slept. On initial inspection however I don't see anything on my PC, although it is a fairly beefy rig so perhaps it is smoothed out (or perhaps it's my tired eyes!)

  • Great example Vol, I'm able to see it!

    Please login to see this link.
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Good old micro-stuttering! I went mad with this when developing Silence of the Sleep. In the end, there was nothing I could do. It seemed to work on some systems better than the others. The performance of the computer didn't affect as I can remember my old PC running everything smoothly. My games still stutter. I was hoping Fusion 3.0 could fix this, but if it's possible for 2.5 as well I say YES PLEASE! :)

    Currently working on Please login to see this link.
    Released games: Please login to see this link. and Please login to see this link.

  • Different eyes have different framerates, you'd need one updating frequently enough to see the slow part.
    I've heard some people in the army can detect a change in 250fps. That's only a 0.004s window.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Hi, i have the microstuttering also very bad, even on very simple things, like creating an active and let it move across the screen, etc. So its for sure not a heavy game or something. It happens very random, on exe files or when i run the app inside fusion. I did also wonder the whole time if freesync would fix it for my AMD gpu, but my monitor does not have it sadly.

  • Yes I can make my game "microstutter" with 1 object and a couple of events. And it isn't my monitor or graphics card.. because I can play a full screen low res game (256x224) NES emulated game and it has silky smooth movement with no stutter... I've just learned to live with it, it's very minor and doesn't effect my game badly.. I feel like 99% of players wouldn't notice it and I only notice because I see so much of the game in isolated testing context rather than full fledged gameplay.. but I'd love it if it was something that could be solved.

    Check out my Game on Itch.io
    Please login to see this link.

  • Different eyes have different framerates, you'd need one updating frequently enough to see the slow part.
    I've heard some people in the army can detect a change in 250fps. That's only a 0.004s window.

    what level is your "Sharingan"?....or do u have "Byakugan"? ...or maybe even "Rinnegan"? XD

  • in my game I usually see this at the start of a frame, for a second or two and then it seems to go away.. at least that what I thought because I didn't notice it afterwards, but in vol's example it actually happens repeatedly with 10-20 seconds interval.. sometimes it happens almost directly after starting the frame, sometimes it takes 10 seconds or more to appear.. now I'm thinking it might happen repeatedly in my game as well!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!