[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1748: 23.0.60; display of multiple frames: refresh and memory proble
bug#1748: 23.0.60; display of multiple frames: refresh and memory problems
Tue, 30 Dec 2008 22:03:03 -0800
I see this with my own setup, which uses more faces etc., but I
can reproduce it to some extent in emacs -Q. When many frames
are open, I see these problems, in order of severity, severity
worsening with more frames:
1. Redisplay problems. If a frame is partly behind another frame or
other window-mgr window, and the occluding frame is iconified or moved
out of the way, then the formerly hidden part of the occluded frame
that is now visible is not refreshed - it stays blanked out.
With enough frames it is never refreshed until I do `C-l'. The result
is that in practice, with my setup, having several frames means I must
often do `C-l' to see a frame.
2. Memory problems. With enough frames opened, I get a memory warning
from Emacs, or Emacs hangs altogether, or it crashes.
With my own setup, the redisplay problems happen with even a few frames,
the memory 75% warning appears with about 15 frames. And if I open, say 20
frames, Emacs hangs and I need to use the task manager to kill it - or it
crashes. With Emacs 20 through 22, I never see any such problems. I can have
several Emacses open at once, with any number of frames for each. As soon as I
use Emacs 23, I run into these problems.
With emacs -Q, it takes many, many more frames for problem #1 to appear, and I
have not yet seen problem #2. As I write this, I'm seeing the redisplay problem
somewhat in emacs -Q, with 30 frames open. But the problem is still slight in
emacs -Q: if I move a frame the others are redisplayed pretty quickly.
If I can isolate anything else in my own setup that contributes to this I'll
send it along, but that might not be soon or easy.
A quick way to test the redisplay problem with emacs -Q is to load dired-x.el,
set pop-up-frames to t, and eval this:
(defun dired-simultaneous-find-file (file-list option)
"Same as original, but respects `pop-up-frames'."
(cond ((and option (natnump option))
(while file-list (find-file-noselect (car file-list)) (pop
((or pop-up-frames option)
(while file-list (find-file-other-frame (car file-list)) (pop
(setq size (/ (window-height) (length file-list)))
(when (> window-min-height size)
(error "Too many files to visit simultaneously. Try C-u prefix."))
(find-file (car file-list))
;; Vertically split off a window of desired size.
;; Upper window will have SIZE lines.
;; Select lower (larger) window. We split it again.
(select-window (split-window nil size))
(find-file (car file-list))
Then mark lots of files in Dired and hit `F' to open them all in
In GNU Emacs 188.8.131.52 (i386-mingw-nt5.1.2600)
of 2008-12-30 on LENNART-69DE564
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include
|[Prev in Thread]
||[Next in Thread]|
- bug#1748: 23.0.60; display of multiple frames: refresh and memory problems,
Drew Adams <=