Hi,
I know that current implementation of SmartClient drags many years of improvements to let GUI be the same in various browsers, but today's browsers and CSS3 capabilities (Grid Layout, Flexbox Layout) would allow to drop many js code for VLayout HLayout implementations. Have you discussed about this internally? I think it would speed up SmartClient, because now, for each GUI component there are many computations to calculate width heights and positions of each component on screen.
Main issue is that every component requests its or parent's height/width or other style properties which causes browsers to instantly reflow/rendering DOM while GUI is still in drawing. By that browsers cannot optimise their html/css rendering properly and that causes a slow down of GUI. It can be visually seen when application has many GUI elements, e.g. couple of Calendars with many items.
Maybe at first VLayout HLayout can be rewritten to use Flexbox Layout model instead of custom calculations written in js? Or it's technically would be entire rewrite?
I know that current implementation of SmartClient drags many years of improvements to let GUI be the same in various browsers, but today's browsers and CSS3 capabilities (Grid Layout, Flexbox Layout) would allow to drop many js code for VLayout HLayout implementations. Have you discussed about this internally? I think it would speed up SmartClient, because now, for each GUI component there are many computations to calculate width heights and positions of each component on screen.
Main issue is that every component requests its or parent's height/width or other style properties which causes browsers to instantly reflow/rendering DOM while GUI is still in drawing. By that browsers cannot optimise their html/css rendering properly and that causes a slow down of GUI. It can be visually seen when application has many GUI elements, e.g. couple of Calendars with many items.
Maybe at first VLayout HLayout can be rewritten to use Flexbox Layout model instead of custom calculations written in js? Or it's technically would be entire rewrite?
Comment