1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 15:17:44 +08:00
osu-lazer/osu.Game
Bartłomiej Dach 4b349ba387
Use cache for beatmap lookups on spectate screen
@peppy noticed recently that attempting to spectate just a few users was
very likely to end up in requests very quickly being rejected with code
429 ("Too Many Requests").

I'm somewhat certain that the reason for that is that a significant
number of players is wont to retry a lot in quick succession. That means
that spectator server is going to note a lot of gameplay start and end
messages in quick succession, too. And as it turns out, every gameplay
start would end up triggering a new beatmap set fetch request:

	ccf1acce56/osu.Game/Screens/Spectate/SpectatorScreen.cs (L131-L134)
	ccf1acce56/osu.Game/Screens/Play/SoloSpectatorScreen.cs (L168-L172)
	ccf1acce56/osu.Game/Screens/Play/SoloSpectatorScreen.cs (L243-L256)

To attempt to curtail that, use the beatmap cache instead, which should
prevent these unnecessary requests from firing in the first place,
therefore reducing the chance of the client getting throttled.

This technically means that a different endpoint is used to fetch the
data (`GET /beatmaps/?ids[]=` rather than `GET
/beatmapsets/lookup?beatmap_id={id}`), but docs claim that both should
return the same data, and it looks to work fine in practice.
2024-09-23 12:15:19 +02:00
..
Audio Adjust AudioFilter to framework-side changes 2024-06-18 07:30:46 +02:00
Beatmaps Backpopulate missing ranked/submitted dates using new local metadata cache 2024-09-13 16:00:49 +02:00
Collections Apply corner radius at a higher level so hover click sounds account for it 2024-08-01 18:45:47 -07:00
Configuration fix config mistake 2024-09-04 03:37:52 -04:00
Database Change log output to only output when matches are found (in line with other methods) 2024-09-14 02:19:52 +09:00
Extensions
Graphics Merge pull request #29897 from bdach/editor/setup-screen-slider 2024-09-19 19:07:14 +09:00
Input change sample seek keybind to ctrl shift 2024-08-28 09:57:13 +02:00
IO Update naming of enum fields in ObjType 2024-05-01 17:24:53 +03:00
IPC
Localisation rework code logic to make more sense 2024-09-03 00:59:42 -04:00
Models
Online Trigger request failure on receiving a null response for a typed APIRequest 2024-09-05 01:00:23 +09:00
Overlays Merge branch 'master' into grids-3 2024-09-19 18:21:05 +09:00
Performance Expose high performance session state 2024-04-16 10:04:38 +08:00
Properties Make medal overlay respect overlay disable via activation mode 2024-02-20 16:31:31 +01:00
Replays Update HasFlag usages 2024-07-03 00:19:04 +09:00
Rulesets Fix replay analysis overlay not rotating with Barrel Roll enabled 2024-09-11 15:54:30 +02:00
Scoring Fix mouseX legacy replay parsing for high key counts in mania 2024-08-11 09:45:43 -07:00
Screens Use cache for beatmap lookups on spectate screen 2024-09-23 12:15:19 +02:00
Skinning Revert default combo counter code to pre-abstractification (and nuke eldritch abstract entity) 2024-09-11 11:44:59 +02:00
Storyboards Fix storyboard sprites leaving gaps on edges when resolving from an atlas 2024-07-17 14:47:17 +03:00
Tests Merge pull request #29542 from frenzibyte/show-daily-challenge-intro-once-per-session 2024-09-01 21:27:16 +09:00
Updater Resurrect SimpleUpdateManager as MobileUpdateNotifier 2024-07-05 03:29:09 -04:00
Users Fix nullability inspection 2024-05-10 23:26:43 +08:00
Utils Merge branch 'master' into grids-3 2024-09-19 18:21:05 +09:00
.editorconfig
FodyWeavers.xml
osu!.res
osu.Game.csproj Update framework 2024-09-16 16:15:09 +09:00
OsuGame.cs Add basic detached beatmap store 2024-08-28 16:03:37 +09:00
OsuGameBase_Importing.cs
OsuGameBase.cs Fix weird test critical failure if exception happens too early in execution 2024-08-30 18:35:31 +09:00
PerformFromMenuRunner.cs