LeviLamina
Loading...
Searching...
No Matches
Scheduler Class Reference
+ Inheritance diagram for Scheduler:

Classes

class  ScopedChangeScheduler
 

Public Types

enum class  MinimumTimeBudget : int { Yes = 0 , No = 1 }
 
enum class  MaximumTimeBudget : int { Yes = 0 , No = 1 }
 

Public Member Functions

MCAPI Scheduler (::std::string name, uint FPS)
 
MCAPI::std::chrono::nanoseconds _calcBaseTimeBudget (uint forFps, ::std::chrono::nanoseconds frameTimeSoFar, ::Scheduler::MinimumTimeBudget ensureNonZeroRunTime, ::Scheduler::MaximumTimeBudget limitMaxRunTime)
 
MCAPI bool _runCoroutines (::std::chrono::nanoseconds timeCap)
 
MCAPI void processCoroutines (::std::chrono::nanoseconds timeSinceSwap, ::Scheduler::MinimumTimeBudget ensureNonZeroRunTime, ::Scheduler::MaximumTimeBudget limitMaxRunTime)
 
MCAPI void setTargetFPS (uint FPS)
 
MCAPI void updateTargetFPS ()
 
MCAPI void * $ctor (::std::string name, uint FPS)
 
MCFOLD void * $ctor ()
 
MCFOLD void * $ctor (::Bedrock::EnableNonOwnerReferences const &)
 
MCFOLD void $dtor ()
 

Static Public Member Functions

static MCAPI void ** $vftable ()
 

Public Attributes

::ll::TypedStorage< 4, 4, uint > mTotalFrames
 
::ll::TypedStorage< 4, 4, uint > mStarvedFrames
 
::ll::TypedStorage< 4, 4, uint > mPromotionFrames
 
::ll::TypedStorage< 4, 4, uint > mTargetFPS
 
::ll::TypedStorage< 4, 4, uint > mEffectiveFPS
 
::ll::TypedStorage< 4, 4, uint > mTotalRunCoroutines
 
::ll::TypedStorage< 8, 8, ::std::chrono::nanoseconds > mPredictedCoroutineDuration
 
::ll::TypedStorage< 8, 8, ::std::chrono::nanoseconds > mTotalCoroutineDuration
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::WorkerPool > > mCoroutinePool
 
::ll::TypedStorage< 8, 8, ::std::chrono::steady_clock::time_point > mNextStarveCheckTime
 
::ll::TypedStorage< 4, 4, ::std::thread::id > mThreadID
 
::std::shared_ptr<::Bedrock::EnableNonOwnerReferences::ControlBlockmControlBlock
 

Constructor & Destructor Documentation

◆ Scheduler()

MCAPI Scheduler::Scheduler ( ::std::string name,
uint FPS )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

Member Function Documentation

◆ _calcBaseTimeBudget()

MCAPI::std::chrono::nanoseconds Scheduler::_calcBaseTimeBudget ( uint forFps,
::std::chrono::nanoseconds frameTimeSoFar,
::Scheduler::MinimumTimeBudget ensureNonZeroRunTime,
::Scheduler::MaximumTimeBudget limitMaxRunTime )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _runCoroutines()

MCAPI bool Scheduler::_runCoroutines ( ::std::chrono::nanoseconds timeCap)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processCoroutines()

MCAPI void Scheduler::processCoroutines ( ::std::chrono::nanoseconds timeSinceSwap,
::Scheduler::MinimumTimeBudget ensureNonZeroRunTime,
::Scheduler::MaximumTimeBudget limitMaxRunTime )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ setTargetFPS()

MCAPI void Scheduler::setTargetFPS ( uint FPS)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ updateTargetFPS()

MCAPI void Scheduler::updateTargetFPS ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $ctor()

MCAPI void * Scheduler::$ctor ( ::std::string name,
uint FPS )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $vftable()

static MCAPI void ** Scheduler::$vftable ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

The documentation for this class was generated from the following file: