Re: AutoOpenGl Plugin

"valery_vi" <[email protected]>
Newsgroups gmane.comp.windows.autoit.user
Message-ID <[email protected]>
The CPU time eater is here:

// Main routine - thread callback
DWORD __stdcall __MainLoop( void* Param )
{	
    g_WinConfig.CreateGlWindow( );

	glutDisplayFunc( __Draw );
	glutReshapeFunc( __WindowResize );
	glutIdleFunc( __Draw );
	glutMainLoop( );
	
	return 0;
}

Call of glutIdleFunc() initiates the waste action (draw) which was  
already implemented by calling glutDisplayFunc() (above). 

Description of glutIdleFunc() is the following:
http://www.opengl.org/resources/libraries/glut/spec3/node63.html

"...

glutIdleFunc sets the global idle callback to be func so a GLUT 
program can perform background processing tasks or continuous 
animation when window system events are not being received. If 
enabled, the idle callback is continuously called when events are 
not being received. The callback routine has no parameters. The 
current window and current menu will not be changed before the idle 
callback. Programs with multiple windows and/or menus should 
explicitly set the current window and/or current menu and not rely 
on its current setting. 

The amount of computation and rendering done in an idle callback 
should be minimized to avoid affecting the program's interactive 
response. In general, not more than a single frame of rendering 
should be done in an idle callback. 

Passing NULL to glutIdleFunc disables the generation of the idle 
callback. "

Simple solution to free CPU is to replace

 glutIdleFunc( __Draw );

to 

 glutIdleFunc( NULL );

Script with rendering of this sort will make autorotation the Earth 
very easy and smoothly, I think.
:-)

Regards,
Valery

--- In [email protected], "valery_vi" <shehrer1@...> wrote:
>
> New version (10 Dec 2006) from Au3GlPlugin.zip works fine for me. 
> But glutMainLoop() eats CPU time very much (98%-99%)! 
> Is there any way to reduce this great job?
> 
> Valery
> 
> --- In [email protected], "valery_vi" <shehrer1@> wrote:
> >
> > BTW this zombe isn't zombie:
> > "When a program forks and the child finishes before the parent"
> > That child is running after AutoIt script finished. It would be 
> > demon because it is background process that does not belong to a 
> > terminal session. But this process would be service for Windows. 
> So 
> > this process is zombe - AutoIt son without parent, which is 
AutoIt 
> > script, I think. 
> > 
> > Valery
> > 
> > --- In [email protected], "valery_vi" <shehrer1@> wrote:
> > >
> > > Hi, 
> > > 
> > > I have one small problem with it. You should kill AutoIt's 
zombe 
> > > (98% CPU used) after exit from OpenGl Plugin scripts. 
> > > Is there auto solution to reduce CPU work and kill AutoIt's 
> zombe?
> > > 
> > > Valery
> > > 
> > > 
> > > 
> > > --- In [email protected], "valery_vi" <shehrer1@> 
wrote:
> > > >
> > > > Hi,
> > > > 
> > > > There is interesting topic of AutoItScript forum:
> > > > 
> > > > "OpenGl Plugin Experiment, An opengl plugin that uses glut32"
> > > > http://www.autoitscript.com/forum/index.php?
> showtopic=37385&st=0
> > > > 
> > > > I like it.
> > > > 
> > > > Maybe it's time to autorotate the Earth. 
> > > > 
> > > > Valery
> > > >
> > >
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.