Discussion:
Blank, unresponsive JEDI under Linux/X11.
Andrés Musetti
2012-04-12 14:05:28 UTC
Permalink
Hi again!
I'm using Jazz/JEDI under Linux and X11, and JEDI goes blank and
unresponsive for several seconds when invoking certain actions, like
opening a file, changing workspace, etc.

This is *really* annoying, as those actions are used very often. Does
anyone suffer the same problem?

I thought it could have something to do with JEDI being blocked into a C
function call, as it is based on Gambit-C, but maybe it is completely
unrelated.


I'm using ArchLinux (both x86 and x86-64), and it happens all the time.

Any help or insights is really appreciated.

Thanks in advance,

Andrés.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To view this discussion on the web visit https://groups.google.com/d/msg/jazzscheme/-/4ET6a5wrAREJ.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Marc Feeley
2012-04-12 14:18:03 UTC
Permalink
Post by Andrés Musetti
Hi again!
I'm using Jazz/JEDI under Linux and X11, and JEDI goes blank and unresponsive for several seconds when invoking certain actions, like opening a file, changing workspace, etc.
This is *really* annoying, as those actions are used very often. Does anyone suffer the same problem?
I thought it could have something to do with JEDI being blocked into a C function call, as it is based on Gambit-C, but maybe it is completely unrelated.
Gambit has a complete non-blocking I/O system with which it is possible to do I/O concurrently with other operations. So in principle such pauses could be avoided by careful use of the Gambit I/O functions.

So either

1) The code that does the I/O is written in C and interfaced with the FFI. In that case, the Scheme thread system will not be preemptive.

2) The I/O is done in Scheme, but it is written in a "synchronous" style. In other words, the event loop receives the event to open a file and this triggers the required operations (reading the file, syntax highlighting, etc) and only after all those operations are done is control returned to the event loop. This could be solved by starting a Scheme thread to do the operations, and returning immediately to the event loop.

Marc
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Andrés Musetti
2012-04-13 13:48:00 UTC
Permalink
Hi Marc!

Yep! That's what I meant by "blocked into a C function call". I knew it had
something to do with that! ;-)

Thanks for the explanation Marc.

And thanks a lot for Gambit, it's an amazing piece of software!

Andrés.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To view this discussion on the web visit https://groups.google.com/d/msg/jazzscheme/-/oC3la_6_M_MJ.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Guillaume Cartier
2012-04-13 01:08:18 UTC
Permalink
Hi Andrés,

I just built Jedi with the latest code on Ubuntu X11 using VMWare on my
Window PC and everything is running very smooth. Actually even smoother
than I remembered! There is a small flicker when doing the operations you
mention but nothing close to the seconds delay you are getting.

Actually, good news. I tried opening many modules and now I get the effect
you are describing. Looking into it.

Guillaume

On Thu, Apr 12, 2012 at 10:05 AM, Andrés Musetti
Post by Andrés Musetti
Hi again!
I'm using Jazz/JEDI under Linux and X11, and JEDI goes blank and
unresponsive for several seconds when invoking certain actions, like
opening a file, changing workspace, etc.
This is *really* annoying, as those actions are used very often. Does
anyone suffer the same problem?
I thought it could have something to do with JEDI being blocked into a C
function call, as it is based on Gambit-C, but maybe it is completely
unrelated.
I'm using ArchLinux (both x86 and x86-64), and it happens all the time.
Any help or insights is really appreciated.
Thanks in advance,
Andrés.
--
You received this message because you are subscribed to the Google Groups
"Jazz Scheme" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/jazzscheme/-/4ET6a5wrAREJ.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/jazzscheme?hl=en.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Guillaume Cartier
2012-04-13 02:29:03 UTC
Permalink
Hi Andrés,

The Jedi commit "Sync jazz for workspace switch improvements" I just pushed
makes workspace switching *alot* smoother on X11.

A related good news is that I was able to reproduce the problem on Windows
by removing the call to LockWindowUpdate. This function is a big
Windows band-aid that we use to push under the rug thinking about update
problems. X11 having no equivalent I know off, this is why workspace
switching is so much smoother on Windows. In the next few days I will try
and remove this function altogether replacing it with clean update
management as it is not really needed any more. This should make updates
faster and ensure behavior is uniform across platforms.

