Commit Graph

2777 Commits

Author SHA1 Message Date
2dd99ef1fd Refactor FPSCounter to not use scheduled tasks
While on the surface this looks harmless (ignoring allocations),
`Scheduler` doesn't clear cancelled tasks until they reach their
execution time. This can cause an increase in time spent processing the
scheduler itself.

I don't think a per-frame updating component should use scheduled tasks
in this way in the first place, so I've just rewritten the logic to
avoid that overhead altogether.
2022-07-25 16:26:48 +09:00
4332e6cae9 Fix OsuSliderBar throwing on negative draw width 2022-07-24 08:34:24 +03:00
b9f5074c13 Merge branch 'fps-counter-no-rolling-counter' into fps-counter-cleanup 2022-07-22 02:22:01 +09:00
0eeafea500 Increase responsiveness to change slightly 2022-07-21 23:37:32 +09:00
c140601c2d Cleanup pass on FPSCounter 2022-07-21 23:02:31 +09:00
fc6445caea Rate limit updates for good measure 2022-07-21 22:55:45 +09:00
3d2603e0eb Remove unused classes 2022-07-21 22:51:35 +09:00
3fad481a96 Avoid using RollingCounter in fps counter
It wasn't made to be updated every frame, and it shows. Inaccurate for
reasons I'm not really interested in investigating, because I don't want
to incur the `Transorm` overhead in the first place for an fps counter.

Was only used originally out of convenience.
2022-07-21 22:50:02 +09:00
5db4d9437a Add missing using statement 2022-07-21 21:39:24 +09:00
6fac34c721 Merge pull request #19274 from peppy/fix-fps-counter-fps-inaccuracy
Fix draw FPS being inaccurate due to using `ElapsedFrameTime`
2022-07-21 20:55:14 +09:00
4c4939d18d Fix draw FPS being inaccurate due to using ElapsedFrameTime
Had a feeling this would be the case.

Basically, we're calculating on the update thread and checking the last
value of draw thread's `ElapsedFrameTime`. In the case that value is
spiky, a completely incorrect fps can be displayed.

I've left the spike display do use `ElapsedFrameTime`, as
`FramesPerSecond` is too averaged to see spikes.
2022-07-21 19:17:58 +09:00
fb728fbed1 Fix FPS counter not being wide enough to show large fps numbers 2022-07-21 18:56:39 +09:00
defadeef47 Merge pull request #19250 from peppy/fps-counter
Add game-side FPS counter
2022-07-21 16:26:38 +09:00
2f16174d3d Changed control points set to private; Cleanup 2022-07-21 07:25:44 +03:00
56106e43d2 Avoid div-by-zero 2022-07-21 13:06:43 +09:00
311a0a3de0 Always show counter temporarily when aim FPS changes 2022-07-21 12:57:40 +09:00
705ff06ea5 Better handle spikes and significant changes 2022-07-21 12:50:39 +09:00
285516b111 Fix isDisplayed never actually being set 2022-07-21 12:40:27 +09:00
ed8e065a86 Logo triangles speed and beat sync tweaks 2022-07-21 06:13:45 +03:00
728e22fbce Improve tooltip display when running single thread 2022-07-21 12:06:22 +09:00
e1a577ea48 Adjust spacing to make things feel more even
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:51 +09:00
57ecc3a6df Remove unnecessary negative spacing from thread names
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:26 +09:00
c7313b4198 Fix alignment glitching due to non-matching anchor/origin
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:58:28 +09:00
75453b78c0 Adjust colours and metrics 2022-07-21 00:09:46 +09:00
f54aff2ece Add global key binding for FPS toggle 2022-07-21 00:09:46 +09:00
0a1744faca Add to game and bind with configuration setting 2022-07-20 23:49:19 +09:00
0fb959a565 Stay displayed while hovering 2022-07-20 23:49:19 +09:00
03e644e548 Choose colours based on relative performance goals 2022-07-20 23:49:19 +09:00
0c3d43026d Add initial structure for fps counter 2022-07-20 23:49:19 +09:00
7be5c638e4 Fix floating mouse position not running correctly in single thread mode
Noticed while testing on iOS. Previously, the interpolation was being
done in input handling but using the update thread clock, leading to
incorrect application.
2022-07-20 00:22:45 +09:00
32c77ddf71 Avoid triggering SeasonalBackgroundChanged unless actually required 2022-07-08 15:07:30 +09:00
b83073c2e9 Fix SeasonalBackgroundLoader triggering a background reload when not providing backgrounds 2022-07-08 02:12:01 +09:00
ae49aafde2 Fix BeatSyncedContainer unintentionally blocking on beatmap load 2022-07-06 14:58:06 +09:00
9bf91835b6 Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
b626135940 Fix dragging slider bars on nub not performing correctly relative movement 2022-07-02 17:49:38 +09:00
545df0a8e8 Display difficulty on nub 2022-07-01 15:17:26 +09:00
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
3785027284 Update OsuSliderBar colours to not use transparency 2022-07-01 14:41:36 +09:00
2ecab454aa Adjust animations and tolerances to make things feel snappier 2022-06-25 19:50:10 +09:00
a039f9878a Adjust menu cursor rotation to follow mouse, rather than be fixated around original click location 2022-06-25 19:33:44 +09:00
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
730228ec2a Merge pull request #18818 from nekodex/rearrangeable-list-feedback
Add audio feedback for rearranging list items
2022-06-23 23:30:55 +09:00
aaf619b35c Don't play sample if there is no item being actively dragged 2022-06-23 20:13:01 +09:00
9c46592e0e Move collection change event binding to LoadComplete 2022-06-23 20:04:54 +09:00
4a316fad2f Add audio feedback for rearranging list items 2022-06-23 17:45:42 +09:00
51268d0cc8 Throw on Wait failure in a few remaining cases 2022-06-23 15:28:21 +09:00
7ef8b7df5f Add timeout for all ManualResetEventSlim.Wait invocations
Timeout values were taken as best-guesses of upper values we'd expect
from sane execution.
2022-06-23 14:46:00 +09:00
97fcf8cec9 Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
34f1c80b7c Add and use ILinkHandler interface 2022-06-20 20:04:21 +02:00