To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=42462
                  Issue #:|42462
                  Summary:|extremely poor rendering performance
                Component:|Drawing
                  Version:|680m77
                 Platform:|Other
                      URL:|
               OS/Version:|Linux
                   Status:|NEW
        Status whiteboard:|
                 Keywords:|
               Resolution:|
               Issue type:|DEFECT
                 Priority:|P3
             Subcomponent:|code
              Assigned to:|wg
              Reported by:|mmeeks





------- Additional comments from [EMAIL PROTECTED] Thu Feb 10 12:37:29 -0800 
2005 -------
With the attached spreadsheet - which implements approximately 250 list-boxes in
a single sheet [ a cut-down version of a real-world use case ], we get
staggeringly bad performance.

* A big chunk of this seems to be the cost of instantiating the list-box - which
(it seems) involves lots of X-server traffic some of it of very dubious
usefulness [ setting window titles of unlikely-to-be-used floating windows etc. 
]

* Another chunk I imagine is possibly vcl not scaling very nicely to having a
thousand-or-so peers of the one window; at destruction time we have a huge
slow-down but perhaps that's via call-backs or somesuch.

* scrolling is also really direly performing :-)

* The main cause of the evilness though I think is the SdrPageView - which
insists on instantiating (I assume 4 times over - due to the double sheet split
], hundreds of occluded controls.

My profiles show time being consumed down this sort of path:

SdrPageView ImpInsertControl() -> UnoControlContainer::addControl ->
UnoListBoxControl::createPeer -> ListBox::ListBox etc.

I'd be interested in an acceptable design to accelerate this; for example - it
seems to me rather futile doing all this work immediately, when we could perhaps
move the body of ImpInsertControl (wrt. control construction & placement) inside
the SdrUnoControlRec - and instantiate all of that weight, only when the
SdrUnoControlRec object becomes visible.

Unfortunately given my limited understanding how how any of it works - it's
rather difficult to work out what's going on; pwrt. the co-ordinate systems
involved. I infer from the 'view' in 'SdrPageView' that there must be a 
per-view 
translation applied to all controls - to allow views to have different origins,
but - that appears no-where to be the case.

Either way - I'm interested in tackling this issue, but - will need some advice
first.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to