Regarding a potential ruleset change on PC.
1 year ago
Kenya

It has been known for quite a while for runners of the game that the way the PC version of the game handles loads is weird. But recently, numerous discoveries have been made regarding the loading times. This is going to be quite long winded but I do feel that this is an important thing which needs to be addressed. Here's the rundown:

''How loading works:'' So in most games, the game loads the assets into memory during a loading screen and once all of that is done, the game loads and the game starts. Pretty basic stuff.

The Incredibles on PC however does not work like this. How the loading screens work is that the wireframes in the loading screen are set to spin a certain amount and once they reach a certain point, the level starts. It doesn't matter whether you're running the game on a Pentium III or a Ryzen Threadripper with the latest RTX 90 Ti series GPU, the point the wireframe has to spin to is the exact same on any machine.

This is strange because the game isn't actually loading data while it is doing this. The only indication of the game actually loading data is when the wireframes freeze, which simply does not happen on newer computers running the game off an SSD. Why were the load screens designed like this? I have absolutely no idea. So that raises another question. How fast do the wireframes spin?

''What determines the speed of the loading screens:'' So how fast the wireframes spin is directly dependent on the framerate. So if the loading screens are running at 60FPS, the wireframes will spin at a certain speed. If the loading screens are running at 30FPS however, the wireframes will spin at half the speed and the loading screens will literally be twice as long (yes, really).

The maximum speed the wireframes can spin is dependent on the refresh rate of your monitor. The main game is locked at 60FPS but the main menu and loading screens for some reason are not. Instead, the game uses VSync (which cannot be disabled in game) to set the framerate of the loading screens. If you are using a 60Hz monitor for example, the loading screens will be at 60FPS but if you are using a 120Hz monitor, the loading screens will be at 120Hz (and will subsequently be twice as fast). Keep in mind that the longest loading screens in game can be over 10 seconds long with 60FPS loading screens.

