daily update on 20240320 by nitload youmu

This commit is contained in:
YoumuLiu
2024-03-21 02:01:17 +08:00
parent 0c50c6282e
commit 9a10ec201c
91 changed files with 1150 additions and 1815 deletions
@@ -39,6 +39,7 @@ namespace StgSharp
{
public static unsafe partial class StgSharp
{
private static bool _inited;
/// <summary>
/// Init an instance of OpenGL program,
@@ -78,6 +78,18 @@ namespace StgSharp
private static bool vsyncActivated;
internal static GraphicAPI API = default;
public static void Init()
{
mainTimeProvider = new StgSharpTime();
MainTimeProvider.StartProvidingTime();
InternalIO.glfwInit();
}
public static void Terminate()
{
MainTimeProvider.Terminate();
}
public static void Mark(bool needConsole)
{
markCount++;
+19 -6
View File
@@ -42,8 +42,11 @@ namespace StgSharp
public partial class StgSharp
{
internal static StgSharpTime mainTimeProvider;
internal static StgSharpTime MainTimeProvider=>mainTimeProvider;
}
public sealed class StgSharpTime : TimeSourceProviderBase
@@ -58,8 +61,7 @@ namespace StgSharp
{
}
public static StgSharpTime OnlyInstance
=> StgSharp.mainTimeProvider;
public static StgSharpTime OnlyInstance => StgSharp.MainTimeProvider;
public override sealed void StartProvidingTime()
{
@@ -90,10 +92,6 @@ namespace StgSharp
timeProvideThread.Start();
}
[MethodImpl(MethodImplOptions.NoOptimization)]
public static void TimerActivate(int maxFrameUpdateSensitiveTimeProviderCount)
{
}
protected override sealed void AddSubscriberUnsynced(TimeSpanProvider subscriber)
{
@@ -115,6 +113,11 @@ namespace StgSharp
while (mainProvider.IsRunning)
{
totalMS = mainProvider.ElapsedTicks / (internalFrequncy / (1000L * 1000L));
if (subscriberList.Count==0)
{
continue;
}
CheckSubscriberSemaphore.Wait();
foreach (TimeSpanProvider subscriber in subscriberList)
{
if (subscriber.CheckTime(totalMS))
@@ -122,6 +125,16 @@ namespace StgSharp
};
}
CheckSubscriberSemaphore.Release();
}
int a = 0;
}
public void Terminate()
{
lock (mainProvider)
{
mainProvider.Stop();
}
}