secondlife / secondlife/viewer

LLUIImage vertex buffer optimization

Open
#5,972 0 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #5976 by @akleshchev — merged
enhancement stale
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

General cache lookup can be expensive, even without misses. Viewer uses a lot of UI images, drawing them from general cache incurs significant price in hash and lookup, but those images are already one of a kind and can work as their own cache. Optimize UI images to act as their own cache.

Note: on the image 'flush' actually belong to a previous call due to how LLRender works

Image

Test plan

  • performance is not worse than release
  • the UI is not malformed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing LLUIImage vertex-buffer drawing and how UI images use the general cache; review the note about image flushes belonging to a previous LLRender call. Compare performance with the release build and verify that the UI is not malformed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.