I also want to take a look at the other problem making the X11 experience
less enjoyable than on Windows: the flicker of Menus and Dialogs when they
draw their background.

Guillaume

On Thu, Apr 12, 2012 at 9:08 PM, Guillaume Cartier
Post by Guillaume Cartier
Hi Andrés,
I just built Jedi with the latest code on Ubuntu X11 using VMWare on my
Window PC and everything is running very smooth. Actually even smoother
than I remembered! There is a small flicker when doing the operations you
mention but nothing close to the seconds delay you are getting.
Actually, good news. I tried opening many modules and now I get the effect
you are describing. Looking into it.
Guillaume
Post by Andrés Musetti
Hi again!
I'm using Jazz/JEDI under Linux and X11, and JEDI goes blank and
unresponsive for several seconds when invoking certain actions, like
opening a file, changing workspace, etc.
This is *really* annoying, as those actions are used very often. Does
anyone suffer the same problem?
I thought it could have something to do with JEDI being blocked into a C
function call, as it is based on Gambit-C, but maybe it is completely
unrelated.
I'm using ArchLinux (both x86 and x86-64), and it happens all the time.
Any help or insights is really appreciated.
Thanks in advance,
Andrés.
--
You received this message because you are subscribed to the Google Groups
"Jazz Scheme" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/jazzscheme/-/4ET6a5wrAREJ.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/jazzscheme?hl=en.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Guillaume Cartier
2012-04-13 14:21:35 UTC
Permalink
Hi again Andrés,

I just pushed some code that seems to fix the menu flicker.

As I only have access to Ubuntu at the moment, can you let me know if it's
working correctly for you on your ArchLinux.

Guillaume
Post by Guillaume Cartier
Hi Andrés,
The Jedi commit "Sync jazz for workspace switch improvements" I just
pushed makes workspace switching *alot* smoother on X11.
A related good news is that I was able to reproduce the problem on Windows
by removing the call to LockWindowUpdate. This function is a big
Windows band-aid that we use to push under the rug thinking about update
problems. X11 having no equivalent I know off, this is why workspace
switching is so much smoother on Windows. In the next few days I will try
and remove this function altogether replacing it with clean update
management as it is not really needed any more. This should make updates
faster and ensure behavior is uniform across platforms.
I also want to take a look at the other problem making the X11 experience
less enjoyable than on Windows: the flicker of Menus and Dialogs when they
draw their background.
Guillaume
On Thu, Apr 12, 2012 at 9:08 PM, Guillaume Cartier <
Post by Guillaume Cartier
Hi Andrés,
I just built Jedi with the latest code on Ubuntu X11 using VMWare on my
Window PC and everything is running very smooth. Actually even smoother
than I remembered! There is a small flicker when doing the operations you
mention but nothing close to the seconds delay you are getting.
Actually, good news. I tried opening many modules and now I get the
effect you are describing. Looking into it.
Guillaume
On Thu, Apr 12, 2012 at 10:05 AM, Andrés Musetti <
Post by Andrés Musetti
Hi again!
I'm using Jazz/JEDI under Linux and X11, and JEDI goes blank and
unresponsive for several seconds when invoking certain actions, like
opening a file, changing workspace, etc.
This is *really* annoying, as those actions are used very often. Does
anyone suffer the same problem?
I thought it could have something to do with JEDI being blocked into a C
function call, as it is based on Gambit-C, but maybe it is completely
unrelated.
I'm using ArchLinux (both x86 and x86-64), and it happens all the time.
Any help or insights is really appreciated.
Thanks in advance,
Andrés.
--
You received this message because you are subscribed to the Google
Groups "Jazz Scheme" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/jazzscheme/-/4ET6a5wrAREJ.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/jazzscheme?hl=en.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Andrés Musetti
2012-04-13 20:20:59 UTC
Permalink
Post by Guillaume Cartier
Hi again Andrés,
I just pushed some code that seems to fix the menu flicker.
As I only have access to Ubuntu at the moment, can you let me know if it's
working correctly for you on your ArchLinux.
Guillaume
Hi Guillaume!