A weird complication with this is that for some reason, Windows may limit the refresh rate of your monitor in game (this might only be an issue with newer versions of Windows but I can't say for sure). From my personal experience, I currently have a 165Hz monitor but if I start up the game normally, the game will be running at 40Hz for some baffling reason (which immensely slows down loading times and locks the whole game to 40FPS). This can easily be worked around however by playing the game with a programme known as "DXWnd" open in the background. It's an easily accessible programme and it allows users to play in windowed mode so it has never been a point of debate among runners.

I could definitely go on and on about how dumb this is but the key takeaway from this is that higher refresh rate = faster loads. Here is a comparison video which shows what one load screen looks like 120Hz, 60Hz and 40Hz:

''Turning off VSync and its complications:'' As I said before, the load times being the way that they are is because of VSync and I also mentioned that there's no way to natively turn off VSync in game. So what if you disabled VSync with an external tool (such as the NVidia control panel)? Well, the framerate in the loading screens becomes uncapped and... the game can load pretty much instantly, regardless of the monitor refresh rate. Here is a video showing off loads with VSync externally disabled:

This sounds really nice but there are some complications. First of all, you might require an external monitor to achieve uncapped framerates. I have had machines where I could get uncapped framerates on my primary monitor but on others, I needed to use an external monitor, and others who have tested this have had similar experiences.

Secondly, disabling VSync may not be possible depending on your setup. With an NVidia setup, VSync is easy to disable and in a worst case scenario, you may need to use a secondary monitor. With an AMD setup however, disabling VSync simply may not work at all as VSync is quirky on AMD GPUs to say the least. It's also possible you may not even be able to disable VSync externally depending on your setup.

Edited by the author 1 year ago
Kenya

Because of this whole VSync and refresh rate scenario, our community hasn't decided what we should do yet. Here are the questions we have: Do we allow disabling VSync? and Should we limit the refresh rate of the game?

''Disabling VSync:'' The main advantage of disabling VSync is that it brings PC closer to XBOX (or in other words, it makes PC more viable to speedrun). Right now, PC load times need to be under 25 seconds to be at least on the same level as XBOX in an optimal any% run (which requires approximately a 240Hz monitor with VSync and in a more realistic run, this difference will be smaller in XBOX's favour) so by having VSync disabled, PC can be faster than XBOX (or at least be on the same level) at the top level and it can generally be more competitive at lower levels.

The main disadvantage however is that disabling VSync is not possible for everyone. It has to be done with an external programme and it may not work depending on your setup (being unreliable for AMD setups especially). Runners without VSync would be at a significant disadvantage, unless they fork out money for a super high refresh rate monitor (which will overall still be slower than an uncapped framerate until 600Hz+ monitors make it to market).

If disabling VSync was not allowed, that would then bring us to the refresh rate question:

''Limiting the refresh rate:'' So, using a high refresh rate is something which does consistently work and it does not depend on specific hardware in the same way VSync disabling does. You may need DXWnd to get the game running at the monitor's refresh rate but that's a universal solution which does not depend on hardware.

The main advantage of having no refresh rate limit is the same as having no VSync. Load times are faster, making PC a more viable platform for speedrunning. A high enough refresh rate could give PC a slight edge over XBOX (or at least make it on the same level).

The main disadvantage of having no refresh rate limit is something quite simple. It brings in a "pay to win" aspect to the game. The higher the refresh rate, the faster the loads so if you want faster loads, you will need to invest in a high refresh rate monitor. 360Hz monitors costs hundreds of dollars as of 2023 and having to spend hundreds to save time in a single speedrun is not exactly a very worthwhile investment. This issue does not exist with VSync being disabled (or its at least less of an issue) but with VSync having to be enabled, this is very much a problem. Limiting the refresh rate can give PC is notable disadvantage to XBOX depending on what that refresh rate is. Load times at 60Hz are very slow overall (losing multiple minutes to uncapped loads) and even load times at 120Hz still results in loads being long enough to make PC definitively slower than XBOX in a full any% run.

A way to combat this would be to limit the refresh rate but what would be an acceptable limit to the refresh rate? 60Hz? 120Hz? This is something I simply do not have the answer to myself. If your monitor does not support whatever maximum refresh rate becomes allowed, you can limit the framerate of the game to achieve whatever framerate that refresh rate will allow for (so you could limit the game to 60FPS for loads to be at 60FPS for example).

Also, there are already full game runs on the boards with 165Hz and 144Hz refresh rates so if a ruleset change does occur, those runs will most likely have to be retimed to fit the new rules or something along those lines.

But this is my ultimate question. What should we do? Do we allow disabling VSync? If we don't allow VSync to be disabled, should we limit the maximum refresh rate/framerate of the game? And if we do have a refresh rate limit, what should that limit be? I know this is all very long winded and complex but I feel that this is an issue which needs to be sorted sooner rather than later. Unfortunately no matter what we do, there will still be discrepancies between different pieces of hardware but we want t decide whether we should allow the game to reach its maximum potential or if we should make the game equal for as many PC users as we can.

Regardless of how familiar you are with the game and its speedrun, if you have any thoughts on the matter then please do share them.

Edited by the author 1 year ago
Kenya

And before people ask, yes, there are of course other potential options. We can remove loads from runs, we can remove loads from PC runs and then add on a certain amount of time and so on. But those solutions also come with their own advantages and disadvantages and I will say right now that splitting the boards simply isn’t worth it for a handful of reasons.

Kenya

Update: a handful of community members have come forward and have given their opinion on the situation and it's pretty much a 50/50. Some people are in favour of allowing disabled V-Sync, others are against it. We haven't come to a final decision yet though as we do need more input to come to a more conclusive decision. If anyone here has their own take on the situation (regardless of how familiar they are with the game) then it would be highly appreciated if you shared it.

Game stats
Followers
104
Runs
322
Players
19
Latest news
Significant leaderboard update

Recently, the community has decided to make some updates to the leaderboards. There are two significant changes which we are implementing:

  1. All full game PC runs will now be timed without loads. The load times on PC can heavily vary and they dependent on rather ridiculous things. By removing lo
9 months ago
Latest threads
Posted 3 years ago
2 replies
Posted 7 years ago
Posted 7 years ago