LL perf (UI): Smaller UI items #372
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#372
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From the LL-origin inefficiency audit (finding U16). File/line references are from commit
0229f8872c; re-locate them before working.Smaller UI items
findIdByNamelinear scan of the name cache per history line (llavatarnamecache.cpp:799-819).idleProcessEventsruns while hiddenllfloaterimcontainer.cpp:493-544, 701-703)LLOutputMonitorCtrl::drawbuilds astd::setof all voice participants every frame per indicator (lloutputmonitorctrl.cpp:146-160).LLFloaterView::refreshdoes adynamic_castandadjustToFitScreenover every floater every frame (llfloater.cpp:3185-3202, 3512, 3551).drawChildrencallscalcScreenRectper child (O(N·depth),llview.cpp:1268-1320).getPathname()builds a string on every handled click with recording off (llview.cpp:798).LLSpeakerMgr::update(llspeakers.cpp:364-480):getAvatarsplus afindObjectper text speakerfsradar.cpp:338) and from the nearby-chat speaking indicator (llfloaterimnearbychat.cpp:785)LLUrlEntryIPv6::getLabel/getQuery(llurlentry.cpp:1708, 1723),llweb.cpp:240-246,llviewerregion.cpp:151-152,llnotificationofferhandler.cpp:165. Low frequency; make them static.Checked and fine:
LLScrollListCtrlsorting is gatedLLUrlRegistry::findUrlis pre-filtered and cachedLLAvatarNameCachebatching and expiryLLAvatarListdirty gatingLLNetMapraster is slicedLLControlGroupuses an unordered_map with string_viewVerify the cost (profile or timer) before and after changing it.
Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).