[comp.windows.x] Athena From widget inefficiency

john@kunivv1.sci.kun.nl (John van Krieken) (12/13/89)

Recently I wrote a small application with the Athena Widgets involving 
a single Form widget contain lots of simple widgets (144).
Resizing the application on most platforms took a lot of time.
To my opinion this is caused by the Form widgets resize procedure which
insists on calling XtMoveWidget and XtResizeWidget.
Replacing those by a single XtConfigureWidget call causes a speedup of 40%.
I hope I didn't miss any semantic differences, if so, please flame me.

Is there any one out there who can tell me how to pass this on to the
appropriate development group?

This is the patch (diff -c OLD NEW):
-------------------------------------------------------------------------------
*** /home3/X.V11R3/core.src/lib/Xaw/Form.c      Tue Oct 18 17:30:31 1988
--- Form.c      Wed Dec 13 08:45:05 1989
***************
*** 319,326 ****
                         form->form.bottom ) -y - (*childP)->core.border_width;
        if (width < 1) width = 1;
        if (height < 1) height = 1;
!       XtMoveWidget( (*childP), x, y );
!       XtResizeWidget( (*childP), (Dimension)width, (Dimension)height,
                        (*childP)->core.border_width );
      }

--- 319,325 ----
                         form->form.bottom ) -y - (*childP)->core.border_width;
        if (width < 1) width = 1;
        if (height < 1) height = 1;
!       XtConfigureWidget( (*childP), x, y, (Dimension)width, (Dimension)height,
                        (*childP)->core.border_width );
      }
-------------------------------------------------------------------------------
John van Krieken, dept of computer science, university of nijmegen.
Return Path: john@cs.kun.nl (Please check).