[visionegg] Re: screen.clear() requires 40ms....

  • From: Christoph Lehmann <lehmann@xxxxxxxxxxxx>
  • To: visionegg@xxxxxxxxxxxxx
  • Date: Wed, 27 Aug 2003 14:56:08 +0200

it seems that I changed some display configurations, some time ago...
and forgot to enable "HARDWARE 3D ACCELERATION" ...again enabled, timing
is perfect again....

yes, Andrew...I did something silly :)

christoph
On Wed, 2003-08-27 at 13:31, Andrew Straw wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Dear Christoph,
> 
> My best guess is that OpenGL itself must be taking so long, but this 
> seems very strange.  What drivers and hardware are you using?  The 
> clear() method is a fairly minimal wrapping of glClear():
> 
> def clear(self):
>          """Called by Presentation instance. Clear the screen."""
> 
>          c = self.parameters.bgcolor # Shorthand
>          if len(c) == 4:
>              gl.glClearColor(*c)
>          else:
>              gl.glClearColor(c[0],c[1],c[2],0.0) # set alpha to 0.0 
> unless specified
>          gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT)
> 
> I don't really have any hints at this point, except to make sure you're 
> not doing something silly...  Perhaps try with a minimal program that 
> just calls screen.clear() and then add various bits until you find 
> something that makes it start taking so long.  (Or maybe it already 
> takes so long with a minimal program?)
> 
> Cheers!
> Andrew
> 
> On Wednesday, Aug 27, 2003, at 20:31 Australia/Adelaide, Christoph 
> Lehmann wrote:
> 
> > Hi Andrew
> >
> > the VE-fMRI project goes on..now I can read in by means of a simple 
> > GUI (thanks to wxPython) the subject ID and the stimulus-file (where 
> > the to be shown stimuli are listed).
> >
> > One problem: the following code snippet is the essential part yielding 
> > a problem:
> > this code shows me (my_debug_msg), that the screen.clear() routine 
> > takes most of the times between 20 and 60ms.
> > ..why this?
> >
> >
> >
> > while (not pygame.event.peek((QUIT,KEYDOWN))):
> >
> >     while (not TRIGGER_RECEIVED):
> >         poll the Lpt...
> >
> >     my_debug_msg.append('before clear.screen [ms]: ' + str(1000 * 
> > (VisionEgg.time_func()-start_time)) )
> >
> >     screen.clear()
> >
> >     my_debug_msg.append('after clear screen [ms]: ' + str(1000 * 
> > (VisionEgg.time_func()-start_time)) )
> >
> >
> >     viewport.parameters.stimuli = 
> > [preloaded_stimulus_list[stim_index]] #update the viewport
> >     viewport.draw()
> >
> >     swap_buffers()
> >
> >
> > --
> >
> > I cannot explain it.
> >
> > Thanks for a hint
> >
> > christoph
> > --
> > p.s.
> >
> > the preloaded_stimulus_list[stim_index] comes from:
> >
> > --
> > # Create a list of TextureStimulus instances, one with each of your 
> > texture images.
> > preloaded_stimulus_list = []                                 #empty at 
> > first
> > for stim_index in range(num_images):                         #for all 
> > stimuli except the null-event create a texture object
> >     if not photoX[stim_index] == nullevent:
> >         # Read the texture file
> >         texture = Texture(photoX[stim_index])
> >
> >         # Add to list of TEXTURES
> >         x = screen.size[0]/2 - texture.size[0]/2
> >         y = screen.size[1]/2 - texture.size[1]/2
> >
> >         # Load the texture to OpenGL, prepare for display
> >         stimulus = TextureStimulus(texture = texture,size = 
> > texture.size, lowerleft=(x,y))
> >     else:                                                    #for the 
> > nullevent, just append the nullevent-indicator
> >         stimulus = nullevent
> >     # Add to list of stimuli
> >     preloaded_stimulus_list.append( stimulus )
> >
> > viewport = Viewport( screen=screen)
> > --
> >
> >
> > -- 
> > Christoph Lehmann <lehmann@xxxxxxxxxxxx>
> > University Hospital of Clinical Psychiatry
> >
> > ======================================
> > The Vision Egg mailing list
> > Archives: //www.freelists.org/archives/visionegg
> > Website: http://www.visionegg.org/mailinglist.html
> >
> -----BEGIN PGP SIGNATURE-----
> 
> iD8DBQE/TJao1xWcCSPVbpgRAkI0AKDw0kqB2adu+bZ6mkkq2VgA43PzhQCdFIrL
> XzBEjB1G7i4yl7cDX7tFFbY=
> =DrGv
> -----END PGP SIGNATURE-----
> 
> ======================================
> The Vision Egg mailing list
> Archives: //www.freelists.org/archives/visionegg
> Website: http://www.visionegg.org/mailinglist.html
-- 
Christoph Lehmann <lehmann@xxxxxxxxxxxx>
University Hospital of Clinical Psychiatry

======================================
The Vision Egg mailing list
Archives: //www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html

Other related posts: