🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #88061

[19.25.92] slow frame creation

#88061
From: Erik Naggum
Date: Sun, 07 Aug 1994 04:27
49 lines
2727 bytes
In GNU Emacs 19.25.92.2 (sparc-sun-sunos4shr) of Wed Aug  3 1994 on naggum.no

the x_sync loop at the end of x_make_frame_visible is causing occasional
delays when new frames are created.  special-display-buffer-frames is bound
to '("*compilation*" "*Help*")), and it sometimes takes a noticeable amount
of time from when a frame is created and displayed until it is filled with
the desired text.  "noticeable" is in the 200-500 ms range.  since this is
obviously a timing issue, I have been unable to reproduce it consistently
enough to find out if x_sync() itself is the culprit, but in the course of
searching, I noticed that Emacs will (sleep-for 1 0) or (sleep-for 0 250)
the first time through the x_sync loop.  at least this has a simple fix:

*** src/xterm.c.~1~	Tue Jul 26 23:56:48 1994
--- src/xterm.c		Wed Aug  3 03:57:02 1994
***************
*** 5684,5692 ****
       so that incoming events are handled.  */
    {
      Lisp_Object frame;
!     int one_in_four = 0;
      XSET (frame, Lisp_Frame, f);
      while (! f->async_visible)
        {
--- 5684,5692 ----
       so that incoming events are handled.  */
    {
      Lisp_Object frame;
!     int one_in_four = 1;
      XSET (frame, Lisp_Frame, f);
      while (! f->async_visible)
        {

I don't know what problem the original x_sync loop fixed, since I didn't
experience anything wrong on my system before it.  if I comment out the
code, *Help* doesn't show up in the tab for the window under twm until I do
something else, but no other problem occurs; display is fast.  I didn't
have any problems before this even over a 14.4K SLIP link, but the new
x_sync() (or the loop) adds another three seconds to the time it takes to
get a *Help* window up.  this isn't so nice.

what were the conditions under which this was necessary?  can these be
determined so that other systems without those conditions do not need the
x_sync()?

best regards,
</Erik>

--
Microsoft is not the answer.  Microsoft is the question.  NO is the answer.
Technical Details
Message-ID: <19940803.3947@naggum.no>
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!sun.cais.com!io.org!uunet.ca!uunet.ca!spool.mu.edu!uwm.edu!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!naggum.NO!erik

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,bc6ba1c2c155313,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1994-08-07 07:53:10 PST
Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!sun.cais.com!io.org!uunet.ca!uunet.ca!spool.mu.edu!uwm.edu!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!naggum.NO!erik
From: erik@naggum.NO (Erik Naggum)
Newsgroups: gnu.emacs.bug
Subject: [19.25.92] slow frame creation
Date: 7 Aug 1994 00:27:43 -0400
Organization: Naggum Software; +47 2295 0313
Lines: 50
Sender: daemon@cis.ohio-state.edu
Approved: bug-gnu-emacs@prep.ai.mit.edu
Distribution: gnu
Message-ID: <19940803.3947@naggum.no>