Closed Bug 580440 Opened 14 years ago Closed 14 years ago

use native-rendering temp surfaces only as large as necessary

Categories

(Core :: Graphics, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla2.0b3

People

(Reporter: karlt, Assigned: karlt)

References

Details

(Keywords: perf)

Attachments

(1 file)

Smaller (temp) drawing surfaces mean that when a transparent plugin invalidates a small rectangle we don't bother doing the alpha extraction over the whole plugin rectangle. For opaque plugins also, this means less drawing and shorter strides between lines of drawing. (BTW, the reason why the bounds passed to the native renderer is that of the plugin rectangle, not the expose rectangle, is so the renderer can use the bounds to know the maximum extents that a plugin not supporting clips might draw if drawing directly.)
Attached patch patch (deleted) — Splinter Review
This also takes account of the surface size when considering clips for drawing direct. There is no need to clip just to keep drawing in the surface (because it is not possible to draw outside the surface). This could help flash videos that are scrolled partially out of the visible rect, if the buffer rotation is such that the edge of the visible rect is the edge of the buffer. Another change here is that temp surfaces for opaque plugins are not cleared before drawing. One thing this patch doesn't do is add an expose region parameter to the native renderer. However, with retained layers, the clip region will often be a good indication of the expose region.
Attachment #458834 - Flags: review?(roc)
Comment on attachment 458834 [details] [diff] [review] patch Requesting approval2.0: The patch for bug 576143 is built on this.
Attachment #458834 - Flags: approval2.0?
Comment on attachment 458834 [details] [diff] [review] patch a=beltzner
Attachment #458834 - Flags: approval2.0? → approval2.0+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Keywords: perf
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b3
Depends on: 595727
Depends on: 597915
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: