GLWindow.setFullscreen(true) triggering multiple reshape events

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

GLWindow.setFullscreen(true) triggering multiple reshape events

Mike
Hi guys.

I'm using the NEWT GLWindow with jogl2.0-rc10, in windows 7 64bit. When i call setFullscreen() on my window i get 4 or 5 GLEventListener.repaint() events, is this normal? If this is normal is there some way to manually discard events?

Thanks,
Mike
Reply | Threaded
Open this post in threaded view
|

Re: GLWindow.setFullscreen(true) triggering multiple reshape events

Sven Gothel
Administrator
On 09/28/2012 06:03 PM, Mike [via jogamp] wrote:
> Hi guys.
>
> I'm using the NEWT GLWindow with jogl2.0-rc10, in windows 7 64bit. When i call
> setFullscreen() on my window i get 4 or 5 GLEventListener.repaint() events, is
> this normal? If this is normal is there some way to manually discard events?

Well, 1 repaint event may be triggered by NEWT itself.
However, others can be generated by the system - so I would say, yes.
Ofc .. if you can proof we generate too many of these events ourselves,
I am more than happy to fix it.

In any case, if you have the GLAutoDrawable (e.g. GLWindow) attached
to an GLAnimatorControl (e.g. Animator), then the repaint events will be
ignored to favor fluent animation 'in time'.

~Sven

>
> Thanks,
> Mike


signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GLWindow.setFullscreen(true) triggering multiple reshape events

Mike
Oh shit i meant to say reshape events, sorry about that. (I'm i little tired i stayed up until 3am last night debugging this ;) ) My main concern is that i re-initialize all my fbo's when a reshape occurs, so im trying to avoid having redundant reshape events.
Reply | Threaded
Open this post in threaded view
|

Re: GLWindow.setFullscreen(true) triggering multiple reshape events

Sven Gothel
Administrator
On 09/28/2012 06:35 PM, Mike [via jogamp] wrote:
> Oh shit i meant to say reshape events, sorry about that. (I'm i little tired i
> stayed up until 3am last night debugging this ;) ) My main concern is that i
> re-initialize all my fbo's when a reshape occurs, so im trying to avoid having
> redundant reshape events.

AFAIK we filter them out in case of no [size] change!
I guess you will see that the size changes in each reshape
due to the native WM's resize ..

I experienced the same w/ testing FBObject,
GLFBODrawable (and it's auto-drawable) on X11
and OSX (CALayer ..).

Don't know whether you use the new FBObject and GLFBODrawable.
The latter resizes quite efficient if possible, i.e. only the attachments.

However .. nothing you can do about the many resize ops,
but to be fine w/ it or to use a timer where you perform a pending resize.

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GLWindow.setFullscreen(true) triggering multiple reshape events

Sven Gothel
Administrator
In reply to this post by Mike
On 09/28/2012 08:36 PM, Sven Gothel wrote:
> On 09/28/2012 06:35 PM, Mike [via jogamp] wrote:
>> Oh shit i meant to say reshape events, sorry about that. (I'm i little tired i
>> stayed up until 3am last night debugging this ;) ) My main concern is that i
>> re-initialize all my fbo's when a reshape occurs, so im trying to avoid having
>> redundant reshape events.
>

On 09/28/2012 06:16 PM, Sven Gothel wrote:> On 09/28/2012 06:03 PM, Mike [via jogamp] wrote:
> Ofc .. if you can proof we generate too many of these events ourselves,
> I am more than happy to fix it.

found one double GLEventListener.reshape() triggered by JOGL in case
GLEventListener.init() has to be called _and_ reshape was triggered.

GLEventListener.reshape() was always called @ init() processing,
which is required for all new GLEventListener and after disposal/recreation case.
However, our display() method also issued GLEventListener.reshape() is the flag is set.

Fix: <http://jogamp.org/git/?p=jogl.git;a=commit;h=4f8432b0a5ac2a030056884c8f6c877435aaf5c8>

Dunno whether this will reduce your 4-5 reshape events .. well :)

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GLWindow.setFullscreen(true) triggering multiple reshape events

Mike
Thanks, i'm sure this will help it