Dan Balasescu
e4ebfdb828
Add source generator for IsLongRunning property
2023-07-07 20:29:13 +09:00
Dan Balasescu
a08e61c58f
Merge pull request #5901 from peppy/contextual-initialise-levels
...
Avoid initialising textures when unnecessary
2023-07-07 19:02:10 +09:00
Dan Balasescu
fc3efca013
Merge branch 'master' into contextual-initialise-levels
2023-07-07 18:50:00 +09:00
Dan Balasescu
d48d6230f1
Merge pull request #5905 from peppy/disable-ftb-by-default
...
Disable front-to-back pass by default on all platforms
2023-07-07 18:48:58 +09:00
Dean Herbert
6f4fa78b3e
Disable front-to-back pass on all platforms for now
2023-07-07 16:19:39 +09:00
Dean Herbert
0871079369
Merge pull request #5903 from frenzibyte/ios-release-aot
...
Switch osu!framework iOS projects to use AOT compilation on release configurations
2023-07-07 10:12:57 +09:00
Dean Herbert
659edfb03d
Slight reword
2023-07-07 09:58:07 +09:00
Salman Ahmed
507375ed0d
Update packages
2023-07-07 03:49:29 +03:00
Salman Ahmed
3df1db116b
Fix iOS main run loop method requiring JIT compilation
2023-07-07 03:07:56 +03:00
Salman Ahmed
06b8cd3ebe
Fix SDL library not found exception with AOT enabled
...
Depends on https://github.com/ppy/SDL2-CS/pull/169
2023-07-07 03:07:56 +03:00
Salman Ahmed
6f3ca6c22a
Disable Mono interpreter on release mode
2023-07-07 03:07:56 +03:00
Dan Balasescu
4ce777d4d5
Fix typos
2023-07-06 17:35:20 +09:00
Dean Herbert
54a80b23c7
Avoid initialising textures when unnecessary
...
It turns out we were initialising every mipmap level of every textures,
while it is only actually required in scenarios we are not already
replacing every pixel of the texture.
For framework usages, this is for atlases alone.
I've implemented this by changing the `initialisationColour` to be
nullable. For native textures, it has a `null` default, which is perfect
to cover all overrides (`VideoTexture` and `FrameBufferTexture`).
For the `IRenderer` exposed usage, the parameter was already required,
so there is no default. This is good as it ensures a consume isn't going
to see a change in behaviour out-of-the-blue.
2023-07-06 15:54:56 +09:00
Salman Ahmed
a4024edc32
Merge pull request #5900 from peppy/fix-performance-overlay-autosize
...
Fix `PerformanceOverlay` autosize not working due to incorrect anchor
2023-07-06 08:18:17 +03:00
Salman Ahmed
29161e81a7
Merge branch 'master' into fix-performance-overlay-autosize
2023-07-06 08:03:39 +03:00
Salman Ahmed
842799ad4f
Merge pull request #5899 from peppy/fix-fsd-runaway
...
Pool and limit how many GC boxes can be displayed on `FrameStatisticsDisplay` at once
2023-07-06 08:03:23 +03:00
Dean Herbert
ada14302a2
Fix PerformanceOverlay autosize not working due to incorrect anchor
2023-07-06 13:50:24 +09:00
Dean Herbert
f94b377cd9
Pool and limit how many GC boxes can be displayed on FrameStatisticsDisplay at once
...
When running on mobile, we've seen gen 0 GCs almost every frame. I'm not
sure if this is good or bad, but ignoring that for a moment, this would
cause opening the frame statistics graphs to slowly grind the game to a
halt as it tries to display this with box markers.
Pooling the boxes reduces the alloc overhead. Custom logic cleans up old
squares to ensure things don't runaway in terms of performance.
2023-07-06 13:06:48 +09:00
Dean Herbert
824cfaeb79
Merge pull request #5898 from frenzibyte/fix-frame-graphs-on-ios
...
Fix frame statistics display showing `CADisplayLink` callback delays under "WndProc" time
2023-07-06 12:17:51 +09:00
Dean Herbert
c064c0212c
Update veldrid
2023-07-06 12:02:44 +09:00
Salman Ahmed
1fa061ba81
Fix frame statistics display showing CADisplayLink callback delays under "WndProc" time
2023-07-06 04:19:50 +03:00
Dean Herbert
5882d259cc
Merge pull request #5887 from frenzibyte/overlays-safe-area
...
Fix game tools being rendered outside safe area
2023-07-06 02:50:02 +09:00
Bartłomiej Dach
c598a9b18d
Merge branch 'master' into overlays-safe-area
2023-07-05 19:38:31 +02:00
Dean Herbert
a6cccfb8e7
Merge pull request #5896 from peppy/less-vbo
...
Reduce VBO buffer count to 2
2023-07-05 16:15:42 +09:00
Dean Herbert
d52fd9528a
Make CurrentVertexBuffers private
2023-07-05 15:55:23 +09:00
Dean Herbert
62db976da8
Allow changing VBO buffer count via envvar
2023-07-05 15:46:59 +09:00
Dean Herbert
5a925915dc
Remove unused setter on CurrentVertexBuffers
2023-07-05 15:45:20 +09:00
Dean Herbert
44f63693dc
Reduce count of VBO local buffers to 2
...
Reasoning is explained in the xmldoc
2023-07-05 15:41:34 +09:00
Bartłomiej Dach
050857de61
Merge pull request #5883 from peppy/sprite-text-draw-node-perf
...
Reduce complexity overhead (and avoid one copy) when obtaining character SSDQs in `SpriteTextDrawNode`
2023-07-04 22:18:59 +02:00
Bartłomiej Dach
8eb1b55e25
Merge branch 'master' into sprite-text-draw-node-perf
2023-07-04 22:09:37 +02:00
Dan Balasescu
13644b5682
Merge pull request #5884 from peppy/fix-game-benchmark
...
Fix game benchmarks being completely broken
2023-07-04 18:00:27 +09:00
Dean Herbert
fb53c27a9a
Add comment about calling of base RunMainLoop
2023-07-04 17:27:11 +09:00
Dean Herbert
ff55656b19
Merge branch 'master' into fix-game-benchmark
2023-07-04 17:27:10 +09:00
Dean Herbert
2738b97d6c
Merge pull request #5889 from smoogipoo/fix-shader-determinism
2023-07-04 16:00:23 +09:00
Dan Balasescu
cfe1c87684
Make shaders with passthrough layouts deterministic again
2023-07-04 15:20:13 +09:00
Dean Herbert
d33d73983e
Use Wait instead of arbitrary timeout
2023-07-04 13:04:03 +09:00
Dean Herbert
3092bd6ef7
Use EnsureCapcity to potentially avoid multiple copies
2023-07-04 13:02:28 +09:00
Dean Herbert
eafac96c2b
Merge branch 'master' into overlays-safe-area
2023-07-04 13:00:43 +09:00
Dean Herbert
8bf34b93e8
Merge pull request #5886 from frenzibyte/fix-ios-linker
...
Work around iOS linker including `ApplicationServices` framework during compilation
2023-07-04 12:55:46 +09:00
Salman Ahmed
84f03a651a
Fix game tools being rendered outside safe area
2023-07-04 06:53:23 +03:00
Salman Ahmed
c43346250b
Work around iOS linker including ApplicationServices framework
2023-07-04 06:37:23 +03:00
Dean Herbert
cd6defe7fd
Merge pull request #5877 from Susko3/permonitor-v2-dpi-awareness
...
Set PerMonitor V2 DPI awareness on Windows
2023-07-04 01:17:40 +09:00
Dean Herbert
ef22b40a29
Merge branch 'master' into permonitor-v2-dpi-awareness
2023-07-04 01:02:35 +09:00
Dean Herbert
b2d1725b7f
Fix game benchmark timeout being far too low, causing skewed results
2023-07-03 17:24:16 +09:00
Dean Herbert
90a2e286bc
Don't use ArrayPool (list is faster)
2023-07-03 17:11:46 +09:00
Dean Herbert
2967626eda
Reduce complexity overhead (and avoid one copy) when obtaining character SSDQs in SpriteTextDrawNode
...
Of note, this doesn't show a huge improvement in benchmarks, but in an
edge case noticed in osu!, the `AddRange` operation can add a
perceivable overhead.
We believe this may be a dotnet runtime quirk.
Even though this change can't be shown in isolated benchmarks, I'd argue
the code quality improvement is worth it.
Of note, the caching of the SSDQs at `SpriteText` was a bit redundant as
it was being invalidated by basically everything. So it makes sense to
just fetch it every time, regardless, in the draw node itself.
The only potential saving we could obtain with the previous logic would
be to shift the load to the `Update` frame. But this wasn't being done.
Rather than investigating whether that has any benefits, I'd rather
focus on getting `SpriteText` rewritten to use an optimised shader.
2023-07-03 17:09:18 +09:00
Dean Herbert
00c570fbe3
Add SpriteText benchmark
2023-07-03 15:51:17 +09:00
Bartłomiej Dach
568c85ebb1
Merge pull request #5881 from Susko3/make-IWindow-implementations-internal
...
Make `IWindow` and `IGraphicsSurface` implementations `internal`
2023-07-02 16:29:42 +02:00
Bartłomiej Dach
2622a689ad
Merge branch 'master' into make-IWindow-implementations-internal
2023-07-02 16:11:20 +02:00
Bartłomiej Dach
ca3fa1642e
Use better exception type
2023-07-02 16:08:52 +02:00