After updating and building commit 2b001b34a785bfdcc43a6c4fd02bf5b10a6f9c24
("Sync for with-locked-update cross-platform"), JEDI started to work
beautifully.
Switching workspaces back and forth, and opening files was *instantaneous*,
without any flickering nor human-noticeable delays.
The menus where still a bit flickering though, as you mentioned.

After updating and building commit e71f53b8e42a89e5a0677e60589cd63168ed899b
("Sync for X11 background pixel removal"), menus are working flawlessly,
with just a few milliseconds delay before popping-up (the same drawing
delay that caused the flickering in the first place, I guess), but now the
menu windows are shown after they are drawn, so the flickering is gone!
Good job!
I've noticed that after this update *there is* a few milliseconds delay
when switching workspaces, too. Not that I'm complaining, but as a matter
of completeness.

This is a *huge* improvement you just made, as the previous behaviour was a
real handicap to usability.

Now JEDI works flawlessly! Thank you very much! :)

Andrés.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To view this discussion on the web visit https://groups.google.com/d/msg/jazzscheme/-/Sr55Xxd39Q8J.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Guillaume Cartier
2012-04-14 22:37:58 UTC
Permalink
Hi Andrés,

This is really good news!

Related to this, today I migrated all my personal projects to Ubuntu. I
plan on making it my development platform at home (at work we are 9
developers working fulltime with Jazz and Jedi, but as all our projects are
Windows only at the moment, this is the platform we are all using). This
should help me improve the Jazz implementation on non-Windows platforms and
hopefully have them running as smoothly as the Windows one sometime in the
near future.

First thing I noticed after launching Jedi on Ubuntu is that the font
rendering is really bad making it barely usable imho. To experiment with
different font options, I added the following settings (which you can set
in $HOME/.jedi/2.5.1/.settings) that can now be used to customize how cairo
(http://cairographics.org/: the graphics library Jazz uses) renders fonts :

cairo.antialias default
cairo.subpixel default
cairo.hint-style default
cairo.hint-metrics default

After looking at Ubuntu's own fonts settings using the Preferences /
Appearance dialog, i made cairo.hint-style default to: slight. With this,
font rendering is now very nice on Ubuntu. Could you and anyone having
access to other platforms than Ubuntu try the latest and report whether
these new settings improve or worsen font rendering for them.

PS: I noticed that the Edit / Paste Cycle Ring menu command was not working
on non-Windows platforms. It is now fixed.
PPS: This command implements a clipboard ring similar to the one in emacs.

Guillaume
Post by Andrés Musetti
Post by Guillaume Cartier
Hi again Andrés,
I just pushed some code that seems to fix the menu flicker.
As I only have access to Ubuntu at the moment, can you let me know if
it's working correctly for you on your ArchLinux.
Guillaume
Hi Guillaume!
After updating and building commit
2b001b34a785bfdcc43a6c4fd02bf5b10a6f9c24 ("Sync for with-locked-update
cross-platform"), JEDI started to work beautifully.
Switching workspaces back and forth, and opening files was
*instantaneous*, without any flickering nor human-noticeable delays.
The menus where still a bit flickering though, as you mentioned.
After updating and building commit
e71f53b8e42a89e5a0677e60589cd63168ed899b ("Sync for X11 background pixel
removal"), menus are working flawlessly, with just a few milliseconds delay
before popping-up (the same drawing delay that caused the flickering in the
first place, I guess), but now the menu windows are shown after they are
drawn, so the flickering is gone! Good job!
I've noticed that after this update *there is* a few milliseconds delay
when switching workspaces, too. Not that I'm complaining, but as a matter
of completeness.
This is a *huge* improvement you just made, as the previous behaviour was
a real handicap to usability.
Now JEDI works flawlessly! Thank you very much! :)
Andrés.
--
You received this message because you are subscribed to the Google Groups
"Jazz Scheme" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/jazzscheme/-/Sr55Xxd39Q8J.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/jazzscheme?hl=en.
--
You received this message because you are subscribed to the Google Groups "Jazz Scheme" group.
To post to this group, send email to jazzscheme-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To unsubscribe from this group, send email to jazzscheme+***@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en.
Loading...