secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
209 stars 53 forks source link

LLFontGL::render optimizations #2411

Open akleshchev opened 1 month ago

akleshchev commented 1 month ago

LLFontGL::render uses LLRender's Vertex Buffer cache. This results in initialization overtime where long strings allocate a bunch of small buffers, then results in looking for those buffers in cache each frame. Additionally to perfom a search LLFontGL needs to generate a vertex array and then use it to do a hash for seach.

Task:

AtlasLinden commented 1 week ago

Test plan

Verify that:

  1. Nametags don't visually differ from release and properly follow avatar
  2. Various highlights of elements in UI work properly. Particularly breathing/flashing buttons
  3. No issues with text in notecards or scripts
  4. No issues spotted in Inventory UI
DmitrySProductengine commented 1 week ago

Passed QA. Verified on the Second Life Release 7.1.11.11074622243 (64bit) on Win11/OSX in the scope of IQA #356. No unexpected behaviors with text, UI and their display were found.

There was a nuance in Windows 11 - during script editing the cursor was white. But the reason turned out to be in the color scheme of the mouse cursor in Windows 11 - it is white by default. After changing to black during script editing the cursor also became black.