|Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread|
|Messages 11 to 13 of 13 total|
|Beware autosize and layout|
|Wed, Sep 23 2015 12:22 PM||Permanent Link|
> "Everything old is new again"
Indeed - I remember programming "GEM" on the PC and Atari, and we had
to take care not to touch the UI if we could help it. Better to keep
the last value and compare it in code to the new value, and not pass it
to the UI if nothing had changed. Thousands of cycles.
In this case, there is a particular method for the browser that appears
to be taking way longer than anything else. Presumably doing lots of
calculating line lengths etc. Completely wasted as it makes no
difference, but it doesn't know that. Several times a second and all
you do is sit waiting for that line...
|Wed, Sep 23 2015 6:13 PM||Permanent Link|
Tim Young [Elevate Software]
Elevate Software, Inc.
<< For the historical record, I've done more playing with this and Tim had a look. Basically, browsers are poor at measuring their sizes, so if you are going to be doing a lot of changing of edit boxes and probably other components too, then you need to be careful. It's a browser thing... >>
Whoaa, hold on a second.
The issue is with how the underlying text area elements work, not with general layout issues. Text area elements, like all input elements in browsers, have but one "value" property. Therefore, for something like what you're doing, the entire value has to be replaced every time you add a new line. *That* is what is taking up so much time, and probably what is causing the scrollWidth property to take forever to recalculate. What the text area elements need are a way to work with individual lines, something that they sorely lack.
EWB 2 does a very good of job of eliminating "touching the DOM in the browser" issues, so you shouldn't see any general performance issues with layout, resizing, etc., provided that you use BeginUpdate/EndUpdate for batch updates to controls.
This is especially true with the upcoming 2.02, which has optimized the layout handling of auto-sized, left/right-stretched, word-wrapped content. That's what has improved the grid cell updating performance. You can see the new performance in this example project on the site:
If you scroll up and down using the up-arrow/down-arrow/page-up/page-down keys, you will see that navigation is much quicker in grids now. This optimization also applies to the TListBox control.
|Thu, Sep 24 2015 4:04 AM||Permanent Link|
Tim Young [Elevate Software] wrote:
> The issue is with how
Thanks for adding all the detail. It certainly isn't something to worry
about unless you are being mad like me and updating a 2000 line
multi-line edit many times a second. 8-) But if you are mad like me,
then there are ways around it...
|« Previous Page||Page 2 of 2|
|Jump to Page: 1 2|