Xavier Morel 51dbb70b8d [FIX] mitigate horrendous performance issues inserting options in Webkit
In some cases, at least with complex-enough views, inserting many
options in a document in a row will get progressively slower.

In import, this issue is hit on trying to import partners: partners
have a humongous number of fields (direct and on their o2m), ~940,
which yields a correspondingly huge number of options in the
selection.

A basic partner export also has quite high a number of columns (~50
without exporting o2m fields), so this list of 940 options is inserted
50 times in a row (literally too, they're all in the same table row)..

While not all that fast, Firefox 5/6 has no significant issue with
this (~18ms/insertion, where an insertion is a full select with all
its options). Webkit browsers (Chrome and Safari) on the other hand
start out fair (~10ms/insertion), but get slower and slower until they
end up at 3~5 *seconds* for each insertion (3s if inserting a
DocumentFragment, 5s if inserting text via innerHTML). This means the
preview table takes up to *two minutes* to display, even the best
cases (pre-generating everything that can be and optimizing everything
I could think of) take 75 *seconds* for the insertions (the
pregeneration of a given select and its options is ~100ms, the base
template rendering is ~20ms).

rendering divs or inputs does not have this issue, I did not manage to
reduce or fix the issue directly so I replaced the options by
jQuery-ui's autocomplete widget. This is not issues-free: when tabbing
through the fields lists, when reaching the edge of the popup the
browser will automatically scroll the field back into view. However,
this is done *after* autocomplete's popup has opened, and as a result
the popup opens in the wrong place (at the popup's edge, instead of
under the now-moved field).

bzr revid: xmo@openerp.com-20110922085812-3u1esk6czraskm01
2011-09-22 10:58:12 +02:00
2011-09-07 08:14:16 +02:00
2010-12-21 21:27:27 +01:00
2011-08-16 01:02:43 +02:00
2009-01-26 22:27:21 +02:00
2011-05-11 12:34:55 +02:00
2011-03-28 14:29:58 +02:00
2011-05-13 13:42:28 +02:00
2010-09-28 20:53:49 +02:00
2011-09-06 21:20:04 +02:00
2010-10-19 00:00:03 +02:00

About OpenERP

---------------



OpenERP is a free Enterprise Resource Planning and Customer Relationship 

Management software. It is mainly developed to meet changing needs.



The main functional features are: CRM & SRM, analytic and financial accounting,

double-entry stock management, sales and purchases management, tasks automation,

help desk, marketing campaign, ... and vertical modules for very specific 

businesses.



Technical features include a distributed server, flexible workflows, an object 

database, dynamic GUIs, customizable reports, NET-RPC and XML-RPC interfaces, ...



For more information, please visit: 

http://www.openerp.com



S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%