Commit de88742
Reduce LLFolderView per-item memory + fix three folderview defects
View items (cost paid per item, per open inventory window):
- Intern per-item-constant layout + colors into a shared LLFolderViewItemStyle
const*, deduplicated across items (~100 B/item); also drop two dead fields
(mLeftPad, mTextPadRight).
- Lazily build the label/suffix LLFontVertexBuffers and release them when an item
goes off-screen (setVisible override), so only on-screen items hold text
geometry instead of every built item.
Defects:
- draw(): the icon-overlay branch dereferenced the nullable mIcon for its height;
fall back to the overlay's own height.
- onIdleUpdateFavorites(): the 'nothing changed' path left mFavoritesDirtyFlags
set, leaking a per-idle callback that rescanned children every frame; clear it
and deregister.
- arrange(): drop two redundant sFonts map lookups (use getLabelFont()/sSuffixFont).
Inventory bridge:
- Remove dead shadowed base LLInvFVBridge::mTimeSinceRequestStart (~16 B per
bridge, per window); only LLFolderBridge's own copy is used.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent afae804 commit de88742
5 files changed
Lines changed: 169 additions & 71 deletions
File tree
- indra
- llui
- newview
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
210 | | - | |
| 210 | + | |
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
234 | | - | |
235 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
236 | 236 | | |
237 | | - | |
| 237 | + | |
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| |||
0 commit comments