Forum: Ruby Ruby/Tk running very slowly

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Matt G. (Guest)
on 2009-05-02 23:40
(Received via mailing list)
Ruby/Tk runs very slowly and I can't figure out why.  It's so slow
that I can every little widget being drawn.  It didn't used to be like
this, but I messed around with my computer and broke something, I

My OS is Windows XP.  I'm using Ruby 1.9.1-p0 with ActiveTcl 8.5.7.

I compiled Ruby myself and I've been experimenting with various
options to the configure batch file.

This whole problem started with Ruby/Tk hanging.  I would try to run a
Ruby/Tk program and it would hang so badly that I would have to kill
the process.  This hang would happen at the "require 'tk'" line in the
program, so no windows were being drawn or anything.  I think it broke
when I was messing around with Tcl/Tk versions 8.4 and 8.5, switching
between them.  It used to work, but I can't remember which version was
the working one.

Right now I have both Tk 8.4 and 8.5 installed.  I used the --with-
tclConfig-file configure option to point it at the 8.5 version.  I
think that works, I don't know.

Any ideas would be greatly appreciated!
Roger P. (Guest)
on 2009-05-05 06:29
> My OS is Windows XP.  I'm using Ruby 1.9.1-p0 with ActiveTcl 8.5.7.

what compiler?  I know I was able to run 1.8.6+tk reasonably well with
Hidetoshi NAGAI (Guest)
on 2009-05-07 01:26
(Received via mailing list)
From: Matt <removed_email_address@domain.invalid>
Subject: Ruby/Tk running very slowly
Date: Sun, 3 May 2009 04:40:04 +0900
> My OS is Windows XP.  I'm using Ruby 1.9.1-p0 with ActiveTcl 8.5.7.

If you run Ruby (irb) on a command prompt, it may the trouble which
depends on "Thread switching".
Then, please try ext/tk/sample/irbtkw.rbw.

If not on a command prompt, it may trouble on making a thread for
a Tcl/Tk interpreter.
A Tk eventloop must run on the thread on which a Tcl/Tk interpreter
is initialized. To make "{Tk.mainloop}" available, Ruby/Tk
for ruby1.9.x makes a thread to create a Tcl/Tk interpreter and run
a eventloop for the interpreter.
Maybe, this process generate the trouble.

Could you try to eval the following before "require 'tk'"?
This topic is locked and can not be replied to.