From ece12f2ea7105ace30956ceaff045b7d1d3e83e8 Mon Sep 17 00:00:00 2001 From: Youmu Liu <105042599+Nitload-NSI@users.noreply.github.com> Date: Tue, 18 Nov 2025 20:39:03 +0800 Subject: [PATCH] new simplified timer. and little other ops --- .../Collections/NotEnumerableList.cs | 91 +- .../Controlling/Controls/MarkingLable.cs | 9 +- StgSharp.Common/Environment/Platform.cs | 2 +- StgSharp.Common/Graphics/RenderStream.cs | 6 +- StgSharp.Common/Internal/Graphic/glfw.cs | 15 +- .../Internal/Graphic/glfw.function.cs | 2 +- .../MVVM/ViewModel/ShowViewPort.cs | 44 +- StgSharp.Common/MVVM/ViewModel/ViewModel.cs | 34 +- StgSharp.Common/StgSharp.Common.csproj | 4 + StgSharp.Common/StgSharp.Common.deps.json | 23 + StgSharp.Common/StgSharp.Common.dll | Bin 0 -> 778240 bytes StgSharp.Common/StgSharp.Common.pdb | Bin 0 -> 188376 bytes StgSharp.Common/StgSharp.Common.xml | 1249 +++++++++++++++++ .../Threading/VariableCapacitySemaphore.cs | 316 +++++ .../{TimeProvider.cs => StgSharpTime.cs} | 61 +- StgSharp.Common/Timing/TimeFunction.cs | 143 -- StgSharp.Common/Timing/TimeSequence.cs | 196 ++- StgSharp.Common/Timing/TimeSourceProvider.cs | 4 + .../Timing/TimeSpanAwaitingToken.cs | 147 -- .../Timing/TimeSpanProvider.Awaiting.cs | 198 +++ StgSharp.Common/Timing/TimeSpanProvider.cs | 196 +-- .../Numeric/MatrixParallel.Publish.cs | 21 +- StgSharp.Native/sn-head/glfw_function.h | 15 +- StgSharp.Native/sn-src/load_glfw.c | 201 +-- StgSharpDebug/MatrixParallelThreadTest.cs | 116 -- StgSharpDebug/Program.cs | 4 +- StgSharpDebug/RenderStream/Partical.cs | 6 +- StgSharpDevelop.sln | 4 +- 28 files changed, 2254 insertions(+), 853 deletions(-) create mode 100644 StgSharp.Common/StgSharp.Common.deps.json create mode 100644 StgSharp.Common/StgSharp.Common.dll create mode 100644 StgSharp.Common/StgSharp.Common.pdb create mode 100644 StgSharp.Common/StgSharp.Common.xml create mode 100644 StgSharp.Common/Threading/VariableCapacitySemaphore.cs rename StgSharp.Common/Timing/{TimeProvider.cs => StgSharpTime.cs} (67%) delete mode 100644 StgSharp.Common/Timing/TimeFunction.cs delete mode 100644 StgSharp.Common/Timing/TimeSpanAwaitingToken.cs create mode 100644 StgSharp.Common/Timing/TimeSpanProvider.Awaiting.cs delete mode 100644 StgSharpDebug/MatrixParallelThreadTest.cs diff --git a/StgSharp.Common/Collections/NotEnumerableList.cs b/StgSharp.Common/Collections/NotEnumerableList.cs index 43b7732a..31db3c5d 100644 --- a/StgSharp.Common/Collections/NotEnumerableList.cs +++ b/StgSharp.Common/Collections/NotEnumerableList.cs @@ -26,6 +26,7 @@ // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- using System; +using System.Collections.Generic; using System.Runtime.CompilerServices; namespace StgSharp.Collections @@ -33,9 +34,13 @@ namespace StgSharp.Collections public static class LinearBagBuilder { + /// + /// Build a from a read-only span. Capacity will exactly fit + /// the input. + /// public static LinearBag FromSpan(ReadOnlySpan values) { - if (values.IsEmpty || values.Length == 0) { + if (values.IsEmpty) { return new LinearBag(4); } LinearBag bag = new(values.Length); @@ -47,12 +52,24 @@ namespace StgSharp.Collections } + /// + /// A very lightweight contiguous storage structure: unordered, not enumerable by design. + /// Provides O(1) Add and O(1) RemoveAt (by swapping with the tail). Intended for high- + /// performance scenarios where element ordering does not matter. NOT thread-safe. + /// + /// + /// Element type. + /// [CollectionBuilder(typeof(LinearBagBuilder), nameof(LinearBagBuilder.FromSpan))] public class LinearBag(int capacity = 4) { - private T[] _items = new T[capacity]; + // Invariant: valid elements occupy indexes [0, Count-1]. Count is the number of live elements. + private T[] _items = new T[Math.Max(0, capacity)]; + /// + /// Access element by index (0..Count-1). Throws if out of range. + /// public T this[int index] { [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -68,10 +85,19 @@ namespace StgSharp.Collections } } + /// + /// Total allocated slots. + /// public int Capacity => _items.Length; + /// + /// Number of currently stored elements (valid index range 0..Count-1). + /// public int Count { get; private set; } + /// + /// Adds an item (unordered). Expands internal array if needed. + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Add(T item) { @@ -79,15 +105,19 @@ namespace StgSharp.Collections EnsureCapacity(Count + 1); } - _items[Count++] = item; + _items[Count] = item; + Count++; } + /// + /// Returns a span over the live portion of the bag (0..Count-1). + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Span AsSpan() - { - return new Span(_items, 0, Count); - } + public Span AsSpan() => new Span(_items, 0, Count); + /// + /// Clears all elements and zeroes out references to avoid retention. Count becomes 0. + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Clear() { @@ -95,18 +125,22 @@ namespace StgSharp.Collections Count = 0; } + /// + /// Fast clear: only resets Count (leaves underlying array unchanged). References are NOT + /// released. Use only when you are certain old references can remain. + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FastClear() - { - // 只重置size,不清理数组内容 - Count = 0; - } + public void FastClear() => Count = 0; + /// + /// Removes the first occurrence of value (unordered). Does nothing if not found. + /// public void Remove(T value) { + EqualityComparer comparer = EqualityComparer.Default; for (int i = 0; i < Count; i++) { - if (_items[i]?.Equals(value) ?? false) + if (comparer.Equals(_items[i], value)) { RemoveAt(i); return; @@ -114,6 +148,10 @@ namespace StgSharp.Collections } } + /// + /// Removes element at index by swapping the last element into its slot (unless already + /// last). Preserves O(1) removal at cost of ordering. + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] public void RemoveAt(int index) { @@ -122,27 +160,30 @@ namespace StgSharp.Collections } int last = Count - 1; - if (index != last) - { - _items[index] = _items[last]; // swap back from tail + if (index != last) { + _items[index] = _items[last]; } - _items[last] = default!; // clear last slot to avoid ref retention + _items[last] = default!; // release reference / reset value Count = last; } + /// + /// Ensures capacity is at least . Doubles size when growing. + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] private void EnsureCapacity(int min) { - if (_items.Length < min) - { - int newCapacity = _items.Length == 0 ? 4 : _items.Length * 2; - if (newCapacity < min) { - newCapacity = min; - } - - Array.Resize(ref _items, newCapacity); + if (_items.Length >= min) { + return; } + + int newCapacity = _items.Length == 0 ? 4 : _items.Length * 2; + if (newCapacity < min) { + newCapacity = min; + } + + Array.Resize(ref _items, newCapacity); } } diff --git a/StgSharp.Common/Controlling/Controls/MarkingLable.cs b/StgSharp.Common/Controlling/Controls/MarkingLable.cs index 04ca7641..554d0b08 100644 --- a/StgSharp.Common/Controlling/Controls/MarkingLable.cs +++ b/StgSharp.Common/Controlling/Controls/MarkingLable.cs @@ -45,14 +45,11 @@ namespace StgSharp.Controls private PlainGeometryMesh marker; - private TimeFunction _movement; - private Vec2 _currentPosition, _movementVec; - public MarkingLabel(PlainGeometryMesh marker, TimeFunction movement) + public MarkingLabel(PlainGeometryMesh marker) { this.marker = marker; - _movement = movement; } public bool IsEntity => true; @@ -74,9 +71,7 @@ namespace StgSharp.Controls public void Move(Vec2 movement) { - if (!_movement.IsComplete) { - Position = _currentPosition + (_movement.Calculate() * _movementVec); - } + throw new NotImplementedException(); } public void MoveTo(Vec2 target) diff --git a/StgSharp.Common/Environment/Platform.cs b/StgSharp.Common/Environment/Platform.cs index 04fba8af..e62b875d 100644 --- a/StgSharp.Common/Environment/Platform.cs +++ b/StgSharp.Common/Environment/Platform.cs @@ -186,7 +186,7 @@ namespace StgSharp internal static unsafe void InternalInitialize() { - mainTimeProvider = new StgSharpTime(); + // Initialize time provider and start providing time MainTimeProvider.StartProvidingTime(); GraphicFramework.LoadGlfw(); if (GraphicFramework.glfwInit() == 0) { diff --git a/StgSharp.Common/Graphics/RenderStream.cs b/StgSharp.Common/Graphics/RenderStream.cs index 2ab3fa1c..a63585f1 100644 --- a/StgSharp.Common/Graphics/RenderStream.cs +++ b/StgSharp.Common/Graphics/RenderStream.cs @@ -120,7 +120,7 @@ namespace StgSharp.Graphics protected float TimePassed { [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _timeProvider.CurrentSecond; + get => (float)_timeProvider.CurrentSecond; } protected TimeSpanProvider TimeProvider @@ -147,8 +147,8 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public abstract void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight); - public static TTarget ShareContextFrom([NotNull]TSource source) where TSource: RenderStream - where TTarget: RenderStream, new() + public static TTarget ShareContextFrom([NotNull]TSource source) where TSource : RenderStream + where TTarget : RenderStream, new() { TTarget target = new TTarget(); target.Initialize(source.BindedViewPortContext, source._timeProvider); diff --git a/StgSharp.Common/Internal/Graphic/glfw.cs b/StgSharp.Common/Internal/Graphic/glfw.cs index 1744e077..f1133880 100644 --- a/StgSharp.Common/Internal/Graphic/glfw.cs +++ b/StgSharp.Common/Internal/Graphic/glfw.cs @@ -230,9 +230,18 @@ namespace StgSharp.Internal IntPtr monitor, IntPtr share) { + nint handle; fixed (byte* titlePtr = title) { - return _glfw.glfwCreateWindow(width, height, titlePtr, monitor, share); + handle = _glfw.glfwCreateWindow(width, height, titlePtr, monitor, share); } + if (handle == 0) + { + byte* desc; + int code = _glfw.glfwGetError(&desc); + string msg = $"{code}: {Marshal.PtrToStringUTF8((nint)desc)}"; + throw new InvalidOperationException(msg); + } + return handle; } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -813,7 +822,9 @@ namespace StgSharp.Internal [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static unsafe IntPtr glfwGetProcAddress(ReadOnlySpan procName) { - return glfwGetProcAddress(procName); + fixed (byte* sPtr = procName) { + return _glfw.glfwGetProcAddress(sPtr); + } } [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/StgSharp.Common/Internal/Graphic/glfw.function.cs b/StgSharp.Common/Internal/Graphic/glfw.function.cs index 990aa1e5..4dc85105 100644 --- a/StgSharp.Common/Internal/Graphic/glfw.function.cs +++ b/StgSharp.Common/Internal/Graphic/glfw.function.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- // ----------------------------------------------------------------------- -// file="glfwFunction" +// file="glfw.function" // Project: StgSharp // AuthorGroup: Nitload // Copyright (c) Nitload. All rights reserved. diff --git a/StgSharp.Common/MVVM/ViewModel/ShowViewPort.cs b/StgSharp.Common/MVVM/ViewModel/ShowViewPort.cs index f9d10b6d..dd63559b 100644 --- a/StgSharp.Common/MVVM/ViewModel/ShowViewPort.cs +++ b/StgSharp.Common/MVVM/ViewModel/ShowViewPort.cs @@ -57,9 +57,8 @@ namespace StgSharp.MVVM.ViewModel { CustomizeInitialize(); UseViewInNextFrame(viewEntryName); - TimeSpanAwaitingToken fpsCountingToken = fpsCountProvider.ParticipantSpanAwaiting(1); - fpsCountingToken.TimeSpanRefreshed += CountFps; - fpsCountingToken.MissTimeSpanRefreshed += CountFps; + fpsCountProvider.TimeSpanRefreshed += CountFps; + fpsCountProvider.MissTimeSpanRefreshed += CountFps; if (_nextView != _currentView) { _ = Interlocked.Exchange(ref _currentView, _nextView); } @@ -78,24 +77,19 @@ namespace StgSharp.MVVM.ViewModel }); renderThread.Start(); /**/ - using (TimeSpanAwaitingToken eventAwaitingToken = frameTimeProvider.ParticipantSpanAwaiting( - 1)) + while (_closed) { - while (_closed) - { - if (_nextView != _currentView) { - _ = Interlocked.Exchange(ref _currentView, _nextView); - } - GraphicFramework.glfwPollEvents(); - eventAwaitingToken.WaitNextSpan(); - _closed = !ShouldClose; + if (_nextView != _currentView) { + _ = Interlocked.Exchange(ref _currentView, _nextView); } + GraphicFramework.glfwPollEvents(); + frameTimeProvider.WaitNextSpan(); + _closed = !ShouldClose; } /**/ renderThread.Join(); - fpsCountingToken.Dispose(); - fpsCountProvider.StopSpanProviding(); - frameTimeProvider.StopSpanProviding(); + fpsCountProvider.Dispose(); + frameTimeProvider.Dispose(); } protected void UseViewInNextFrame(string name) @@ -124,19 +118,15 @@ namespace StgSharp.MVVM.ViewModel private void ProcessFrameWithoutEvent() { - using (TimeSpanAwaitingToken renderAwaitingToken = frameTimeProvider.ParticipantSpanAwaiting( - 1)) + frameTimeProvider.TimeSpanRefreshed += (_, _) => { }; + while (_closed) { - renderAwaitingToken.TimeSpanRefreshed += (_, _) => { }; - while (_closed) - { - foreach (ViewPort context in CurrentView.Render) { - context.FlushSize(); - } - CurrentView.Use(); - renderAwaitingToken.WaitNextSpan(); - Interlocked.Add(ref _frameCount, 1); + foreach (ViewPort context in CurrentView.Render) { + context.FlushSize(); } + CurrentView.Use(); + frameTimeProvider.WaitNextSpan(); + Interlocked.Add(ref _frameCount, 1); } } diff --git a/StgSharp.Common/MVVM/ViewModel/ViewModel.cs b/StgSharp.Common/MVVM/ViewModel/ViewModel.cs index a31a3faa..6a95d121 100644 --- a/StgSharp.Common/MVVM/ViewModel/ViewModel.cs +++ b/StgSharp.Common/MVVM/ViewModel/ViewModel.cs @@ -25,6 +25,7 @@ // // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- +using StgSharp.Common.Timing; using StgSharp.Controlling.UsrActivity; using StgSharp.Graphics; using StgSharp.Graphics.OpenGL; @@ -65,24 +66,23 @@ namespace StgSharp.MVVM.ViewModel { viewPortDisplay = new ViewPort(); allView = []; - fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); + fpsCountProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, 1.0 / frameSpeed), TimeSpanProvider.DefaultProvider); _frameSpeed = 0; _frameCount = 0; long frameLength = (FrameSpeed > 0) ? (1000L * 1000L / FrameSpeed) : 0; - frameTimeProvider = new TimeSpanProvider(frameLength, TimeSpanProvider.DefaultProvider); + frameTimeProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, 1.0 / frameSpeed), TimeSpanProvider.DefaultProvider); SetFrameSizeCallback(DefaultFrameResizeCallback); } - protected ViewModelBase(float frameLength) + protected ViewModelBase(double frameLength) { viewPortDisplay = new ViewPort(); allView = []; - fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); + fpsCountProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, frameLength), TimeSpanProvider.DefaultProvider); _frameSpeed = 0; _frameCount = 0; long _frameLength = (FrameSpeed > 0) ? ((long)(1000 * frameLength)) : 0; - frameTimeProvider = new TimeSpanProvider(_frameLength, - TimeSpanProvider.DefaultProvider); + frameTimeProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, frameLength), TimeSpanProvider.DefaultProvider); SetFrameSizeCallback(DefaultFrameResizeCallback); } @@ -90,24 +90,23 @@ namespace StgSharp.MVVM.ViewModel { viewPortDisplay = vBinding; allView = []; - fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); + fpsCountProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, 1.0), TimeSpanProvider.DefaultProvider); _frameSpeed = 0; _frameCount = 0; long frameLength = (frameSpeed > 0) ? (1000L * 1000L / frameSpeed) : 0; - frameTimeProvider = new TimeSpanProvider(frameLength, TimeSpanProvider.DefaultProvider); + frameTimeProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, 1.0 / frameSpeed), TimeSpanProvider.DefaultProvider); SetFrameSizeCallback(DefaultFrameResizeCallback); } - public ViewModelBase(ViewPort vBinding, float frameLength) + public ViewModelBase(ViewPort vBinding, double frameLength) { viewPortDisplay = vBinding; allView = []; - fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); + fpsCountProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, 1.0), TimeSpanProvider.DefaultProvider); _frameSpeed = 0; _frameCount = 0; - long _frameLength = (frameLength > 0) ? ((long)(1000 * frameLength)) : 0; - frameTimeProvider = new TimeSpanProvider(_frameLength, - TimeSpanProvider.DefaultProvider); + long _frameLength = (FrameSpeed > 0) ? ((long)(1000 * frameLength)) : 0; + frameTimeProvider = new TimeSpanProvider(TimeSequence.CreateLinear(double.MaxValue, frameLength), TimeSpanProvider.DefaultProvider); SetFrameSizeCallback(DefaultFrameResizeCallback); } @@ -193,9 +192,8 @@ namespace StgSharp.MVVM.ViewModel public void SetSizeLimit(Vec2 minSize, Vec2 maxSize) { ThreadHelper.MainThreadAssert(); - GraphicFramework.glfwSetWindowSizeLimits( - this.viewPortDisplay.ViewPortHandle, (int)minSize.X, (int)minSize.Y, (int)maxSize.X, - (int)maxSize.Y); + GraphicFramework.glfwSetWindowSizeLimits(this.viewPortDisplay.ViewPortHandle, (int)minSize.X, + (int)minSize.Y, (int)maxSize.X, (int)maxSize.Y); } /// @@ -217,8 +215,8 @@ namespace StgSharp.MVVM.ViewModel public void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight) { ThreadHelper.MainThreadAssert(); - GraphicFramework.glfwSetWindowSizeLimits( - this.viewPortDisplay.ViewPortHandle, minWidth, minHeight, maxWidth, maxHeight); + GraphicFramework.glfwSetWindowSizeLimits(this.viewPortDisplay.ViewPortHandle, minWidth, minHeight, maxWidth, + maxHeight); } public abstract bool TryGetObjectReference(string name, out DataBindingEntry entry); diff --git a/StgSharp.Common/StgSharp.Common.csproj b/StgSharp.Common/StgSharp.Common.csproj index ad5fdb7d..2d3616b8 100644 --- a/StgSharp.Common/StgSharp.Common.csproj +++ b/StgSharp.Common/StgSharp.Common.csproj @@ -84,6 +84,10 @@ + + + + diff --git a/StgSharp.Common/StgSharp.Common.deps.json b/StgSharp.Common/StgSharp.Common.deps.json new file mode 100644 index 00000000..2f525abd --- /dev/null +++ b/StgSharp.Common/StgSharp.Common.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "StgSharp.Common/1.0.0": { + "runtime": { + "StgSharp.Common.dll": {} + } + } + } + }, + "libraries": { + "StgSharp.Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/StgSharp.Common/StgSharp.Common.dll b/StgSharp.Common/StgSharp.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..9eaa85f72e9d35b398fe9097d0d2a38d6dbf3757 GIT binary patch literal 778240 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 Qu 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 z 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

