#12675 BLOC 13.2.0: Zooming in Browse decreases perfomance
Zarro Boogs per Child
bugtracker at laptop.org
Thu May 9 17:31:34 EDT 2013
#12675: Zooming in Browse decreases perfomance
------------------------------------+---------------------------------------
Reporter: reuben | Owner: dsd
Type: defect | Status: new
Priority: blocker | Milestone: 13.2.0
Component: not assigned | Version: not specified
Resolution: | Keywords:
Next_action: never set | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
------------------------------------+---------------------------------------
Comment(by dsd):
Yes, upon zooming into this page, the stream of requests that reaches the
driver changes drastically. Notably, there are a lot of bilinear scaling
operations requested when zoomed in, which seems logical. And
CheckComposite in xf86video-dove is rejecting these operations.
In other words, upon being asked to draw various parts of this website
when zoomed, the driver is reporting that the hardware cannot accelerate
the request, which causes a software fallback to happen. And there are too
many operations on too many pixels (especially with the ongoing animations
on that page) for this to happen smoothly on our hardware.
XO-1.5 works better here because it does accelerate these operations.
In order to decently accelerate this website we would need to implement
all of the following acceleration paths in xf86-video-dove:
1. Composite operations involving masks (even though there is unused mask
handling code appearing in the later routines).
2. Composite operations involving pictures with a bilinear filter
applied.
3. Composite operations involving a scaling transform.
The graphics engine in the hardware should be capable of acceleration
here, these are all quite primitive. In reality, it looks like the
acceleration paths in the driver are quite incomplete and hence it rejects
a hell of a lot of acceleration requests, we miss out on a lot of
optimization all over (not just in Browse).
Looking forward to the latest generation of the graphics driver that we
have received but never successfully deployed ("vivante_exa"), all
operations with masks are still rejected with a comment "If mask is on,
fallback to sw path currently." There is no code that checks or handles
the filter flag, so I guess item 2 is also in no better shape. As for
transforms, vivante_exa does appear to identify scaling transforms
("stretch") so maybe that part does work. But without the other 2 items
present, it is unlikely to mean much.
I don't think this can be considered in scope for 13.2.0. I can't see a
quick solution, and implementing the acceleration paths above would be a
long and challenging project.
--
Ticket URL: <http://dev.laptop.org/ticket/12675#comment:4>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list