mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-12-14 12:09:36 +00:00
Speed up load screen
This commit is contained in:
@@ -517,7 +517,7 @@ void CreateLoadScreenWindow(int phase)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StepLoadScreen(int steps)
|
void StepLoadScreen(int steps, bool insertDelay)
|
||||||
{
|
{
|
||||||
if (loadScreenWindow)
|
if (loadScreenWindow)
|
||||||
{
|
{
|
||||||
@@ -549,7 +549,7 @@ void StepLoadScreen(int steps)
|
|||||||
loadScreenWindow->GetDrawSurface()->FillRect(Rect::Create(loadScreenProgressBarFillRect.top, loadScreenProgressBarFillRect.left + prevStep, loadScreenProgressBarFillRect.bottom, loadScreenProgressBarFillRect.left + thisStep), fillColor);
|
loadScreenWindow->GetDrawSurface()->FillRect(Rect::Create(loadScreenProgressBarFillRect.top, loadScreenProgressBarFillRect.left + prevStep, loadScreenProgressBarFillRect.bottom, loadScreenProgressBarFillRect.left + thisStep), fillColor);
|
||||||
ForceSyncFrame();
|
ForceSyncFrame();
|
||||||
|
|
||||||
for (int i = 0; i < steps; i++)
|
if (insertDelay)
|
||||||
{
|
{
|
||||||
StepLoadScreenRing();
|
StepLoadScreenRing();
|
||||||
Delay(1, nullptr);
|
Delay(1, nullptr);
|
||||||
@@ -690,7 +690,7 @@ void PreloadFonts()
|
|||||||
slot.m_queued = false;
|
slot.m_queued = false;
|
||||||
completedSpecs++;
|
completedSpecs++;
|
||||||
|
|
||||||
StepLoadScreen(1);
|
StepLoadScreen(1, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -825,7 +825,7 @@ void PreloadAATables()
|
|||||||
for (size_t i = 0; i < numAASpecs; i++)
|
for (size_t i = 0; i < numAASpecs; i++)
|
||||||
{
|
{
|
||||||
PreloadAATableThreadFunc(specs + i);
|
PreloadAATableThreadFunc(specs + i);
|
||||||
StepLoadScreen(1);
|
StepLoadScreen(1, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -849,6 +849,7 @@ void PreloadAATables()
|
|||||||
|
|
||||||
while (completedSpecs < numAASpecs)
|
while (completedSpecs < numAASpecs)
|
||||||
{
|
{
|
||||||
|
int completedThisStep = 0;
|
||||||
for (unsigned int i = 0; i < cpus; i++)
|
for (unsigned int i = 0; i < cpus; i++)
|
||||||
{
|
{
|
||||||
PreloadAATableWorkSlot &slot = slots[i];
|
PreloadAATableWorkSlot &slot = slots[i];
|
||||||
@@ -861,7 +862,7 @@ void PreloadAATables()
|
|||||||
slot.m_queued = false;
|
slot.m_queued = false;
|
||||||
completedSpecs++;
|
completedSpecs++;
|
||||||
|
|
||||||
StepLoadScreen(1);
|
completedThisStep++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -879,6 +880,9 @@ void PreloadAATables()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (completedThisStep > 0)
|
||||||
|
StepLoadScreen(completedThisStep, false);
|
||||||
|
|
||||||
StepLoadScreenRing();
|
StepLoadScreenRing();
|
||||||
Delay(1, nullptr);
|
Delay(1, nullptr);
|
||||||
}
|
}
|
||||||
@@ -929,10 +933,10 @@ int gpAppMain()
|
|||||||
SpinCursor(2); // Tick once to let the display driver flush any resolution changes from prefs
|
SpinCursor(2); // Tick once to let the display driver flush any resolution changes from prefs
|
||||||
FlushResolutionChange();
|
FlushResolutionChange();
|
||||||
|
|
||||||
InitLoadingWindow(); StepLoadScreen(2);
|
InitLoadingWindow(); StepLoadScreen(2, true);
|
||||||
PreloadAATables();
|
PreloadAATables();
|
||||||
assert(isPrefsLoaded || loadScreenWindowPhase == 0);
|
assert(isPrefsLoaded || loadScreenWindowPhase == 0);
|
||||||
PreloadFonts(); StepLoadScreen(2);
|
PreloadFonts(); StepLoadScreen(2, true);
|
||||||
|
|
||||||
#if defined COMPILEDEMO
|
#if defined COMPILEDEMO
|
||||||
copyGood = true;
|
copyGood = true;
|
||||||
@@ -951,12 +955,12 @@ int gpAppMain()
|
|||||||
// if ((thisMac.numScreens > 1) && (isUseSecondScreen))
|
// if ((thisMac.numScreens > 1) && (isUseSecondScreen))
|
||||||
// ReflectSecondMonitorEnvirons(false, true, true);
|
// ReflectSecondMonitorEnvirons(false, true, true);
|
||||||
HandleDepthSwitching();
|
HandleDepthSwitching();
|
||||||
VariableInit(); StepLoadScreen(2);
|
VariableInit(); StepLoadScreen(2, true);
|
||||||
GetExtraCursors(); StepLoadScreen(2);
|
GetExtraCursors(); StepLoadScreen(2, true);
|
||||||
InitMarquee();
|
InitMarquee();
|
||||||
CreatePointers(); StepLoadScreen(2);
|
CreatePointers(); StepLoadScreen(2, true);
|
||||||
InitSrcRects();
|
InitSrcRects();
|
||||||
CreateOffscreens(); StepLoadScreen(2);
|
CreateOffscreens(); StepLoadScreen(2, true);
|
||||||
|
|
||||||
if (loadScreenWindow)
|
if (loadScreenWindow)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user