!k>px+ihgX(=;W(rhkv1=#|(VogUa)TSvURt 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 Iy(|d+FX<|LZU6uP literal 0 HcmV?d00001 diff --git a/StgSharp.Common/StgSharp.Common.xml b/StgSharp.Common/StgSharp.Common.xml new file mode 100644 index 00000000..82744fdb --- /dev/null +++ b/StgSharp.Common/StgSharp.Common.xml @@ -0,0 +1,1249 @@ + + + + StgSharp.Common + + + +

+ Lock-free, fixed-capacity stack implemented on top of an array using atomic index + operations. - No linked list; only array slots - Uses CAS on a shared top index to + reserve/release slots - Per-slot state flag to safely publish/consume values under races + + + + + Best-effort snapshot for enumeration; not strongly consistent under concurrent + mutations. + + + + + Determines whether the contains the + specified key. + + + The value to locate in the . + + + true if the contains an element with + the specified key; otherwise, false. + + + + + Determines whether the contains the + specified key. + + + The value to locate in the . + + + true if the contains an element with + the specified key; otherwise, false. + + + + + Cache hash result for obj with counts. + + + + + + + + + + + Part of a collection. This contains a direct reference to _origin collection, so all + change to _origin collection will be reflected in this object. + + + + + + + + Initializes a new instance of the RandomAccessStack class that is empty and has the + default initial capacity. + + + + + Initializes a new instance of the RandomAccessStack class that is empty and has the + specified initial capacity. + + + + + Gets or sets the element at the specified index in the stack (0 = bottom, Count-1 = + top). + + + + + Gets the number of elements contained in the stack. + + + + + Removes all objects from the stack. + + + + + Returns an enumerator that iterates through the stack from top to bottom. Throws if + the stack is modified during iteration. + + + + + Returns the object at the top of the stack without removing it. + + + + + Removes and returns the object at the top of the stack. + + + + + Adds an item to the top of the stack. + + + + + CustomizeInit an instance of OpenGL program, This method should be called before any + other World api. + + + + + Version of current World platform. Main version represent in hundred's digit, and sub + version represent in ten's digit. + + + + + Write a log message to log file, and mark the _level of this message. + + + A string contains information of how current evironment runs. + + + The severity of current message. + + + + + A class attempt to reduce cost of boxing, though still a bit slower than direct access to + _origin value type instance. + + + Type of instance to be boxed. + + + + + A class contains a sets of methods to serialize several types + + + + + An independent storage area, used as the only folder type in root folder. Contains several + files reference as virtual disc. Data is actually stored in s in certain RAID mode. + + + + + 当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常 + + + + + Plain geometry only contains straight sides. + + + + + Calculate movement to center + + + CurrentPipeline time tick + + + + + + + + A square + + + + + Get all uniform related to this . + + + Shader program requires this camera. + + + ContextName of all related uniforms. If you fallow form from + + + + + + + + A two dimension vector defined by two elements. Vec2 in World are default used as colum + vector. + + + + + Orthogonalize two s, let their length be 1 and perpendicular to + each other. + + + + + + + + + + + Length of the matrix in columns. + + + + + Length of the matrix in rows. + + + + + Reurns the value of ArcSin(x) + + + The sine value of the angle + + + + + + + + + + + Get the value of E ^ x; + + + + + + + + + + + + + + + + + Returns the value of ln(x). + + + + + calculate the value of x^y + + + + + + + + + Returns the value of x^y + + + + + returns a random float number between 0 and 1. + + + + + + + + + + + + + + + + Generates a random seed in int value. + + + + + + + + Interface of all kinds OpenGL BufferHandle objects + + + + + Get the only handle to one of the Object instance + + + + + + + + + + + Bind a BufferHandle instance to OpenGL + + + Index of handle of the object in this instance to be bind + + + + + + + + Function handler to load an opengl function by searching its _label. + + + the _label of the Opengl function + + + An Intptr value representing the pointer to the function + + + + + Hash code of time pixels updated last time. + + + + + A collection of a sets of OpenGL textures. The collection can automatically select one of + the texture with minimum costs to upgrade pixels to BufferHandle. Usually is used for loading, but not for + target of . + + + + + A collection of handle to Element BufferHandle Object in OpenglFunc. Each value indexed from instance of this class this is the only handle to + one Element BufferHandle Object. + + + + + Bind the frame BufferHandle object with _label frame BufferHandle to the frame + BufferHandle target specified by target. will + be set as default target. + + + Index of object to be binded in handle set + + + + + Bind the frame BufferHandle object with _label frame BufferHandle to the frame + BufferHandle target specified by target. Target of this frame BufferHandle should be + set manually. + + + The frame BufferHandle target of the binding operation. + + + Index of object to be binded in handle set + + + + + Load an to certain texture. + + + + + + + + + + + + + + + + Set _data to current vertex BufferHandle object + + + Type of bufferData + + + Index to find certain VBO in this instance + + + Data to write in + + + How OpenGL use these _data, defined by + + + + + Set _data to current vertex BufferHandle object + + + Type of bufferData + + + Index to find certain VBO in this instance + + + Data to write in + + + How OpenGL use these _data, defined by + + + + + Set _data to current vertex BufferHandle object + + + Type of bufferData + + + Index to find certain VBO in this instance + + + A of _data to write in + + + How OpenGL use these _data, defined by + + + + + Set data to current vertex BufferHandle object + + + Type of bufferData + + + Index to find certain VBO in this instance + + + A of data to write in + + + How OpenGL use these data, defined by + + + + + Set _data to current vertex BufferHandle object + + + Type of bufferData + + + Index to find certain VBO in this instance + + + A array of _data to write in + + + How OpenGL use these _data, defined by + + + + + Get the function pointer of given OpenGL api _label + + + ContextName of the OpenGL api + + + The funtion pointer of the api in stream of + + + + + Load all supported OpenGL APIs and bind them to given . + + + The handle to current OpenGL viewPortDisplay + + + + + + + Create a set of . + + + Amount of EBO to be created. + + + + + + + + Create a sets of + + + Amount of textures to be created. + + + + + + + + Create a set of . + + + Amount of VAO to be created. + + + + + + + + Create a set of . + + + Amount of Object to be created. + + + + + + + + Initialize an opengl context and load all opengl functions. + + + + + Initialize an OpenGl viewPortDisplay if current form has not been binded to any + viewPortDisplay. and set the viewPortDisplay binded to current form as current OpenGL + viewPortDisplay. + + + Something goes wrong and World fails in creating a new OpenGL viewPortDisplay. + + + + + + + + + + + Create an instance of program + + + New instance of instance. + + + + + OpenGL numeric type. An IEEE-754 floating-point value, clamped to the range [0,1]. + + + + + OpenGL numeric type. An IEEE-754 double precision floating-point value, clamped to the + range [0,1]. + + + + + Attach one shader code to a shader program. + + + Shader program to attach + + + Index of shader code in current shader code set. + + + + + CustomizeInit a program with no shader attached. + + + + + Get a uniform form current shader, the value type of the uniform should be provided. + + + ContextName of the Uniform in shader code + + + + + + + + Get a uniform form current shader, the value type of the uniform should be provided. + + + ContextName of the Uniform in shader code + + + + + + + + Get a uniform form current shader, the value type of the uniform should be provided. + + + ContextName of the Uniform in shader code + + + + + + + + Get a uniform form current shader, the value type of the uniform should be provided. + + + ContextName of the Uniform in shader code + + + + + + + + Link the shader to current viewPortDisplay. + + + + + Let the current viewPortDisplay use this shader. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the Size limit of current form + + + Minimum width of current form + + + Minimum height of current form + + + Maximum width of current form + + + Maximum height of current form + + + + + Get (TView is ) uniform from a shader. + This uniform will be used as projection matrix of this camera. Additionally, for + multi- shader rendering, each shader requires a uniform, so do not ignore return + value of this method. + + + Shader using this camera + + + ContextName of projection camera named in shader + + + (TView is ) representing projection + matrix in shader program. + + + + + Marking the start of current render operations, and set this renser context as + current. + + + + + Marking the end of current render operations, and release the binding of this renser + context to current, making it available for another thread as current. + + + + + Provide a lock for managing concurrent access to a buffer that can be expanded and use a + common two-pase-copy expanding mechanism. + + + + + An individual thread doing nothing, and its always returns false. + + + + + A single-consumer bell/signal primitive. + + + Producers can call multiple times to publish signals. The bell + keeps a pending count of not-yet-consumed signals. The consumer uses or to consume + signals. When a producer increments the pending count from 0 to 1, the + internal event is set to wake the consumer. Consuming via + or clears the entire pending count + (aggregate consumption). If new signals arrive while resetting, the event is set again to + avoid missed signals. Ownership: only the specified owner can call + the consumer APIs. + + + + + Initializes a new instance of . + + + The unique consumer identity; subsequent calls to Wait/TryWait must pass the same + reference. + + + Spin count passed to the underlying . + + + Thrown if is null. + + + + + Disposes the bell, sets the event to wake any waiting consumer, and releases + resources. + + + + + Publishes a signal by incrementing the not-yet-consumed count and returns the current + pending count. + + + If the pending count transitions from 0 to 1, the event is set to wake the consumer. + + + The current pending count including this call. + + + + + Attempts to consume any pending signals without blocking. + + + The consumer object; must be the same reference provided at construction. + + + true if a signal was available (pending or event set); otherwise false + . + + + Thrown if is not the owner. + + + + + Blocks until a signal is available, then consumes all pending signals. + + + The consumer object; must be the same reference provided at construction. + + + A token to cancel the wait. + + + Thrown if is not the owner. + + + + + A counting semaphore with adjustable maximum capacity at runtime. Implemented using one or + more ManualResetEventSlim (MRES) gates and atomic counters to avoid kernel semaphore + overhead while supporting high-frequency Release/Wait patterns. Notes: - This is a + counting primitive (not a barrier). Permits accumulate up to . - + Reducing does not revoke already issued permits; it only clamps + future releases. - Striped MRES can reduce contention in highly parallel waits. + + + + + + Current number of available permits. + + + + + Logical maximum number of permits. Can be changed at runtime. + + + + + Release a single permit if under . Returns the previous + count. + + + + + Release multiple permits (capped by ). Returns the previous + count. + + + + + Try to take a permit without blocking. Returns true if acquired. + + + + + Block until a permit is available, then consume one. + + + + + Block until a permit is available or canceled, then consume one. + + + + + Abstraction for a wide SIMD register or equivalent packed numeric storage. Provides raw + reference access, broadcast initialization and element level access. Typical + implementations map to 128/256/512-bit hardware registers or software emulated blocks. + + + + + Gets a reference to the first element of the register reinterpreted as type . + + + Unmanaged numeric element type implementing . + + + Writable reference to element 0 (lowest lane / lowest bits). + + + Intended for treating the register as a contiguous block of elements. The returned reference + must remain valid for the lifetime of the register and be identical to with index 0. Caller must choose a type layout compatible with the + actual register representation. + + + + + Fills all elements (lanes) of the register with the provided scalar . + + + Unmanaged numeric element type implementing . + + + Scalar value to replicate to every element. + + + Should map to a single broadcast/shuffle instruction where possible. After completion all + lanes read back the same value. + + + + + Gets a writable reference to the element at the specified . + + + Unmanaged numeric element type implementing . + + + Zero-based lane index (range defined by implementation). + + + Writable reference to the lane. + + + Enables scalar lane edits without unpacking the entire register. Implementations may omit + bounds checks for performance. Caller is responsible for passing a valid index. + + + + + Buffer for SSE targeted matrix panel, size of a panel is 4x4 elements, and no smaller than + 16 bytes. + + + Type of matrix element. + + + + + Buffer for AVX targeted matrix panel, size of a panel is 4x4 elements, and no smaller than + 16 bytes. + + + Type of matrix element. + + + + + Buffer for AVX512 targeted matrix panel, size of a panel is 4x4 elements, and no smaller + than 16 bytes. + + + Type of matrix element. + + + + + Try to allocate a new 16MB block when all buckets are empty + + + Output handle to the allocated Entry + + + True if allocation succeeded + + + + + Helper method for allocation - converts BucketNode to Entry + + + + + BucketNode structure - specialized node for bucket linked lists Stored in main + allocation area (user-overwritable region) + + + + + Free allocated memory block and perform adjacent block merging + + + Handle to the allocated memory block + + + + + Determine segment index based on size and originLevel + + + + + Check if two Entries are adjacent in memory + + + + + Used in Free operations, efficiently remove from buckets and merge adjacent blocks. + Current Entry will serve as the final merged block. The Merge will be in lazy + strategy, any fail in acquiring spin lock will end a merging process. + + + + + Remove node from position linked list + + + + + Entry structure - streamlined version (only position and state information) Stored in + external SLAB + + + + + Creates a new SLAB allocator instance with the specified configuration. + + + Initial number of objects that can be allocated. + + + Memory layout strategy for the SLAB allocator. + + + Whether to enable concurrent access support. + + + A new SLAB allocator instance. + + + Thrown when an invalid layout is specified. + + + Thrown when requesting unsupported configurations. + + + Important Threading Considerations: While SLAB + /// allocators themselves may be designed for single-threaded use, allocated objects + are /// frequently shared across multiple threads in real-world applications. Due to + the /// special implementation of expandable concurrent sequential SLAB allocators, + they rely /// on internal expansion locks to ensure that memory buffer expansions + (which involve /// copying the entire buffer to a new location) do not occur while + other threads are /// reading from allocated regions. + Sequential Layout Limitations: ///
Sequential layout SLAB + allocators cannot provide a single-threaded /// version because:They use contiguous memory /// layout that requires + buffer expansion when capacity is exceeded + ///Buffer expansion involves copying all /// + existing data to a new memory location /// + Without proper synchronization, concurrent access to allocated objects during /// + expansion would cause memory corruptionThe + /// expansion lock mechanism is essential even if allocation itself is single- /// + threaded
Chunked Layout: + ///
Chunked layout allocators can optionally provide single-threaded + /// versions since they don't require buffer expansion and copying. Each chunk is + /// allocated independently, avoiding the memory relocation issues present in + sequential /// layouts.
+
+
+ + + CustomizeInit this form and render it on screen, and respond with operation + + + + + Height of this form, represent in + + + + + Width of this form, represent in + + + + + Width of this form, represent in + + + + + Set the Size limit of current form + + + Minimum Size of current form. In form of a of (width,height) + + + Maximum Size of current form. In form of a of (width,height) + + + + + Set the Size limit of current form + + + Minimum width of current form + + + Minimum height of current form + + + Maximum width of current form + + + Maximum height of current form + + + + + ViewBase is the base type for all view types, providing context binding and control + element binding. A complete view should contain one complete , , and , which provide + layout descriptions of control elements, user responses, and rendering implementations in + the view. Data between instances of , , and is shared through . + + + + + Get the status of a certain key on the keyboard. + + + + + + representing if a key is pressed or released. + + + + + ViewDesigner provides descriptions of various controls in the view, binds the + controls to specific user actions and behaviors, and describes the layout and + interactions of each control. + + + + + + + + Reset pipeline has risk, this operation is a direct operation to port in current node, the + port on the other node cannot get the change. + + + + + Only the following occasions of calling are valid: 1. no bp is + running or the only bp is quitting. 2. calling from the main thread or a + thread the current bp is running on. + + + + + A sets of complex logic designed for running in multi threads environment. Warning: do not + run a instance in multi threads more than once. + + + + + TimeSpanProvider: uses a bound TimeSequence and TimeSourceProviderBase to publish span + ticks. Each OnSpanTick advances the sequence; when sequence ends provider unsubscribes. + + + + + True if there is at least one unconsumed span tick (PendingSpanCount > 0). + + + + + Number of span ticks not yet consumed by Wait ( > 0 means last tick not waited). + + + + + + + + Tick passed since binded time source. + + + True if the span provider is working. False if time is over (the sequence ended). + + + + + Efficient adaptive backoff strategy that dynamically selects optimal backoff methods based on + system load and success rate + + + + + Gets the currently used backoff method (for debugging/monitoring) + + + + + Gets the globally considered optimal backoff method + + + + + Creates a new adaptive backoff strategy instance + + + + + Gets global statistics for the specified strategy (for monitoring) + + + + + Called after CAS failure, performs backoff and may switch strategies + + + + + Called after CAS success, resets state + + + + + Evaluates and updates the global optimal strategy + + + + + Fast pseudo-random number generator (LCG) + + + + + Performs the actual backoff operation + + + + + Checks whether global strategy evaluation should be performed + + + + + Determines whether strategy should be switched + + + + + Switches to the currently considered optimal strategy + + + + diff --git a/StgSharp.Common/Threading/VariableCapacitySemaphore.cs b/StgSharp.Common/Threading/VariableCapacitySemaphore.cs new file mode 100644 index 00000000..fc90f51e --- /dev/null +++ b/StgSharp.Common/Threading/VariableCapacitySemaphore.cs @@ -0,0 +1,316 @@ +//----------------------------------------------------------------------- +// ----------------------------------------------------------------------- +// file="VariableCapacitySemaphore" +// Project: StgSharp.Common +// AuthorGroup: Nitload +// License: MIT +// ----------------------------------------------------------------------- +using System; +using System.Runtime.CompilerServices; +using System.Threading; + +namespace StgSharp.Threading +{ + /// + /// A counting semaphore with adjustable maximum capacity at runtime. Implemented using one or + /// more ManualResetEventSlim (MRES) gates and atomic counters to avoid kernel semaphore + /// overhead while supporting high-frequency Release/Wait patterns. Notes: - This is a + /// counting primitive (not a barrier). Permits accumulate up to . - + /// Reducing does not revoke already issued permits; it only clamps + /// future releases. - Striped MRES can reduce contention in highly parallel waits. + /// + public sealed class VariableCapacitySemaphore : IDisposable + { + + // MRES stripes (one gate per stripe). All stripes are set when transitioning 0 -> >0 and reset at >0 -> 0. + private readonly ManualResetEventSlim[] _events; + private volatile int _current; + private volatile int _max; + private readonly int _stripeMask; // for power-of-two stripe counts; otherwise -1 + + /// + /// Create a new variable-capacity semaphore. + /// + /// + /// Initial available permits (clamped to [0, maxPermits]). + /// + /// + /// Logical maximum permits (>= 1). + /// + /// + /// Optional stripe count for MRES (<= 0 to auto choose by CPU). + /// + public VariableCapacitySemaphore(int initialCount = 0, int maxPermits = 1, int stripes = 0) + { + ArgumentOutOfRangeException.ThrowIfLessThan(maxPermits, 1); + ArgumentOutOfRangeException.ThrowIfNegative(initialCount); + + _max = maxPermits; + _current = Math.Min(initialCount, maxPermits); + + int stripeCount = stripes > 0 ? stripes : ClampToPow2(Math.Min(Environment.ProcessorCount, 8)); + _events = new ManualResetEventSlim[stripeCount]; + bool set = _current > 0; + for (int i = 0; i < stripeCount; i++) { + _events[i] = new ManualResetEventSlim(set, 0); + } + + _stripeMask = IsPow2(stripeCount) ? (stripeCount - 1) : -1; + } + + /// + /// Current number of available permits. + /// + public int CurrentCount => Volatile.Read(ref _current); + + /// + /// Logical maximum number of permits. Can be changed at runtime. + /// + public int MaxPermits + { + get => Volatile.Read(ref _max); + set + { + ArgumentOutOfRangeException.ThrowIfLessThan(value, 1); + + Volatile.Write(ref _max, value); + + // Clamp current to not exceed the new max (do not block; let Wait() consume down). + while (true) + { + int cur = Volatile.Read(ref _current); + if (cur <= value) + { + break; + } + + if (Interlocked.CompareExchange(ref _current, value, cur) == cur) + { + break; + } + } + + // Reflect availability to gates + if (Volatile.Read(ref _current) > 0) + { + SetAll(); + } else + { + ResetAll(); + } + } + } + + public void Dispose() + { + foreach (ManualResetEventSlim e in _events) { + e.Dispose(); + } + } + + /// + /// Release a single permit if under . Returns the previous + /// count. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int Release() + { + while (true) + { + int cur = Volatile.Read(ref _current); + int max = Volatile.Read(ref _max); + if (cur >= max) { + return cur; + } + + if (Interlocked.CompareExchange(ref _current, cur + 1, cur) == cur) + { + if (cur == 0) { + SetAll(); + } + + return cur; + } + } + } + + /// + /// Release multiple permits (capped by ). Returns the previous + /// count. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int Release(int permits) + { + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(permits); + while (true) + { + int cur = Volatile.Read(ref _current); + int max = Volatile.Read(ref _max); + if (cur >= max) { + return cur; + } + + long target = (long)cur + permits; + if (target > max) { + target = max; + } + + if (Interlocked.CompareExchange(ref _current, (int)target, cur) == cur) + { + if (cur == 0) { + SetAll(); + } + + return cur; + } + } + } + + /// + /// Try to take a permit without blocking. Returns true if acquired. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public bool TryWait() + { + while (true) + { + int cur = Volatile.Read(ref _current); + if (cur == 0) { + return false; + } + + if (Interlocked.CompareExchange(ref _current, cur - 1, cur) == cur) + { + if (cur - 1 == 0) { + ResetAll(); + } + + return true; + } + } + } + + /// + /// Block until a permit is available, then consume one. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Wait() + { + ManualResetEventSlim gate = GetStripeEvent(); + SpinWait spinner = new SpinWait(); + while (true) + { + int cur = Volatile.Read(ref _current); + if (cur > 0 && Interlocked.CompareExchange(ref _current, cur - 1, cur) == cur) + { + if (cur - 1 == 0) { + ResetAll(); + } + + return; + } + if (!spinner.NextSpinWillYield) + { + spinner.SpinOnce(); + } else + { + gate.Wait(); + } + } + } + + /// + /// Block until a permit is available or canceled, then consume one. + /// + public bool Wait(int millisecondsTimeout, CancellationToken cancellationToken = default) + { + ManualResetEventSlim gate = GetStripeEvent(); + SpinWait spinner = new SpinWait(); + int start = Environment.TickCount; + int remaining = millisecondsTimeout; + while (true) + { + cancellationToken.ThrowIfCancellationRequested(); + int cur = Volatile.Read(ref _current); + if (cur > 0 && Interlocked.CompareExchange(ref _current, cur - 1, cur) == cur) + { + if (cur - 1 == 0) { + ResetAll(); + } + + return true; + } + if (!spinner.NextSpinWillYield) + { + spinner.SpinOnce(); + continue; + } + if (millisecondsTimeout < 0) + { + gate.Wait(cancellationToken); + continue; + } + if (remaining <= 0) { + return false; + } + + if (!gate.Wait(remaining, cancellationToken)) { + return false; + } + + remaining = millisecondsTimeout - (Environment.TickCount - start); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static int ClampToPow2(int x) + { + if (x < 1) { + x = 1; + } + + if (x > 8) { + x = 8; + } + + int p = 1; + while ((p << 1) <= x) { + p <<= 1; + } + + return p; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private ManualResetEventSlim GetStripeEvent() + { + int id = Environment.CurrentManagedThreadId & 0x7fffffff; + if (_stripeMask != -1) { + return _events[id & _stripeMask]; + } + + int idx = id % _events.Length; + return _events[idx]; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static bool IsPow2(int x) => (x & (x - 1)) == 0; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void ResetAll() + { + foreach (ManualResetEventSlim e in _events) { + e.Reset(); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void SetAll() + { + foreach (ManualResetEventSlim e in _events) { + e.Set(); + } + } + + } +} diff --git a/StgSharp.Common/Timing/TimeProvider.cs b/StgSharp.Common/Timing/StgSharpTime.cs similarity index 67% rename from StgSharp.Common/Timing/TimeProvider.cs rename to StgSharp.Common/Timing/StgSharpTime.cs index fe4d687b..f08f06fc 100644 --- a/StgSharp.Common/Timing/TimeProvider.cs +++ b/StgSharp.Common/Timing/StgSharpTime.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- // ----------------------------------------------------------------------- -// file="TimeProvider" +// file="StgSharpTime" // Project: StgSharp // AuthorGroup: Nitload // Copyright (c) Nitload. All rights reserved. @@ -27,12 +27,8 @@ // ----------------------------------------------------------------------- using StgSharp.Collections; using StgSharp.Timing; - using System; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; -using System.Runtime.CompilerServices; using System.Threading; namespace StgSharp @@ -40,9 +36,7 @@ namespace StgSharp public static partial class World { - internal static StgSharpTime mainTimeProvider = new StgSharpTime(); - - internal static TimeSourceProviderBase MainTimeProvider => mainTimeProvider; + public static TimeSourceProviderBase MainTimeProvider => StgSharpTime.OnlyInstance; } @@ -50,40 +44,30 @@ namespace StgSharp { private static readonly LinearBag _subscribers = new(); - private static long accuracy; private static readonly Stopwatch mainProvider = new(); private static Thread timeProvideThread; - internal StgSharpTime() { } + private StgSharpTime() { } - public static TimeSourceProviderBase OnlyInstance => World.MainTimeProvider; + // Use Stopwatch frequency as base tick frequency (ticks per second). + public override long Frequency => Stopwatch.Frequency; + + public static StgSharpTime OnlyInstance { get; } = new StgSharpTime(); + + public override long GetCurrentTimeSpanTick() => mainProvider.ElapsedTicks; public sealed override void StartProvidingTime() { if (mainProvider.IsRunning) { return; } - mainProvider.Start(); - // speed test - long totalMS, internalFrequency = Stopwatch.Frequency; - for (int i = 0; i < 100; i++) + mainProvider.Start(); + timeProvideThread = new Thread(ProvideTime) { - totalMS = mainProvider.ElapsedTicks / (internalFrequency / (1000L * 1000L)); - for (int t = 0; t < 10; t++) - { - if (totalMS < 1000) { - _subscribers.Add( - new TimeSpanProvider(100L, TimeSpanProvider.DefaultProvider)); - } - } - } - mainProvider.Stop(); - _subscribers.Clear(); - totalMS = mainProvider.ElapsedTicks / (internalFrequency / (1000L * 1000L)) / 100L; - accuracy = totalMS * 2 / 3; - mainProvider.Reset(); - timeProvideThread = new Thread(new ThreadStart(ProvideTime)); + IsBackground = true, + Name = "StgSharpTime" + }; timeProvideThread.Start(); } @@ -113,29 +97,36 @@ namespace StgSharp private void ProvideTime() { - long totalMS, internalFrequency = Stopwatch.Frequency; + long internalFrequency = Stopwatch.Frequency; // ticks per second lock (mainProvider) { mainProvider.Restart(); } + while (mainProvider.IsRunning) { - totalMS = mainProvider.ElapsedTicks / (internalFrequency / (1000L * 1000L)); + long elapsedTicks; + lock (mainProvider) { + elapsedTicks = mainProvider.ElapsedTicks; + } if (_subscribers.Count == 0) { + Thread.SpinWait(50); continue; } lock (SubscribeLock) { for (int i = 0; i < _subscribers.Count; i++) { - if (!_subscribers[i].CheckTime(totalMS)) + if (!_subscribers[i].OnSpanTick(elapsedTicks)) { _subscribers.RemoveAt(i); - DefaultLog.InternalWriteLog( - $"Time subscriber {_subscribers[i]} is to be removed.", LogType.Info); + i--; // adjust index after removal } } } + + // Optional: brief spin to avoid tight loop if frame lengths are large. + Thread.SpinWait(20); } } diff --git a/StgSharp.Common/Timing/TimeFunction.cs b/StgSharp.Common/Timing/TimeFunction.cs deleted file mode 100644 index b3dee2b8..00000000 --- a/StgSharp.Common/Timing/TimeFunction.cs +++ /dev/null @@ -1,143 +0,0 @@ -//----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -// file="TimeFunction" -// Project: StgSharp -// AuthorGroup: Nitload -// Copyright (c) Nitload. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// ----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - -namespace StgSharp.Timing -{ - public class TimeFunction - { - - private float _beginning, _ending; - private TimeSpanProvider _timeProvider; - - internal TimeFunction() { } - - public TimeFunction(TimeSpanProvider timeSpanProvider, Func timeRelatedCalculation, float range) - { - _timeProvider = timeSpanProvider; - TimeRelatedCalculation = timeRelatedCalculation; - if (timeSpanProvider == null) { - return; - } - _beginning = _timeProvider.CurrentSecond; - _ending = _timeProvider.CurrentSecond + range; - } - - public virtual bool IsComplete - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _timeProvider.CurrentSecond > _ending; - } - - public Func TimeRelatedCalculation { get; set; } - - public static TimeFunction One - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => new TimeFunctionOne(); - } - - public TimeSpanProvider TimeSpanProvider - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _timeProvider; - [MethodImpl(MethodImplOptions.AggressiveInlining)] - set => _timeProvider = value; - } - - public virtual float Calculate() - { - if (_timeProvider.CurrentSecond < _ending) { - return 0; - } - return TimeRelatedCalculation(_timeProvider.CurrentSecond - _beginning); - } - - public static TimeFunction Proportional(TimeSpanProvider time, float begin, float range) - { - return new TimeFunction(time, (float t) => t + begin, range); - } - - public virtual TimeFunction Renew((Func func, float range) funcPair) - { - return new TimeFunction(_timeProvider, funcPair.func, funcPair.range); - } - - public virtual TimeFunction Renew(Func func, float range) - { - return new TimeFunction(_timeProvider, func, range); - } - - public virtual void Reset() - { - float range = _ending - _beginning; - _beginning = _timeProvider.CurrentSecond; - _ending = _beginning + range; - } - - public virtual TimeFunction Reverse() - { - float range = _ending - _beginning; - return new TimeFunction( - _timeProvider, p => TimeRelatedCalculation(range - p), range); - } - - } - - public sealed class TimeFunctionOne : TimeFunction - { - - internal TimeFunctionOne() : base() { } - - public override bool IsComplete => true; - - public override float Calculate() - { - return 1; - } - - public override TimeFunction Renew((Func func, float range) funcPair) - { - throw new NotSupportedException(); - } - - public override TimeFunction Renew(Func func, float range) - { - throw new NotSupportedException(); - } - - #pragma warning disable CA1822 - public override void Reset() - { - } - #pragma warning restore CA1822 - } -} diff --git a/StgSharp.Common/Timing/TimeSequence.cs b/StgSharp.Common/Timing/TimeSequence.cs index 0e321d87..fba82b03 100644 --- a/StgSharp.Common/Timing/TimeSequence.cs +++ b/StgSharp.Common/Timing/TimeSequence.cs @@ -25,69 +25,193 @@ // // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- -using StgSharp.Mathematics; +using StgSharp.Timing; using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Text; -using System.Threading.Tasks; namespace StgSharp.Common.Timing { public abstract class TimeSequence { - public ulong BeginningTick { get; protected set; } + public long BeginningTick { get; protected set; } - public ulong EndingTick { get; protected set; } + public long EndingTick { get; protected set; } - public ulong FrameLength { get; protected set; } + public long PreviousFrameTick { get; protected set; } - public static TimeSequence CreateLinear(ulong timeout, ulong length) - { - return new LinearTimeSequence(timeout, timeout + length, length); - } + public static TimeSequence CreateLinear(double totalSeconds, double frameSeconds) => new LinearTimeSequence(totalSeconds, frameSeconds); - public abstract bool IsNextFrameReady(ulong currentTick); + public static TimeSequence CreateLogarithmic( + double initialSliceSeconds, + double totalSeconds, + double growthMultiplier, + double minSliceSeconds) => new LogTimeSequence(initialSliceSeconds, totalSeconds, + growthMultiplier, minSliceSeconds); - } + public abstract bool EndsAt(long currentTick); - internal sealed class LogTimeSequence : TimeSequence - { + public abstract bool IsNextFrameReady(long currentTick); - private float _rate ; - - public LogTimeSequence(ulong beginningTick, ulong endingTick, ulong tickPerDecade) - { - BeginningTick = beginningTick; - EndingTick = endingTick; - _rate = Scalar.Pow(10, 1 / tickPerDecade); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public override bool IsNextFrameReady(ulong currentTick) - { - return (ulong)Math.Log(currentTick - BeginningTick + 1) >= FrameLength; - } + public abstract void StartFrom(TimeSourceProviderBase source); } internal sealed class LinearTimeSequence : TimeSequence { - public LinearTimeSequence(ulong beginningTick, ulong endingTick, ulong tickPerFrame) + private readonly double _frameSeconds; + private readonly double _totalSeconds; + private long _frameLengthTicks; + + public LinearTimeSequence(double totalSeconds, double frameSeconds) { - BeginningTick = beginningTick; - EndingTick = endingTick; - FrameLength = tickPerFrame; + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(totalSeconds); + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(frameSeconds); + if (frameSeconds > totalSeconds) { + throw new ArgumentException("Frame length greater than total length."); + } + + _totalSeconds = totalSeconds; + _frameSeconds = frameSeconds; } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public override bool IsNextFrameReady(ulong currentTick) + public override bool EndsAt(long currentTick) => currentTick >= EndingTick; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override bool IsNextFrameReady(long currentTick) { - return currentTick - BeginningTick >= FrameLength; + long span = currentTick - PreviousFrameTick; + if (span >= _frameLengthTicks && currentTick < EndingTick) + { + PreviousFrameTick += _frameLengthTicks; // advance start of next frame + return true; + } + return false; + } + + public override void StartFrom(TimeSourceProviderBase source) + { + long f = source?.Frequency ?? throw new ArgumentNullException(nameof(source)); + _frameLengthTicks = (long)Math.Max(1, _frameSeconds * f); + long totalTicks = (long)Math.Max(_frameLengthTicks, Math.Round(_totalSeconds * f, MidpointRounding.AwayFromZero)); + BeginningTick = source.GetCurrentTimeSpanTick(); + EndingTick = BeginningTick + totalTicks; + EndingTick = EndingTick < 0 ? long.MaxValue : EndingTick; + PreviousFrameTick = BeginningTick; } } + + /// + /// Logarithmic time sequence with growth factor. Boundaries (cumulative times since start) + /// follow initial * multiplier^k, but each slice duration (difference between adjusted + /// boundaries) is at least minSliceSeconds. First slice uses the exact initial length even if + /// below minSliceSeconds, subsequent slices enforce minimum. Example: initial=2, + /// multiplier=2, total>=8, min=3 => boundaries: 2,5,8 (durations:2,3,3). + /// + internal sealed class LogTimeSequence : TimeSequence + { + + private readonly double _initialSeconds; + private double _lastBoundarySecondsAdjusted; // adjusted cumulative seconds of last emitted boundary (0 at start) + private readonly double _minSliceSeconds; + private readonly double _multiplier; + private double _nextBoundarySecondsAdjusted; // adjusted cumulative seconds for next boundary + private readonly double _totalSeconds; + + private int _sliceIndex; // index of next boundary (0 => first boundary at initialSeconds) + private long _freq; + private long _nextBoundaryTick; // absolute tick for next boundary + private long _totalTicks; + + public LogTimeSequence( + double initialSliceSeconds, + double totalSeconds, + double growthMultiplier, + double minSliceSeconds) + { + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(initialSliceSeconds); + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(totalSeconds); + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(growthMultiplier); + ArgumentOutOfRangeException.ThrowIfNegativeOrZero(minSliceSeconds); + if (growthMultiplier < 1.0) { + throw new ArgumentException("growthMultiplier must be >= 1"); + } + + if (initialSliceSeconds > totalSeconds) { + throw new ArgumentException("Initial slice length greater than total length."); + } + + _initialSeconds = initialSliceSeconds; + _totalSeconds = totalSeconds; + _multiplier = growthMultiplier; + _minSliceSeconds = minSliceSeconds; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override bool EndsAt(long currentTick) => currentTick >= EndingTick || + _nextBoundarySecondsAdjusted >= _totalSeconds; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override bool IsNextFrameReady(long currentTick) + { + if (currentTick < _nextBoundaryTick || currentTick >= EndingTick) { + return false; + } + + // Emit frame: update previous frame tick and prepare next boundary. + PreviousFrameTick = _nextBoundaryTick; // boundary just reached + _lastBoundarySecondsAdjusted = _nextBoundarySecondsAdjusted; + _sliceIndex++; + + // Compute original (unadjusted) next cumulative boundary in seconds. + double originalNext = _initialSeconds * Math.Pow(_multiplier, _sliceIndex); + + // Enforce total cap. + if (originalNext > _totalSeconds) + { + originalNext = _totalSeconds; + } + + // Compute slice duration based on adjusted previous boundary. + double delta = originalNext - _lastBoundarySecondsAdjusted; + if (_sliceIndex > 0 && delta < _minSliceSeconds) + { + // Enforce minimum (except for first slice which uses initial value) + originalNext = _lastBoundarySecondsAdjusted + _minSliceSeconds; + if (originalNext > _totalSeconds) { + originalNext = _totalSeconds; + } + } + _nextBoundarySecondsAdjusted = originalNext; + + if (_nextBoundarySecondsAdjusted >= _totalSeconds) + { + _nextBoundaryTick = EndingTick; // sequence will end after this boundary + } else + { + _nextBoundaryTick = BeginningTick + SecondsToTicks(_nextBoundarySecondsAdjusted); + } + return true; + } + + public override void StartFrom(TimeSourceProviderBase source) + { + _freq = source?.Frequency ?? throw new ArgumentNullException(nameof(source)); + BeginningTick = source.GetCurrentTimeSpanTick(); + _totalTicks = SecondsToTicks(_totalSeconds); + EndingTick = BeginningTick + _totalTicks; + _sliceIndex = 0; + _lastBoundarySecondsAdjusted = 0.0; + _nextBoundarySecondsAdjusted = _initialSeconds; // first boundary uses exact initial length + _nextBoundaryTick = BeginningTick + SecondsToTicks(_nextBoundarySecondsAdjusted); + PreviousFrameTick = BeginningTick; // start point + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private long SecondsToTicks(double seconds) => (long)Math.Max(1L, Math.Round(seconds * _freq, MidpointRounding.AwayFromZero)); + + } } diff --git a/StgSharp.Common/Timing/TimeSourceProvider.cs b/StgSharp.Common/Timing/TimeSourceProvider.cs index 5d6f98d3..d07c2fdc 100644 --- a/StgSharp.Common/Timing/TimeSourceProvider.cs +++ b/StgSharp.Common/Timing/TimeSourceProvider.cs @@ -36,6 +36,8 @@ namespace StgSharp.Timing public abstract class TimeSourceProviderBase { + public abstract long Frequency { get; } + protected object SubscribeLock { get; } = new(); public void AddSubscriber(TimeSpanProvider subscriber) @@ -45,6 +47,8 @@ namespace StgSharp.Timing } } + public abstract long GetCurrentTimeSpanTick(); + public void RemoveSubscriber(TimeSpanProvider subscriber) { lock (SubscribeLock) { diff --git a/StgSharp.Common/Timing/TimeSpanAwaitingToken.cs b/StgSharp.Common/Timing/TimeSpanAwaitingToken.cs deleted file mode 100644 index 5fe50834..00000000 --- a/StgSharp.Common/Timing/TimeSpanAwaitingToken.cs +++ /dev/null @@ -1,147 +0,0 @@ -//----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -// file="TimeSpanAwaitingToken" -// Project: StgSharp -// AuthorGroup: Nitload -// Copyright (c) Nitload. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// ----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -using StgSharp.HighPerformance.Memory; - -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Diagnostics.Contracts; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace StgSharp.Timing -{ - public sealed class TimeSpanAwaitingToken : IDisposable - { - - private static readonly ConcurrentBufferStack s_unusedID = new(1); - - private static int s_maxID; - - private EventHandler? _refreshHandler,_missHandler; - private int _size, _id; - - private readonly object _participantObject = new(); - private SemaphoreSlim _awaitingSemaphore; - - private TimeSpanProvider _provider; - - internal TimeSpanAwaitingToken(TimeSpanProvider provider) - { - if (!s_unusedID.TryPop(out int id)) { - id = Interlocked.Increment(ref s_maxID); - } - TokenID = id; - _provider = provider; - _size = 1; - _awaitingSemaphore = new SemaphoreSlim(0, 1); - } - - internal TimeSpanAwaitingToken(TimeSpanProvider provider, int count) - { - if (!s_unusedID.TryPop(out int id)) { - id = Interlocked.Increment(ref s_maxID); - } - _provider = provider; - _size = count; - _awaitingSemaphore = new SemaphoreSlim(0, _size); - } - - public event EventHandler MissTimeSpanRefreshed - { - add => _missHandler += value; - remove => _missHandler -= value; - } - - public event EventHandler TimeSpanRefreshed - { - add => _refreshHandler += value; - remove => _refreshHandler -= value; - } - - public int TokenID - { - get => _id; - private set => _id = value; - } - - internal SemaphoreSlim AwaitingSemaphoreSlim - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _awaitingSemaphore; - } - - public void Dispose() - { - _provider.QuitSpanAwaiting(this); - s_unusedID.Push(TokenID); - _awaitingSemaphore.Dispose(); - GC.SuppressFinalize(this); - } - - public override int GetHashCode() - { - return _id; - } - - public void Participant() - { - lock (_participantObject) - { - _size++; - SemaphoreSlim newSemaphore = new(_awaitingSemaphore.CurrentCount, _size); - Interlocked.Exchange(ref _awaitingSemaphore, newSemaphore).Dispose(); - } - } - - public void WaitNextSpan() - { - _awaitingSemaphore.Wait(); - } - - internal void MissRefresh() - { - _missHandler?.Invoke(this, EventArgs.Empty); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal void Refresh() - { - _refreshHandler?.Invoke(this, EventArgs.Empty); - } - - ~TimeSpanAwaitingToken() - { - Dispose(); - } - - } -} diff --git a/StgSharp.Common/Timing/TimeSpanProvider.Awaiting.cs b/StgSharp.Common/Timing/TimeSpanProvider.Awaiting.cs new file mode 100644 index 00000000..1763ddd1 --- /dev/null +++ b/StgSharp.Common/Timing/TimeSpanProvider.Awaiting.cs @@ -0,0 +1,198 @@ +//----------------------------------------------------------------------- +// ----------------------------------------------------------------------- +// file="TimeSpanProvider.Awaiting" +// Project: StgSharp +// AuthorGroup: Nitload +// Copyright (c) Nitload. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- +using StgSharp.HighPerformance.Memory; + +using System; +using System.Collections.Concurrent; +using System.Runtime.CompilerServices; +using System.Threading; +using System.Threading.Tasks; + +namespace StgSharp.Timing +{ + public partial class TimeSpanProvider + { + + private static readonly ConcurrentBufferStack s_unusedID = new ConcurrentBufferStack(8); + + private static int s_maxID; + + private EventHandler? _refreshHandler, _missHandler; + private int _pendingSpans; // Number of unconsumed span ticks since last Wait. + private int _size, _id; + + private readonly ManualResetEventSlim _event = new(); + private readonly object _participantObject = new(); + + public event EventHandler MissTimeSpanRefreshed + { + add => _missHandler += value; + remove => _missHandler -= value; + } + + public event EventHandler TimeSpanRefreshed + { + add => _refreshHandler += value; + remove => _refreshHandler -= value; + } + + /// + /// True if there is at least one unconsumed span tick (PendingSpanCount > 0). + /// + public bool HasPendingSpan => PendingSpanCount > 0; + + public int TokenID + { + get => _id; + private set => _id = value; + } + + /// + /// Number of span ticks not yet consumed by Wait ( > 0 means last tick not waited). + /// + public int PendingSpanCount => Volatile.Read(ref _pendingSpans); + + internal ManualResetEventSlim AwaitingEvent + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => _event; + } + + public void Dispose() + { + s_unusedID.Push(TokenID); + _event.Dispose(); + GC.SuppressFinalize(this); + } + + public override int GetHashCode() => _id; + + public void Participant() + { + lock (_participantObject) + { + // Increase the maximum concurrent consumers for the next tick. + _size++; + } + } + + public void WaitNextSpan() + { + _event.Wait(); + + // Consume one span slot (clamp at 0 so multiple subscribers won't make it negative). + while (true) + { + int cur = Volatile.Read(ref _pendingSpans); + if (cur == 0) { + return; + } + + if (Interlocked.CompareExchange(ref _pendingSpans, cur - 1, cur) == cur) + { + if (cur - 1 == 0) + { + // Last consumer resets the gate for the next tick. + _event.Reset(); + } + return; + } + } + } + + public async Task WaitNextSpanAsync() + { + await Task.Run(() => _event.Wait()).ConfigureAwait(false); + while (true) + { + int cur = Volatile.Read(ref _pendingSpans); + if (cur == 0) + { + break; + } + + if (Interlocked.CompareExchange(ref _pendingSpans, cur - 1, cur) == cur) + { + if (cur - 1 == 0) { + _event.Reset(); + } + + break; + } + } + } + + internal void MissRefresh() => _missHandler?.Invoke(this, EventArgs.Empty); // Legacy compatibility. + + /// + /// + /// + /// + /// Tick passed since binded time source. + /// + /// + /// True if the span provider is working. False if time is over (the sequence ended). + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal bool OnSpanTick(long currentTick) + { + if (_sequence.EndsAt(currentTick)) + { + Dispose(); + return false; + } + if (!_sequence.IsNextFrameReady(currentTick)) { + return true; + } + Console.WriteLine("Frame hit!"); + + // Fast path: if no pending consumers, initialize the counter to current capacity (_size). + if (Volatile.Read(ref _pendingSpans) == 0) + { + int toIssue = Math.Max(1, Volatile.Read(ref _size)); + if (Interlocked.CompareExchange(ref _pendingSpans, toIssue, 0) == 0) + { + // Open the gate for all current waiters (up to `_size`). + _event.Set(); + _refreshHandler?.Invoke(this, EventArgs.Empty); + } + } else + { + // A tick is already pending (or was just set by another thread): mark as miss. + _missHandler?.Invoke(this, EventArgs.Empty); + } + return true; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal void Refresh() => _refreshHandler?.Invoke(this, EventArgs.Empty); // Legacy compatibility. + + ~TimeSpanProvider() => Dispose(); + + } +} diff --git a/StgSharp.Common/Timing/TimeSpanProvider.cs b/StgSharp.Common/Timing/TimeSpanProvider.cs index 947dc4c2..adc5cdc1 100644 --- a/StgSharp.Common/Timing/TimeSpanProvider.cs +++ b/StgSharp.Common/Timing/TimeSpanProvider.cs @@ -25,207 +25,53 @@ // // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- +using StgSharp.Common.Timing; using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.Linq; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading; namespace StgSharp.Timing { /// - /// A microsecond-accuracy timer. It will refresh every a certain time span. + /// TimeSpanProvider: uses a bound TimeSequence and TimeSourceProviderBase to publish span + /// ticks. Each OnSpanTick advances the sequence; when sequence ends provider unsubscribes. /// - public class TimeSpanProvider + public partial class TimeSpanProvider { private bool _subscribed; - - private readonly ConcurrentQueue _tokenToAdd = new(); - private readonly ConcurrentQueue _tokenToQuit; - private Counter timeSpanCount = new(-1, 1, 1); - private readonly HashSet _awaitingTokens; - private long _maxSpanCount; - private long _spanBegin; - private readonly long _spanLength; + private int _emittedSpanCount; // legacy counter + private readonly TimeSequence _sequence; private readonly TimeSourceProviderBase _timeSource; - /// - /// Create a new and define the length of time span. - /// Length of a single time span is defined in microseconds. - /// - /// - /// - /// - /// - /// - /// - public TimeSpanProvider(long spanMicroSeconds, TimeSourceProviderBase provider) + public TimeSpanProvider(TimeSequence sequence, TimeSourceProviderBase provider, int maxWaitCount = 1) { ArgumentNullException.ThrowIfNull(provider); + ArgumentNullException.ThrowIfNull(sequence); _timeSource = provider; - _spanLength = spanMicroSeconds; - _maxSpanCount = int.MaxValue; + _sequence = sequence; + _sequence.StartFrom(provider); provider.AddSubscriber(this); _subscribed = true; - _awaitingTokens = []; - _tokenToQuit = new ConcurrentQueue(); - } - - /// - /// Create a new and define the length of time span. - /// Length of a single time span is defined in seconds. - /// - /// - /// - /// - /// - /// - /// - public TimeSpanProvider(double spanSeconds, TimeSourceProviderBase provider) - { - ArgumentNullException.ThrowIfNull(provider); - _timeSource = provider; - _spanLength = (long)(spanSeconds * 1000L * 1000L); - _spanBegin = -_spanLength; - _maxSpanCount = long.MaxValue; - provider.AddSubscriber(this); - _subscribed = true; - _awaitingTokens = []; - _tokenToQuit = new ConcurrentQueue(); - } - - /// - /// Create a new and define the length of time span. - /// Length of a single time span is defined in microseconds. - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - public TimeSpanProvider(long spanLength, long maxSpan, TimeSourceProviderBase provider) - { - ArgumentNullException.ThrowIfNull(provider); - if (maxSpan <= 0) { - throw new ArgumentException("Sapn count cannot be smaller than zero"); + if (!s_unusedID.TryPop(out int id)) { + id = Interlocked.Increment(ref s_maxID); } - _timeSource = provider; - _spanLength = spanLength; - _spanBegin = -_spanLength; - provider.AddSubscriber(this); - _subscribed = true; - _awaitingTokens = new HashSet(); - _tokenToQuit = new ConcurrentQueue(); + TokenID = id; + _size = maxWaitCount > 0 ? maxWaitCount : 1; + _event = new ManualResetEventSlim(initialState:false, spinCount:0); + _pendingSpans = 0; } - public double SpanLength + public double CurrentSecond { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _spanLength * 1.0 / (1000L * 1000L); + get => (double)_sequence.PreviousFrameTick / _timeSource.Frequency; } - public float CurrentSecond - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => timeSpanCount.Value * SpanLengthLowPrecession; - } + public int CurrentSpan => _emittedSpanCount; - public float SpanLengthLowPrecession - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => _spanLength * 1.0f / (1000 * 1000); - } + public static TimeSourceProviderBase DefaultProvider => World.MainTimeProvider; - public int CurrentSpan - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => timeSpanCount.Value; - } - - /// - /// Time source provider provided in internal framework. - /// - public static TimeSourceProviderBase DefaultProvider => StgSharpTime.OnlyInstance; - - public TimeSpanAwaitingToken ParticipantSpanAwaiting(int count) - { - TimeSpanAwaitingToken token = new(this, count); - _tokenToAdd.Enqueue(token); - return token; - } - - public void QuitSpanAwaiting(TimeSpanAwaitingToken token) - { - _tokenToQuit.Enqueue(token); - } - - public void StopSpanProviding() - { - _ = Interlocked.Exchange(ref _maxSpanCount, 0); - } - - public void SubscribeToTimeSource(TimeSourceProviderBase serviceHandler) - { - ArgumentNullException.ThrowIfNull(serviceHandler); - if (_subscribed) { - return; - } - _subscribed = true; - serviceHandler.AddSubscriber(this); - } - - public int ToInt32() - { - return timeSpanCount.Value; - } - - internal bool CheckTime(long microseconds) - { - if (microseconds - _spanBegin < _spanLength) { - return true; - } - foreach (TimeSpanAwaitingToken tokenAdd in _tokenToAdd) { - _ = _awaitingTokens.Add(tokenAdd); - } - _tokenToAdd.Clear(); - foreach (TimeSpanAwaitingToken tokenQuit in _tokenToQuit) - { - _ = _awaitingTokens.Remove(tokenQuit); - DefaultLog.InternalWriteLog( - $"Awaiting token {tokenQuit!.TokenID} has been removed.", LogType.Info); - } - _tokenToQuit.Clear(); - - _spanBegin = microseconds; - timeSpanCount++; - - foreach (TimeSpanAwaitingToken item in _awaitingTokens) - { - if (item.AwaitingSemaphoreSlim.CurrentCount == 0) - { - _ = item.AwaitingSemaphoreSlim.Release(); - item.Refresh(); - } else - { - item.MissRefresh(); - } - } - - return timeSpanCount < _maxSpanCount; - } - - public static explicit operator int([NotNull]TimeSpanProvider provider) - { - return provider.ToInt32(); - } + public static explicit operator int(TimeSpanProvider provider) => provider?._emittedSpanCount ?? 0; } } \ No newline at end of file diff --git a/StgSharp.Mathematics/Numeric/MatrixParallel.Publish.cs b/StgSharp.Mathematics/Numeric/MatrixParallel.Publish.cs index 5e50c3f1..37acd586 100644 --- a/StgSharp.Mathematics/Numeric/MatrixParallel.Publish.cs +++ b/StgSharp.Mathematics/Numeric/MatrixParallel.Publish.cs @@ -44,13 +44,28 @@ namespace StgSharp.Mathematics.Numeric [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static unsafe MatrixParallelHandle ScheduleTask(MatrixParallelTaskPackage* package) - where T : unmanaged + where T : unmanaged,INumber { MatrixParallelTaskPackageNonGeneric* nonGeneric = (MatrixParallelTaskPackageNonGeneric*)package; - return ScheduleTask(nonGeneric); + switch (nonGeneric->ComputeMode.OperationStyle) + { + case MatrixOperationStyle.PANEL_OP: + throw new NotImplementedException(); + case MatrixOperationStyle.BUFFER_OP: + return ScheduleBufferTask(nonGeneric); + case MatrixOperationStyle.KERNEL_OP: + return ScheduleKernelTask(nonGeneric); + default: + throw new InvalidOperationException($"Unknown mode {nonGeneric->ComputeMode.OperationStyle}."); + } } - internal static unsafe MatrixParallelHandle ScheduleTask(MatrixParallelTaskPackageNonGeneric* package) + private static unsafe MatrixParallelHandle ScheduleBufferTask(MatrixParallelTaskPackageNonGeneric* package) + { + throw new NotImplementedException(); + } + + private static unsafe MatrixParallelHandle ScheduleKernelTask(MatrixParallelTaskPackageNonGeneric* package) { int primCount = package->PrimCount; int secCount = package->SecCount; diff --git a/StgSharp.Native/sn-head/glfw_function.h b/StgSharp.Native/sn-head/glfw_function.h index ca17ae83..36f7fc98 100644 --- a/StgSharp.Native/sn-head/glfw_function.h +++ b/StgSharp.Native/sn-head/glfw_function.h @@ -20,7 +20,7 @@ typedef struct GLFWFunctionTable { GLFWwindow *(*glfwGetCurrentContext)(void); void (*glfwGetCursorPos)(GLFWwindow *window, double *xpos, double *ypos); int (*glfwGetError)(const char **description); - void (*glfwGetFramebufferSize)(GLFWwindow *window, int *width, int *height); + void (*glfwGetFrameBufferSize)(GLFWwindow *window, int *width, int *height); const char *(*glfwGetGamepadName)(int jid); int (*glfwGetGamepadState)(int jid, GLFWgamepadstate *state); const GLFWgammaramp *(*glfwGetGammaRamp)(GLFWmonitor *monitor); @@ -38,10 +38,10 @@ typedef struct GLFWFunctionTable { const char *(*glfwGetMonitorName)(GLFWmonitor *monitor); void (*glfwGetMonitorPhysicalSize)(GLFWmonitor *monitor, int *widthMM, int *heightMM); void (*glfwGetMonitorPos)(GLFWmonitor *monitor, int *xpos, int *ypos); + GLFWmonitor **(*glfwGetMonitors)(int *count); void *(*glfwGetMonitorUserPointer)(GLFWmonitor *monitor); void (*glfwGetMonitorWorkarea)(GLFWmonitor *monitor, int *xpos, int *ypos, int *width, int *height); - GLFWmonitor **(*glfwGetMonitors)(int *count); int (*glfwGetMouseButton)(GLFWwindow *window, int button); GLFWmonitor *(*glfwGetPrimaryMonitor)(void); GLFWglproc (*glfwGetProcAddress)(const char *procname); @@ -66,7 +66,7 @@ typedef struct GLFWFunctionTable { void (*glfwIconifyWindow)(GLFWwindow *window); int (*glfwInit)(void); void (*glfwInitHint)(int hint, int value); - int (*glfwJoystickIsGamepad)(int jid); + int (*glfwJoystickIsGamePad)(int jid); int (*glfwJoystickPresent)(int jid); void (*glfwMakeContextCurrent)(GLFWwindow *window); void (*glfwMaximizeWindow)(GLFWwindow *window); @@ -75,13 +75,13 @@ typedef struct GLFWFunctionTable { int (*glfwRawMouseMotionSupported)(void); void (*glfwRequestWindowAttention)(GLFWwindow *window); void (*glfwRestoreWindow)(GLFWwindow *window); - void (*glfwSetClipboardString)(GLFWwindow *window, const char *str); - void (*glfwSetCursor)(GLFWwindow *window, GLFWcursor *cursor); - void (*glfwSetCursorPos)(GLFWwindow *window, double xpos, double ypos); GLFWcharfun (*glfwSetCharCallback)(GLFWwindow *window, GLFWcharfun callback); GLFWcharmodsfun (*glfwSetCharModsCallback)(GLFWwindow *window, GLFWcharmodsfun callback); + void (*glfwSetClipboardString)(GLFWwindow *window, const char *str); + void (*glfwSetCursor)(GLFWwindow *window, GLFWcursor *cursor); GLFWcursorenterfun (*glfwSetCursorEnterCallback)(GLFWwindow *window, GLFWcursorenterfun callback); + void (*glfwSetCursorPos)(GLFWwindow *window, double xpos, double ypos); GLFWcursorposfun (*glfwSetCursorPosCallback)(GLFWwindow *window, GLFWcursorposfun callback); GLFWdropfun (*glfwSetDropCallback)(GLFWwindow *window, GLFWdropfun callback); GLFWerrorfun (*glfwSetErrorCallback)(GLFWerrorfun callback); @@ -91,6 +91,7 @@ typedef struct GLFWFunctionTable { void (*glfwSetGammaRamp)(GLFWmonitor *monitor, const GLFWgammaramp *ramp); void (*glfwSetInputMode)(GLFWwindow *window, int mode, int value); GLFWjoystickfun (*glfwSetJoystickCallback)(GLFWjoystickfun callback); + void (*glfwSetJoystickUserPointer)(int jid, void *pointer); GLFWkeyfun (*glfwSetKeyCallback)(GLFWwindow *window, GLFWkeyfun callback); GLFWmonitorfun (*glfwSetMonitorCallback)(GLFWmonitorfun callback); void (*glfwSetMonitorUserPointer)(GLFWmonitor *monitor, void *pointer); @@ -130,7 +131,7 @@ typedef struct GLFWFunctionTable { void (*glfwSwapBuffers)(GLFWwindow *window); void (*glfwSwapInterval)(int interval); void (*glfwTerminate)(void); - int (*glfwUpdateGamepadMappings)(const char *str); + int (*glfwUpdateGamePadMappings)(const char *str); int (*glfwVulkanSupported)(void); void (*glfwWaitEvents)(void); void (*glfwWaitEventsTimeout)(double timeout); diff --git a/StgSharp.Native/sn-src/load_glfw.c b/StgSharp.Native/sn-src/load_glfw.c index 4187c923..f225f968 100644 --- a/StgSharp.Native/sn-src/load_glfw.c +++ b/StgSharp.Native/sn-src/load_glfw.c @@ -4,119 +4,120 @@ SN_API void SN_DECL load_glfw_functions(GLFWFunctionTable *table) { - table->glfwInit = glfwInit; - table->glfwTerminate = glfwTerminate; - table->glfwInitHint = glfwInitHint; - table->glfwGetVersion = glfwGetVersion; - table->glfwGetVersionString = glfwGetVersionString; - table->glfwGetError = glfwGetError; - table->glfwSetErrorCallback = glfwSetErrorCallback; - table->glfwGetMonitors = glfwGetMonitors; - table->glfwGetPrimaryMonitor = glfwGetPrimaryMonitor; - table->glfwGetMonitorPos = glfwGetMonitorPos; - table->glfwGetMonitorWorkarea = glfwGetMonitorWorkarea; - table->glfwGetMonitorPhysicalSize = glfwGetMonitorPhysicalSize; - table->glfwGetMonitorContentScale = glfwGetMonitorContentScale; - table->glfwGetMonitorName = glfwGetMonitorName; - table->glfwSetMonitorUserPointer = glfwSetMonitorUserPointer; - table->glfwGetMonitorUserPointer = glfwGetMonitorUserPointer; - table->glfwSetMonitorCallback = glfwSetMonitorCallback; - table->glfwGetVideoModes = glfwGetVideoModes; - table->glfwGetVideoMode = glfwGetVideoMode; - table->glfwSetGamma = glfwSetGamma; - table->glfwGetGammaRamp = glfwGetGammaRamp; - table->glfwSetGammaRamp = glfwSetGammaRamp; - table->glfwDefaultWindowHints = glfwDefaultWindowHints; - table->glfwWindowHint = glfwWindowHint; - table->glfwWindowHintString = glfwWindowHintString; - table->glfwCreateWindow = glfwCreateWindow; - table->glfwDestroyWindow = glfwDestroyWindow; - table->glfwWindowShouldClose = glfwWindowShouldClose; - table->glfwSetWindowShouldClose = glfwSetWindowShouldClose; - table->glfwSetWindowTitle = glfwSetWindowTitle; - table->glfwSetWindowIcon = glfwSetWindowIcon; - table->glfwGetWindowPos = glfwGetWindowPos; - table->glfwSetWindowPos = glfwSetWindowPos; - table->glfwGetWindowSize = glfwGetWindowSize; - table->glfwSetWindowSizeLimits = glfwSetWindowSizeLimits; - table->glfwSetWindowAspectRatio = glfwSetWindowAspectRatio; - table->glfwSetWindowSize = glfwSetWindowSize; - table->glfwGetFramebufferSize = glfwGetFramebufferSize; - table->glfwGetWindowFrameSize = glfwGetWindowFrameSize; - table->glfwGetWindowContentScale = glfwGetWindowContentScale; - table->glfwGetWindowOpacity = glfwGetWindowOpacity; - table->glfwSetWindowOpacity = glfwSetWindowOpacity; - table->glfwIconifyWindow = glfwIconifyWindow; - table->glfwRestoreWindow = glfwRestoreWindow; - table->glfwMaximizeWindow = glfwMaximizeWindow; - table->glfwShowWindow = glfwShowWindow; - table->glfwHideWindow = glfwHideWindow; - table->glfwFocusWindow = glfwFocusWindow; - table->glfwRequestWindowAttention = glfwRequestWindowAttention; - table->glfwGetWindowMonitor = glfwGetWindowMonitor; - table->glfwSetWindowMonitor = glfwSetWindowMonitor; - table->glfwGetWindowAttrib = glfwGetWindowAttrib; - table->glfwSetWindowAttrib = glfwSetWindowAttrib; - table->glfwSetWindowUserPointer = glfwSetWindowUserPointer; - table->glfwGetWindowUserPointer = glfwGetWindowUserPointer; - table->glfwSetWindowPosCallback = glfwSetWindowPosCallback; - table->glfwSetWindowSizeCallback = glfwSetWindowSizeCallback; - table->glfwSetWindowCloseCallback = glfwSetWindowCloseCallback; - table->glfwSetWindowRefreshCallback = glfwSetWindowRefreshCallback; - table->glfwSetWindowFocusCallback = glfwSetWindowFocusCallback; - table->glfwSetWindowIconifyCallback = glfwSetWindowIconifyCallback; - table->glfwSetWindowMaximizeCallback = glfwSetWindowMaximizeCallback; - table->glfwSetFramebufferSizeCallback = glfwSetFramebufferSizeCallback; - table->glfwSetWindowContentScaleCallback = glfwSetWindowContentScaleCallback; - table->glfwPollEvents = glfwPollEvents; - table->glfwWaitEvents = glfwWaitEvents; - table->glfwWaitEventsTimeout = glfwWaitEventsTimeout; - table->glfwPostEmptyEvent = glfwPostEmptyEvent; - table->glfwGetInputMode = glfwGetInputMode; - table->glfwSetInputMode = glfwSetInputMode; - table->glfwRawMouseMotionSupported = glfwRawMouseMotionSupported; - table->glfwGetKeyName = glfwGetKeyName; - table->glfwGetKeyScancode = glfwGetKeyScancode; - table->glfwGetKey = glfwGetKey; - table->glfwGetMouseButton = glfwGetMouseButton; - table->glfwGetCursorPos = glfwGetCursorPos; - table->glfwSetCursorPos = glfwSetCursorPos; table->glfwCreateCursor = glfwCreateCursor; table->glfwCreateStandardCursor = glfwCreateStandardCursor; + table->glfwCreateWindow = glfwCreateWindow; + table->glfwDefaultWindowHints = glfwDefaultWindowHints; table->glfwDestroyCursor = glfwDestroyCursor; - table->glfwSetCursor = glfwSetCursor; - table->glfwSetKeyCallback = glfwSetKeyCallback; - table->glfwSetCharCallback = glfwSetCharCallback; - table->glfwSetCharModsCallback = glfwSetCharModsCallback; - table->glfwSetMouseButtonCallback = glfwSetMouseButtonCallback; - table->glfwSetCursorPosCallback = glfwSetCursorPosCallback; - table->glfwSetCursorEnterCallback = glfwSetCursorEnterCallback; - table->glfwSetScrollCallback = glfwSetScrollCallback; - table->glfwSetDropCallback = glfwSetDropCallback; - table->glfwJoystickPresent = glfwJoystickPresent; + table->glfwDestroyWindow = glfwDestroyWindow; + table->glfwExtensionSupported = glfwExtensionSupported; + table->glfwFocusWindow = glfwFocusWindow; + table->glfwGetClipboardString = glfwGetClipboardString; + table->glfwGetCurrentContext = glfwGetCurrentContext; + table->glfwGetCursorPos = glfwGetCursorPos; + table->glfwGetError = glfwGetError; + table->glfwGetFrameBufferSize = glfwGetFramebufferSize; + table->glfwGetGamepadName = glfwGetGamepadName; + table->glfwGetGamepadState = glfwGetGamepadState; + table->glfwGetGammaRamp = glfwGetGammaRamp; + table->glfwGetInputMode = glfwGetInputMode; table->glfwGetJoystickAxes = glfwGetJoystickAxes; table->glfwGetJoystickButtons = glfwGetJoystickButtons; table->glfwGetJoystickGUID = glfwGetJoystickGUID; table->glfwGetJoystickHats = glfwGetJoystickHats; table->glfwGetJoystickName = glfwGetJoystickName; table->glfwGetJoystickUserPointer = glfwGetJoystickUserPointer; - table->glfwJoystickIsGamepad = glfwJoystickIsGamepad; - table->glfwSetJoystickCallback = glfwSetJoystickCallback; - table->glfwUpdateGamepadMappings = glfwUpdateGamepadMappings; - table->glfwGetGamepadName = glfwGetGamepadName; - table->glfwGetGamepadState = glfwGetGamepadState; - table->glfwSetClipboardString = glfwSetClipboardString; - table->glfwGetClipboardString = glfwGetClipboardString; + table->glfwGetKey = glfwGetKey; + table->glfwGetKeyName = glfwGetKeyName; + table->glfwGetKeyScancode = glfwGetKeyScancode; + table->glfwGetMonitorContentScale = glfwGetMonitorContentScale; + table->glfwGetMonitorName = glfwGetMonitorName; + table->glfwGetMonitorPhysicalSize = glfwGetMonitorPhysicalSize; + table->glfwGetMonitorPos = glfwGetMonitorPos; + table->glfwGetMonitors = glfwGetMonitors; + table->glfwGetMonitorUserPointer = glfwGetMonitorUserPointer; + table->glfwGetMonitorWorkarea = glfwGetMonitorWorkarea; + table->glfwGetMouseButton = glfwGetMouseButton; + table->glfwGetPrimaryMonitor = glfwGetPrimaryMonitor; + table->glfwGetProcAddress = glfwGetProcAddress; + table->glfwGetRequiredInstanceExtensions = glfwGetRequiredInstanceExtensions; table->glfwGetTime = glfwGetTime; - table->glfwSetTime = glfwSetTime; - table->glfwGetTimerValue = glfwGetTimerValue; table->glfwGetTimerFrequency = glfwGetTimerFrequency; + table->glfwGetTimerValue = glfwGetTimerValue; + table->glfwGetVersion = glfwGetVersion; + table->glfwGetVersionString = glfwGetVersionString; + table->glfwGetVideoMode = glfwGetVideoMode; + table->glfwGetVideoModes = glfwGetVideoModes; + table->glfwGetWindowAttrib = glfwGetWindowAttrib; + table->glfwGetWindowContentScale = glfwGetWindowContentScale; + table->glfwGetWindowFrameSize = glfwGetWindowFrameSize; + table->glfwGetWindowMonitor = glfwGetWindowMonitor; + table->glfwGetWindowOpacity = glfwGetWindowOpacity; + table->glfwGetWindowPos = glfwGetWindowPos; + table->glfwGetWindowSize = glfwGetWindowSize; + table->glfwGetWindowUserPointer = glfwGetWindowUserPointer; + table->glfwHideWindow = glfwHideWindow; + table->glfwIconifyWindow = glfwIconifyWindow; + table->glfwInit = glfwInit; + table->glfwInitHint = glfwInitHint; + table->glfwJoystickIsGamePad = glfwJoystickIsGamepad; + table->glfwJoystickPresent = glfwJoystickPresent; table->glfwMakeContextCurrent = glfwMakeContextCurrent; - table->glfwGetCurrentContext = glfwGetCurrentContext; + table->glfwMaximizeWindow = glfwMaximizeWindow; + table->glfwPollEvents = glfwPollEvents; + table->glfwPostEmptyEvent = glfwPostEmptyEvent; + table->glfwRawMouseMotionSupported = glfwRawMouseMotionSupported; + table->glfwRequestWindowAttention = glfwRequestWindowAttention; + table->glfwRestoreWindow = glfwRestoreWindow; + table->glfwSetCharCallback = glfwSetCharCallback; + table->glfwSetCharModsCallback = glfwSetCharModsCallback; + table->glfwSetClipboardString = glfwSetClipboardString; + table->glfwSetCursor = glfwSetCursor; + table->glfwSetCursorEnterCallback = glfwSetCursorEnterCallback; + table->glfwSetCursorPos = glfwSetCursorPos; + table->glfwSetCursorPosCallback = glfwSetCursorPosCallback; + table->glfwSetDropCallback = glfwSetDropCallback; + table->glfwSetErrorCallback = glfwSetErrorCallback; + table->glfwSetFramebufferSizeCallback = glfwSetFramebufferSizeCallback; + table->glfwSetGamma = glfwSetGamma; + table->glfwSetGammaRamp = glfwSetGammaRamp; + table->glfwSetInputMode = glfwSetInputMode; + table->glfwSetJoystickCallback = glfwSetJoystickCallback; + table->glfwSetJoystickUserPointer = glfwSetJoystickUserPointer; + table->glfwSetKeyCallback = glfwSetKeyCallback; + table->glfwSetMonitorCallback = glfwSetMonitorCallback; + table->glfwSetMonitorUserPointer = glfwSetMonitorUserPointer; + table->glfwSetMouseButtonCallback = glfwSetMouseButtonCallback; + table->glfwSetScrollCallback = glfwSetScrollCallback; + table->glfwSetTime = glfwSetTime; + table->glfwSetWindowAspectRatio = glfwSetWindowAspectRatio; + table->glfwSetWindowAttrib = glfwSetWindowAttrib; + table->glfwSetWindowCloseCallback = glfwSetWindowCloseCallback; + table->glfwSetWindowContentScaleCallback = glfwSetWindowContentScaleCallback; + table->glfwSetWindowFocusCallback = glfwSetWindowFocusCallback; + table->glfwSetWindowIcon = glfwSetWindowIcon; + table->glfwSetWindowIconifyCallback = glfwSetWindowIconifyCallback; + table->glfwSetWindowMaximizeCallback = glfwSetWindowMaximizeCallback; + table->glfwSetWindowMonitor = glfwSetWindowMonitor; + table->glfwSetWindowOpacity = glfwSetWindowOpacity; + table->glfwSetWindowPos = glfwSetWindowPos; + table->glfwSetWindowPosCallback = glfwSetWindowPosCallback; + table->glfwSetWindowRefreshCallback = glfwSetWindowRefreshCallback; + table->glfwSetWindowShouldClose = glfwSetWindowShouldClose; + table->glfwSetWindowSize = glfwSetWindowSize; + table->glfwSetWindowSizeCallback = glfwSetWindowSizeCallback; + table->glfwSetWindowSizeLimits = glfwSetWindowSizeLimits; + table->glfwSetWindowTitle = glfwSetWindowTitle; + table->glfwSetWindowUserPointer = glfwSetWindowUserPointer; + table->glfwShowWindow = glfwShowWindow; table->glfwSwapBuffers = glfwSwapBuffers; table->glfwSwapInterval = glfwSwapInterval; - table->glfwExtensionSupported = glfwExtensionSupported; - table->glfwGetProcAddress = glfwGetProcAddress; + table->glfwTerminate = glfwTerminate; + table->glfwUpdateGamePadMappings = glfwUpdateGamepadMappings; table->glfwVulkanSupported = glfwVulkanSupported; - table->glfwGetRequiredInstanceExtensions = glfwGetRequiredInstanceExtensions; + table->glfwWaitEvents = glfwWaitEvents; + table->glfwWaitEventsTimeout = glfwWaitEventsTimeout; + table->glfwWindowHint = glfwWindowHint; + table->glfwWindowHintString = glfwWindowHintString; + table->glfwWindowShouldClose = glfwWindowShouldClose; } diff --git a/StgSharpDebug/MatrixParallelThreadTest.cs b/StgSharpDebug/MatrixParallelThreadTest.cs deleted file mode 100644 index 1027cc09..00000000 --- a/StgSharpDebug/MatrixParallelThreadTest.cs +++ /dev/null @@ -1,116 +0,0 @@ -//----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -// file="MatrixParallelThreadTest" -// Project: StgSharp -// AuthorGroup: Nitload Space -// Copyright (c) Nitload Space. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// ----------------------------------------------------------------------- -// ----------------------------------------------------------------------- -using StgSharp.Mathematics; -using System; -using System.Threading; - -namespace StgSharp -{ - /* - /// - /// 矩阵计算并发调度器线程调度测试 修复的问题: 1. 添加了ResetThreadCount()方法,在每轮任务调度前重置线程计数 2. - /// 调度器线程不再递减RemainThreadCount,只有工作线程才递减 3. 改进了控制台输出,显示更清晰的线程活动信息 使用方法:在Program.cs的Main方法中调用 - /// MatrixParallelThreadTest.TestMatrixParallelThreadScheduling(); 或者通过命令行运行程序时调用此方法 - /// - public class MatrixParallelThreadTest - { - - /// - /// 测试矩阵并行计算线程调度 - /// - public static void TestMatrixParallelThreadScheduling() - { - Console.WriteLine("=== 矩阵并行计算线程调度测试开始 ==="); - Console.WriteLine($"CPU核心数: {Environment.ProcessorCount}"); - Console.WriteLine($"支持并行计算: {MatrixParallel.SupportParallel}"); - Console.WriteLine($"并行计算有意义: {MatrixParallel.IsParallelMeaningful}"); - - if (!MatrixParallel.SupportParallel) - { - Console.WriteLine("当前系统不支持并行计算,跳过测试"); - return; - } - - try - { - // 初始化矩阵并行计算系统 - Console.WriteLine("\n--- 初始化矩阵并行计算系统 ---"); - MatrixParallel.Init(); - Console.WriteLine("矩阵并行计算系统初始化完成"); - - // 启动并行计算 - Console.WriteLine("\n--- 启动并行计算 ---"); - MatrixParallel.LaunchParallel(SleepMode.QuickWakeup); - Console.WriteLine("并行计算已启动"); - - // 获取领导者句柄 - MatrixParallel.MatrixParallelWrap.Handle leaderHandle = MatrixParallel.LeaderHandle; - Console.WriteLine($"领导者句柄获取成功: Wrap ID {leaderHandle.Wrap.ID}"); - - // 模拟一些任务调度 - Console.WriteLine("\n--- 开始模拟任务调度 ---"); - for (int i = 0; i < 3; i++) - { - Console.WriteLine($"\n第 {i + 1} 轮任务调度:"); - - // 开始并行计算 - MatrixParallel.LeadParallel(); - Console.WriteLine("已获取并行计算锁"); - - // 设置所有Wrap - MatrixParallel.SetAllWrap(); - Console.WriteLine("已通知所有Wrap开始工作"); - - // 发布任务(当前为空实现) - // MatrixParallel.PublishTask(); - Console.WriteLine("任务发布完成"); - - // 等待一段时间让线程执行 - Thread.Sleep(100); - - // 结束并行计算 - MatrixParallel.EndParallel(); - Console.WriteLine("已释放并行计算锁"); - - // 等待一段时间再进行下一轮 - Thread.Sleep(200); - } - - Console.WriteLine("\n--- 测试完成 ---"); - Console.WriteLine("线程调度测试已成功完成,请观察上述输出中的线程活动信息"); - } - catch (Exception ex) - { - Console.WriteLine($"测试过程中发生异常: {ex.Message}"); - Console.WriteLine($"异常详情: {ex}"); - } - } - - } - /**/ -} diff --git a/StgSharpDebug/Program.cs b/StgSharpDebug/Program.cs index f80a4c49..b21578b7 100644 --- a/StgSharpDebug/Program.cs +++ b/StgSharpDebug/Program.cs @@ -62,7 +62,7 @@ namespace StgSharp try { World.Initialize().UseModule().UseModule().InitializeModule(); - + TestRender(); /* // New test with synchronized start: // - 8 producer threads, each pushing 1000 unique integers @@ -177,7 +177,7 @@ namespace StgSharp // Sanity check Console.WriteLine($"Produced: {producerThreads * perProducer}, Popped+Remaining: {popped.Count + remaining.Count}"); - /**/ + /* // 原有的矩阵测试代码 HybridLayerSegregatedFitAllocator hlsf = new HybridLayerSegregatedFitAllocator(64 * 400 * 400); diff --git a/StgSharpDebug/RenderStream/Partical.cs b/StgSharpDebug/RenderStream/Partical.cs index 324b0d81..50d82edc 100644 --- a/StgSharpDebug/RenderStream/Partical.cs +++ b/StgSharpDebug/RenderStream/Partical.cs @@ -196,10 +196,10 @@ namespace StgSharp internal static Vec3 DefaultRotation(TimeSpanProvider provider, out float rotation) { - rotation = provider.SpanLengthLowPrecession; - float angle = provider.CurrentSecond * 2; + rotation = 1.0f / 60; + float angle = (float)provider.CurrentSecond * 2; return (new Vec3(Scalar.Cos(angle), Scalar.Sin(angle), - 0)) * provider.SpanLengthLowPrecession; + 0)) * rotation; } protected override void CustomizeDeinit() { } diff --git a/StgSharpDevelop.sln b/StgSharpDevelop.sln index bb69833d..0b62d83e 100644 --- a/StgSharpDevelop.sln +++ b/StgSharpDevelop.sln @@ -55,8 +55,8 @@ Global {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.ActiveCfg = Release|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|ARM64.ActiveCfg = Debug|ARM64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|ARM64.Build.0 = Debug|ARM64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.ActiveCfg = Release|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.Build.0 = Release|x64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.ActiveCfg = Debug|x64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.Build.0 = Debug|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|ARM64.ActiveCfg = Release|ARM64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|ARM64.Build.0 = Release|ARM64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|x64.ActiveCfg = Release|x64

XKPCz995#d>Nj|%ZGQ0C?q`u1 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 literal 0 HcmV?d00001 diff --git a/StgSharp.Common/StgSharp.Common.pdb b/StgSharp.Common/StgSharp.Common.pdb new file mode 100644 index 0000000000000000000000000000000000000000..48f283fef9d4d8a6d908a8951bfad480315f0aa8 GIT binary patch literal 188376 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�_c4-BTxY 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