NewtCanvasAWT flicker on resize

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

NewtCanvasAWT flicker on resize

ariekenb
I am experimenting with putting NewtCanvasAWT inside a JInternalFrame and using many of them in an application.  This seems to work, but I notice when I resize the JInternalFrame the NewtCanvasAWT flickers badly and the contents disappear until I stop dragging.

If I use GLCanvas the resize is smooth as long as I set -Dsun.awt.noerasebackground=true.  sun.awt.noerasebackground seems to make no difference for NewtCanvasAWT - I think this is because it calls disableBackgroundErase itself.

Is this a known problem/limitation with NewtCanvasAWT?
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

Sven Gothel
Administrator
On Saturday, November 27, 2010 23:35:50 ariekenb [via jogamp] wrote:
>
> I am experimenting with putting NewtCanvasAWT inside a JInternalFrame and using many of them in an application.  This seems to work, but I notice when I resize the JInternalFrame the NewtCanvasAWT flickers badly and the contents disappear until I stop dragging.
>
> If I use GLCanvas the resize is smooth as long as I set -Dsun.awt.noerasebackground=true.  

See my remarks/changes 86c164950b0a0d351fc8af3884187b10201b6237 in regards bug #439 ..,
hence setting this property should not be necessary anymore.

> sun.awt.noerasebackground seems to make no difference for NewtCanvasAWT - I think this is because it calls disableBackgroundErase itself.

yes, after addNotify() which would work for Windows, not on X11, thanks to pointing this out,
added the same changes here as for GLCanavas, see above.

>
> Is this a known problem/limitation with NewtCanvasAWT?

hope it was, wait until you see the commit, thx.

BTW .. please follow:
 http://jogamp.org/wiki/index.php/Jogl_FAQ#Bugreports_.26_Testing

ie at the very _least_ add the version dump to your email/bug-report,
so I know what you are actually refering to (source code, platform, ...).

Cheers, Sven
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

ariekenb
Thanks.  I see your commit aaa2b1df6ba9bd30f251.  Looks like the commit was about the same time as the last jogl-b237 build so I will try this on the next build.
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

Sven Gothel
Administrator
On Sunday, November 28, 2010 14:28:09 ariekenb [via jogamp] wrote:
>
> Thanks.  I see your commit aaa2b1df6ba9bd30f251.  Looks like the commit was about the same time as the last jogl-b237 build so I will try this on the next build.

wrong.

you can check ..

Just aggregated the latest autobuild 237
  http://jogamp.org/chuck/job/jogl/237/


you can check the changes 1st,
if it's not 'visible' there no panic, it doesn't mean to be complete, or correct.

Just pick up the revision number, ie 597007fc23fbf86e036629b6c6b157e0e0506715
and check via git if it's in there.

For the next rc2 today/tomorrow, I will provide a proper changelog.

You can pick up here:
  http://jogamp.org/deployment/jogamp-next/
  http://jogamp.org/deployment/archive/master/gluegen_224-jogl_237/

~Sven
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

ariekenb
Sorry, I didn't realize there was a public hudson server.

I picked up the 237 autobuild: test.log

Results:

1. GLCanvas does not flicker now even when sun.awt.noerasebackground is not set.  So it looks like 86c164950b0a0d351fc8af3884187b10201b6237 works.

2. NewtCanvasAWT still flickers badly on resize.  So it looks like aaa2b1df6ba9bd30f251ddada32ba0d56b12aa81 didn't quite work as expected.

I can provide code for my example program if it's helpful?
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

ariekenb
I am attaching code for my "NEWTTest" program that shows NewtCanvasAWT flickering when a JInternalFrame containing it is resized.  

newttest.zip
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

Sven Gothel
Administrator
In reply to this post by ariekenb
On Sunday, November 28, 2010 15:03:41 ariekenb [via jogamp] wrote:
>
> Sorry, I didn't realize there was a public hudson server.
>
> I picked up the 237 autobuild: test.log
>
> Results:
>
> 1. GLCanvas does not flicker now even when sun.awt.noerasebackground is not set.  So it looks like 86c164950b0a0d351fc8af3884187b10201b6237 works.
>

great

> 2. NewtCanvasAWT still flickers badly on resize.  So it looks like aaa2b1df6ba9bd30f251ddada32ba0d56b12aa81 didn't quite work as expected.

we have to see into that

>
> I can provide code for my example program if it's helpful?

sure, very much

and _PLEASE_ follow: http://jogamp.org/wiki/index.php/Jogl_FAQ#Bugreports_.26_Testing

These bugreporting requirements are no joke, they give us all the required information,
ie the test.log with OS, GPU, Java .. information.

It's ok to use email here, even though a bugzilla entry is much easier to track .. well.
But please produce at least this JoglVersion information.

Thank you very much.

Cheers, Sven
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

Sven Gothel
Administrator
In reply to this post by ariekenb
On Sunday, November 28, 2010 16:52:03 ariekenb [via jogamp] wrote:
>
> I am attaching code for my "NEWTTest" program that shows NewtCanvasAWT flickering when a JInternalFrame containing it is resized.  
>
> newttest.zip
>

Ok, looks like flickering on JInternal Frame resize can be reproduced.

I added simple Frame/JFrame tests, which reproduce the same flickering on resize using NewtCanvasAWT.

Will see what I can do...

Cheers, Sven

-----------------------------------------------------------------------------------------------------
Platform: Linux 2.6.35.7-x86_64-k10-x8-risa (os), amd64 (arch) 6 cores
Platform: littleEndian true, 32Bit false, a-ptr bit-size 64
Platform: Java 1.6.0_22, Java HotSpot(TM) 64-Bit Server VM, Sun Microsystems Inc., http://java.sun.com/, is JavaSE: true
-----------------------------------------------------------------------------------------------------

JOGL: 597007fc23fbf86e036629b6c6b157e0e0506715

NewtCanvasAWT-Flicker.zip (61K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

ariekenb
Thanks for your help Sven.

Regarding bug report information, I attached a test.log to this message in this thread: http://jogamp.762907.n3.nabble.com/NewtCanvasAWT-flicker-on-resize-tp1979434p1981497.html 

Maybe I am dumb and missing something - is there some more data you would like in bug reports?
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

Sven Gothel
Administrator
On Sunday, November 28, 2010 21:26:57 ariekenb [via jogamp] wrote:
>
> Thanks for your help Sven.
>
> Regarding bug report information, I attached a test.log to this message in this thread: http://jogamp.762907.n3.nabble.com/NewtCanvasAWT-flicker-on-resize-tp1979434p1981497.html 
>

> Maybe I am dumb and missing something - is there some more data you would like in bug reports?

no sorry, I missed you log file, since I don't see attachments right away
since I read them via emails ..

Fixed JOGL: f1b6d82acda9c88bfeb8d1913b4d101539c45391

The background erase bug was present in _all_ X11 NEWT windows :)

Now behavior is the same for Windows and X11, no erase.

Thank you, Sven
Reply | Threaded
Open this post in threaded view
|

Re: NewtCanvasAWT flicker on resize

ariekenb
Thanks.  I downloaded jogl autobuild 239 and verified resizing looks better.