Closed Bug 878365 Opened 11 years ago Closed 11 years ago

Don't throw GLScreenBuffer off a perf cliff if SwapProd fails once.

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: jgilbert, Assigned: jgilbert)

References

Details

Attachments

(1 file)

If SwapProd fails once, we try to revert to ShSurf_Basic. However, there's no mechanism to revert back (maybe) eventually. We should not fall off a perf cliff if we just happen to fail once by accident. Instead, just let slow be slow, and create a temp Basic factory each time SwapProd fails.
Attachment #756886 - Flags: review?(bjacob)
Please explain the situation in which SwapProd fails, and the reason why it would fail just once and work fine afterwards?
(In reply to Benoit Jacob [:bjacob] from comment #2)
> Please explain the situation in which SwapProd fails, and the reason why it
> would fail just once and work fine afterwards?

It will fail for backend-defined reasons, but basically it fails if creation of a surface of the requested size and type fails.

In the case of ANGLE, it looks like we sometimes fail during creation (perhaps for OOM reasons). If we hit near OOM once because of a late GC, we don't want to make all subsequent composites slow if we might come back from the OOM later.
Comment on attachment 756886 [details] [diff] [review]
patch: Fall back to Basic a la carte.

Review of attachment 756886 [details] [diff] [review]:
-----------------------------------------------------------------

I have a hard time believing that this is something that people actually run into on desktop machines with slow swap memory, but whatever. At least it makes us have less state.
Attachment #756886 - Flags: review?(bjacob) → review+
https://hg.mozilla.org/mozilla-central/rev/068b67ace29c
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: