correction of https://github.com/koala73/worldmonitor/issues/930#935
correction of https://github.com/koala73/worldmonitor/issues/930#935seilorjunior wants to merge 6 commits intokoala73:mainfrom
Conversation
- GlobeMap: add requestAnimationFrame coalescing to flushMarkers() to batch multiple data setter calls into one DOM update per frame - GlobeMap: configure Three.js renderer with antialias:false and powerPreference:'high-performance' for better GPU utilization - DeckGLMap: add canvasContextAttributes with powerPreference to MapLibre so the browser prefers the dedicated GPU on dual-GPU systems - Add tests for all three optimizations Co-authored-by: seilorjunior <13451867+seilorjunior@users.noreply.github.com>
fix: improve map/globe rendering performance (~1fps on Windows)
|
@seilorjunior is attempting to deploy a commit to the Elie Team on Vercel. A member of the Team first needs to authorize it. |
…ala73#901) Co-authored-by: seilorjunior <13451867+seilorjunior@users.noreply.github.com>
Fix "Add Monitor" button overlapping card in My Monitors panel
|
Thanks for the PR @seilorjunior! The RAF coalescing and GPU hints are solid ideas. A few things to address: 1. Unrelated CSS change — please removeThe 2.
|
|
Closing — all three performance changes in this PR already exist on
Thank you for looking into the performance issue! The fix has already been applied. 🙏 |
Rendering performance optimizations:
src/components/GlobeMap.ts: Refactored the marker rendering logic by introducing aflushScheduledflag and splitting the marker update intoflushMarkers(which coalesces multiple calls usingrequestAnimationFrame) andflushMarkersNow(which performs the actual update), reducing redundant renders and improving frame batching. [1] [2]src/components/DeckGLMap.tsandsrc/components/GlobeMap.ts: Configured both MapLibre and Three.js renderers to request high-performance GPU usage viapowerPreference: 'high-performance'. Additionally, Three.js antialiasing is disabled for better performance, especially on integrated GPUs. [1] [2]Testing and verification:
tests/map-perf-optimizations.test.mjs: Added new tests to verify that marker rendering inGlobeMapis properly coalesced, and that both map components are correctly requesting high-performance GPU settings and disabling antialiasing where appropriate.Affected areas
Map / Globe
News panels / RSS feeds
AI Insights / World Brief
Market Radar / Crypto
Desktop app (Tauri)
API endpoints (/api/*)
Config / Settings
Other:
Checklist
Tested on worldmonitor.app variant
Tested on tech.worldmonitor.app variant (if applicable)
New RSS feed domains added to api/rss-proxy.js allowlist (if adding feeds)
No API keys or secrets committed
TypeScript compiles without errors (npm run typecheck)
Screenshots
N/A — performance fix, no visual changes.