Next phase development#8
Merged
Merged
Conversation
…telemetry, profiles
- Wire SimulationBudgetTracker around CSimulation.update() in War3MapViewer:
each simulation tick is now timed via beginTick()/endTick(); avg/max/overrun
stats reported every ~60 s via [SimBudget] log lines.
- Named launch profiles (-profile safe|balanced|high) in DesktopLauncher:
safe = windowed 1280x720, no MSAA, vsync, 60 fps cap;
balanced = windowed 1280x720, 2x MSAA, vsync, 60/30 fps;
high = fullscreen, 4x MSAA, vsync, uncapped.
Individual flags override profile settings.
- GL version guard in StartupDiagnostics.checkGLRequirements(): called from
WarsmashGdxMultiScreenGame.create() after the capability report. Prints a
user-readable error with detected/required version and driver-update hints,
then exits with code 1 when OpenGL < 3.3 is reported.
- Server hardening in GamingNetworkServerBusinessLogicImpl:
- New LoginRateLimiter blocks an IP for 5 min after 5 failed auth attempts
in 60 s; applied to login() and createAccount().
- New writerToSession reverse map makes disconnected() O(1) instead of O(n)
over all sessions, eliminating the documented DDoS amplification path.
- Asset cache telemetry via new AssetCacheTelemetry class: instruments both
ModelViewer.load() and loadGeneric() cache paths; logs [AssetCache] hit/miss
summary every 50 misses.
- Package ownership markers: package-info.java for render (viewer5),
simulation, net (networking), and assets (datasources) layers, documenting
allowed and forbidden cross-layer dependencies.
- New unit tests (29 tests added):
ObjectPoolTest (8), SimulationBudgetTrackerTest (5),
StartupDiagnosticsTest (9), AssetCacheTelemetryTest (7).
- CHANGELOG.md and ENGINE_MODERNIZATION_ANALYSIS.md updated.
Co-authored-by: awest813 <awest813@users.noreply.github.com>
|
Cursor Agent can help with this pull request. Just |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Complete Phase D of engine modernization, enhancing performance, stability, and maintainability.
This PR delivers:
CSimulation.update().-profile safe|balanced|high) forDesktopLauncher.LoginRateLimiterand O(1)disconnected()lookup.package-info.javamarkers for architectural layers.