Open Sereni opened 4 years ago
Maybe it has to do with the internal resolution of the theme?
Take a look at these links: https://github.com/stepmania/stepmania/blob/5_1-new/Themes/_fallback/metrics.ini#L18 https://github.com/stepmania/stepmania/blob/8ab7c7fab937acc684392b909b6b30b47d9a8c7b/src/ScreenDimensions.cpp#L11
Which show how the game scales the resolution of the game for the theme. Stock SL doesn't change override the fallback parameters.
I wonder if adding ScreenWidth=480 ScreenHeight=1 in your theme's metrics under [Common] (thus overriding the fallback's) will help.
It looks like it might help, although my stuttering issues aren't consistent enough for me to say for sure. I applied the fix and there was no lagging anymore, but then I removed it and there wasn't any lag then either. =P
Most of the layout is broken with that resolution change, which was to be expected, so I'll try and make a branch where the game is playable (although visually broken) and we could get players with more issues to try it out. =)
I chatted with Squirrel, who said our problem might be the odd height, which upsets opengl. In the snippet below, note a width-= width % 2;
, but no such line for height.
{
float fAspect = PREFSMAN->m_fDisplayAspectRatio;
float fScale = 1;
if( fAspect > THEME_NATIVE_ASPECT )
fScale = fAspect / THEME_NATIVE_ASPECT;
ASSERT( fScale >= 1 );
// ceilf causes the width to come out odd when it shouldn't.
// 576 * 1.7778 = 1024.0128, which is rounded to 1025. -Kyz
int width= (int)ceilf(THEME_SCREEN_WIDTH * fScale);
width-= width % 2;
return (float)width;
}
float ScreenDimensions::GetScreenHeight()
{
float fAspect = PREFSMAN->m_fDisplayAspectRatio;
float fScale = 1;
if( fAspect < THEME_NATIVE_ASPECT )
fScale = THEME_NATIVE_ASPECT / fAspect;
ASSERT( fScale >= 1 );
return (float) ceilf(THEME_SCREEN_HEIGHT * fScale);
}
They said that 5.3 does the same at the moment, which aligns with us seeing the issue on both 5.1 and 5.3.
We could try adding a height-=height%2
, compiling 5.1, and seeing if it gets any better?
We could try adding a height-=height%2, compiling 5.1, and seeing if it gets any better?
Sure, on it.
Do you know if the height is an odd number to begin with with the given dimensions as is? If it's not then the changes wouldn't do anything.
SCREENMAN:SystemMessage(SCREEN_HEIGHT)
should tell you
Also if it is an odd number, you can also first slightly change the Preferences of screen height/width to make it an even number to see if that's the cause. I think it would be a easier than recompiling/distributing StepMania.
Bad news: I was playing with my wife yesterday, so I was using vanilla Simply Love. I had the same lagging issues on the same kind of songs that usually trigger them on Simply Love Vertical, so it looks like I can't really reproduce this issue after all. =/
If you're reading this and understand Stepmania/graphics, we need help :)
Got multiple reports of visual lags/freezing during gameplay. I suspect this isn't a theme issue, given that we don't have much theme UI on the screen at that point. Still, would be good to find out why.
What we know:
Open questions:
Known setups that lag:
Setups that don't lag: