Speeding up SOR Solvers for Constraint-based GUIs with a Warm-Start Strategy

01/06/2014
by   Noreen Jamil, et al.
0

Many computer programs have graphical user interfaces (GUIs), which need good layout to make efficient use of the available screen real estate. Most GUIs do not have a fixed layout, but are resizable and able to adapt themselves. Constraints are a powerful tool for specifying adaptable GUI layouts: they are used to specify a layout in a general form, and a constraint solver is used to find a satisfying concrete layout, e.g. for a specific GUI size. The constraint solver has to calculate a new layout every time a GUI is resized or changed, so it needs to be efficient to ensure a good user experience. One approach for constraint solvers is based on the Gauss-Seidel algorithm and successive over-relaxation (SOR). Our observation is that a solution after resizing or changing is similar in structure to a previous solution. Thus, our hypothesis is that we can increase the computational performance of an SOR-based constraint solver if we reuse the solution of a previous layout to warm-start the solving of a new layout. In this paper we report on experiments to test this hypothesis experimentally for three common use cases: big-step resizing, small-step resizing and constraint change. In our experiments, we measured the solving time for randomly generated GUI layout specifications of various sizes. For all three cases we found that the performance is improved if an existing solution is used as a starting solution for a new layout.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/23/2020

ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints

OR-constrained (ORC) graphical user interface layouts unify conventional...
research
01/06/2014

Constraint Solvers for User Interface Layout

Constraints have played an important role in the construction of GUIs, w...
research
02/23/2022

ReverseORC: Reverse Engineering of Resizable User Interface Layouts with OR-Constraints

Reverse engineering (RE) of user interfaces (UIs) plays an important rol...
research
04/10/2021

Joint Program and Layout Transformations to enable Convolutional Operators on Specialized Hardware based on Constraint Programming

The success of Deep Artificial Neural Networks (DNNs) in many domains cr...
research
02/26/2022

Automatic Tabulation in Constraint Models

The performance of a constraint model can often be improved by convertin...
research
08/25/2017

Chisio: A Compound Graph Editing and Layout Framework

We introduce a new free, open-source compound graph editing and layout f...
research
02/25/2020

Optimizing User Interface Layouts via Gradient Descent

Automating parts of the user interface (UI) design process has been a lo...

Please sign up or login with your details

Forgot password? Click here to reset