Closed Bug 1800301 Opened 2 years ago Closed 2 years ago

Large percentage of time still spent in ScopedResolveTexturesForDraw after 1798929

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: jgilbert, Assigned: jgilbert)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Attachments

(3 files)

I thought the fix in bug 1798929 would remove the problem, but it didn't help as much as I thought!

Assignee: nobody → jgilbert
Severity: -- → S4
Blocks: 1798923
Depends on: 1798929

On webgl aquarium, this pushed fps in a local opt build from 24fps@30k fish to 31fps.

(Edge gets 40fps)

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f5a6e0827824 Reduce allocs and ptr-chasing in ScopedResolveTexturesForDraw. r=gfx-reviewers,lsalzman
  • Add inlining_vector<T,N>, like AutoTArray, but using std::vector for
    familiarity and safety.

Unlike std::vector::resize, AutoTArray::SetLength does not value-initialize.
This seems dangerous, but I don't want to try to fix it.

Can we just adapt std::vector to our needs, it seems like it!

Flags: needinfo?(jgilbert)

I was just playing with this, and it seems pretty straightforward, if clunkily phrased: https://godbolt.org/z/377rqfxKn

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/837b9d0269be Reduce allocs and ptr-chasing in ScopedResolveTexturesForDraw. r=gfx-reviewers,lsalzman
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/be4f28d07be5 Use Vector instead of custom inlining_vector. r=jgilbert
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
Whiteboard: [sp3]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: