From: mrp@... Date: 2001-10-08T19:21:59+09:00 Subject: [ruby-talk:22225] ruby-gtk: freq of mouse events: linux vs win nt hi, i'm using ruby-gtk in a paint-like program. on a 400MHz linux machine i can receive up to 150 mouse motion events per second, but running the code under Win NT 4.0 on a 800MHz machine this drops to between 10-20 per second. running on an old p130 also gets 20 per second! on the 800 machine, the performance meter hardly gets above 1%. on the p130, it gets to 10%. here's the code i used to measure this. #!/usr/local/bin/ruby require 'gtk' class MouseSpeedWindow < Gtk::DrawingArea def initialize super signal_connect("button_press_event") { |w,e| pressed(w,e) } signal_connect("button_release_event") { |w,e| released(w,e) } signal_connect("motion_notify_event") { |w,e| dragged(w,e) } set_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::BUTTON1_MOTION_MASK # | Gdk::POINTER_MOTION_HINT_MASK ) end def pressed(widget, ev) # widget.window.get_pointer @strokeStartTime = Time.now @points = 1 true end def dragged( widget, ev) # widget.window.get_pointer @points+=1 true end def released(widget, ev) #widget.window.get_pointer sec = (Time.now.to_i - @strokeStartTime.to_i).to_f puts "stroke : #{ @points.to_f / sec}" true end end window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL) window.signal_connect("delete_event") { exit } window.signal_connect("destroy_event") { exit } window.add( MouseSpeedWindow.new ) window.show_all window.set_default_size( 640,480 ) window.set_uposition( 0,0 ) Gtk::main() =========== i'm using the windows 1.6.5 build from here: http://www.ruby-lang.org/~eban/ruby/binaries/djgpp/ and 1.6.4 under linux (rh7.0) questions: why is there such a big difference? is there anything i can do to speed it up under windows? thanks, martin.