Page 1 of 1
Posted: 12-08-18 5:05 am
by ofzatt
Hi,
I'm using the latest version of Synthesia (10.5) and I found the software randomly dropping the framerate, though I am forced it to run with more than 13xx fps (set FrameMinMilliseconds to 0 and Vsync unchecked). With these settings, Framerate can be up to 16xx and Synthesia uses 45% CPU (i5 Haswell) and 80% GPU (750 Ti). The dropping bar is very smooth, but the software randomly flash drop frame while playing. And yes, I use synthesia with FL studio (via Loopmidi) and a windows video recorder. I tried the setup FrameMinMilliseconds to 1 and 2, but choppy is even more noticeable, although the framerate is very high (over 600 fps). What I need to do?
Posted: 12-08-18 8:10 am
by Nicholas
What do you mean by "randomly flash drop frame"? Does the screen actually flash?
I've noticed that unless the app is in full-screen mode (press Alt-Enter), that the OS (or graphics driver or something) seems to give it less priority than it should. Once in full-screen mode, things seem to proceed much more smoothly.
Posted: 12-08-18 9:13 am
by ofzatt
I dont know how to describe it. mean, it suddenly jerked. Here. this is more than 1400+ fps
https://www.youtube.com/watch?v=0mZ13gwLdz8
Posted: 12-08-18 10:02 am
by Nicholas
Yeah, those tiny hiccups are what I was talking about, too. Does switching to full-screen mode help make that happen less often?
Posted: 12-10-18 11:07 am
by ofzatt
not different, still flash drop
.
Posted: 12-10-18 11:19 am
by Nicholas
I've also noticed that those sorts of tiny interruptions are very sensitive to the kinds of apps you have running in the background. Even just having a couple Chrome tabs open can make things a lot spikier. Does closing everything else (including non-essential notification area apps) help anything?
I'm not sure there is any way to make things perfect on a multitasking OS like Windows (vs. say, making Synthesia for a game console where the apps are allowed to have the full system's attention) and we could certainly do better with the some of the real-time programming in the app itself, but hopefully those steps help.
Posted: 12-12-18 10:05 am
by ofzatt
I tried: (FrameMinMilliseconds = 0, vsync = uncheck => ~ 1k3 fps, maximum CPU and GPU)
- Turn off loopmidi, using build-in sound + screen recorder
- Don't screen record, only play Synthesia with FL Studio VST
And FrameMinMilliseconds = 5, check vsync => 60 fps, play Synthesia with FL Studio VST and screen recorder
All 3 have "tiny hiccups", it is random at any time, maybe I will have to accept it, or repeat the process until good luck comes to me.
Posted: 12-13-18 2:15 am
by Nicholas
Were each of those tests done while in full-screen mode? Again, the Windows DWM seems to give a higher priority to full-screen apps. Speaking of priority, have you tried adjusting the Synthesia.exe process's priority to something like "High"? I haven't experimented with that much, but I don't suppose it could hurt.
Otherwise, some intermittent hiccups are still the fault of our own code. A lot of the deeper underlying assumptions of the play screen were made over twelve years ago, just a couple years after I was getting out of college and didn't know much better. It has only been in recent years that
I've learned much of the programming style taught in schools (
OOP) isn't the right answer for the near-realtime environment of 60Hz+ graphics apps. We've slowly been making strides in this area -- a little in every release -- so hopefully those sorts of inefficiencies will be fewer as time goes on.
(I actually keep a small, hand-written Post-It note copy of
this tweet stuck to the side of my Synthesia dev machine's monitor.)
Posted: 12-16-18 10:11 pm
by ofzatt
Still not clear, but there seems no "tiny hiccups" when I off all audio output (just checked on 1 song). I will check more when I have time, (and set priority to "hight", too). Because tiny hiccups do not affect the video so much, so maybe I'll accept it at this time