<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1361</bug_id>
          
          <creation_ts>2019-01-30 16:01:44 +0100</creation_ts>
          <short_desc>Remove Flickering when resizing a Newt Window</short_desc>
          <delta_ts>2023-07-12 01:57:08 +0200</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Newt</product>
          <component>core</component>
          <version>3.0.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>CONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Charles Huet">charles.huet</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>danny.koernig</cc>
    
    <cc>gouessej</cc>
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>6086</commentid>
    <comment_count>0</comment_count>
      <attachid>800</attachid>
    <who name="Charles Huet">charles.huet</who>
    <bug_when>2019-01-30 16:01:44 +0100</bug_when>
    <thetext>Created attachment 800
Reproducer for the flickering

When resizing, the whole rendering flickers at each resize (verified on Linux (GTX1070) and Windows (AMD WX7100) ). 

Attached is a simple reproducer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6087</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2019-02-01 13:58:23 +0100</bug_when>
    <thetext>Your reproducer is wrong, please look at my example:
https://jogamp.org/wiki/index.php/Rudimentary_standalone_example_using_the_fixed_pipeline_by_Julien_Gouesse

You shouldn&apos;t create the animator inside the GLEventListener and you don&apos;t even start your animator, it can&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6088</commentid>
    <comment_count>2</comment_count>
      <attachid>801</attachid>
    <who name="Charles Huet">charles.huet</who>
    <bug_when>2019-02-01 15:30:06 +0100</bug_when>
    <thetext>Created attachment 801
Reproducer with correct Animator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6089</commentid>
    <comment_count>3</comment_count>
    <who name="Charles Huet">charles.huet</who>
    <bug_when>2019-02-01 15:30:52 +0100</bug_when>
    <thetext>Sorry, I commented it out to check the difference, and forgot to re-enable it before submitting, my bad.

I uploaded a new reproducer that creates the Animator in the main, and the problem is still reproduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6091</commentid>
    <comment_count>4</comment_count>
    <who name="Charles Huet">charles.huet</who>
    <bug_when>2019-03-07 11:26:58 +0100</bug_when>
    <thetext>Hi,

is the reproducer up to snuff now ?
Can I do anything else to help you reproduce this issue ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6092</commentid>
    <comment_count>5</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2019-03-07 12:39:29 +0100</bug_when>
    <thetext>The reproducer seems to be correct now.

I&apos;ve not investigated yet but maybe it can&apos;t be fixed within JOGL, especially if the root cause comes from AWT.

I assume that the problem doesn&apos;t occur when using a pure NEWT GLWindow without AWT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6109</commentid>
    <comment_count>6</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-03-27 04:51:27 +0100</bug_when>
    <thetext>Confirmed 

This resize flickering is also visible (more or less) with 
- com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT
- com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT

Animator doesn&apos;t make a difference, nor v-sync.

Looks like our delayed off-thread resize operation creates this visual artifact
while in process, i.e. the blanking (clear buffer) is dominant.

Not sure whether I should spend time on this cosmetic..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6110</commentid>
    <comment_count>7</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-03-27 04:52:59 +0100</bug_when>
    <thetext>Moving product to Newt, component core.
AWT (parent window) detail is unrelated here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6193</commentid>
    <comment_count>8</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-04-04 16:01:28 +0200</bug_when>
    <thetext>Removing flickering is now a feature.
We have to see whether this can be done at all, 
considering our current delayed resize implementation 
and for which version.

Putting this on 2.5.0 for now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>800</attachid>
            <date>2019-01-30 16:01:44 +0100</date>
            <delta_ts>2019-01-30 16:01:44 +0100</delta_ts>
            <desc>Reproducer for the flickering</desc>
            <filename>NewtTest.java</filename>
            <type>text/x-java</type>
            <size>2256</size>
            <attacher name="Charles Huet">charles.huet</attacher>
            
              <data encoding="base64">aW1wb3J0IHN0YXRpYyBjb20uam9nYW1wLm9wZW5nbC5HTDJFUzMuR0xfQ09MT1I7CgppbXBvcnQg
amF2YS5hd3QuQm9yZGVyTGF5b3V0OwppbXBvcnQgamF2YS5uaW8uRmxvYXRCdWZmZXI7CgppbXBv
cnQgamF2YXguc3dpbmcuSkZyYW1lOwppbXBvcnQgamF2YXguc3dpbmcuSlBhbmVsOwoKaW1wb3J0
IGNvbS5qb2dhbXAubmV3dC5hd3QuTmV3dENhbnZhc0FXVDsKaW1wb3J0IGNvbS5qb2dhbXAubmV3
dC5vcGVuZ2wuR0xXaW5kb3c7CmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC5HTDQ7CmltcG9ydCBj
b20uam9nYW1wLm9wZW5nbC5HTEF1dG9EcmF3YWJsZTsKaW1wb3J0IGNvbS5qb2dhbXAub3Blbmds
LkdMQ2FwYWJpbGl0aWVzOwppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wuR0xFdmVudExpc3RlbmVy
OwppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wuR0xQcm9maWxlOwppbXBvcnQgY29tLmpvZ2FtcC5v
cGVuZ2wudXRpbC5BbmltYXRvcjsKaW1wb3J0IGNvbS5qb2dhbXAub3BlbmdsLnV0aWwuR0xCdWZm
ZXJzOwoKcHVibGljIGNsYXNzIE5ld3RUZXN0IGV4dGVuZHMgTmV3dENhbnZhc0FXVCBpbXBsZW1l
bnRzIEdMRXZlbnRMaXN0ZW5lcgp7CiAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxW
ZXJzaW9uVUlEID0gMTY2NzcyNDkzMjQ1MTgxMjQ0OUw7CgogIHByb3RlY3RlZCBHTFdpbmRvdyBt
X2dsV2luZG93OwogIEFuaW1hdG9yIG1fYW5pbWF0b3I7CgogIHB1YmxpYyBzdGF0aWMgdm9pZCBt
YWluKFN0cmluZ1tdIGFyZ3MpCiAgewogICAgSkZyYW1lIG1haW5GcmFtZSA9IG5ldyBKRnJhbWUo
Ik5ld3QgdGVzdCIpOwoKICAgIEpQYW5lbCBwYW5lbCA9IG5ldyBKUGFuZWwobmV3IEJvcmRlckxh
eW91dCgpKTsKICAgIG1haW5GcmFtZS5hZGQocGFuZWwpOwoKICAgIEdMUHJvZmlsZSBwcm9maWxl
ID0gR0xQcm9maWxlLmdldERlZmF1bHQoKTsKCiAgICBmaW5hbCBHTENhcGFiaWxpdGllcyBnbENh
cGFiaWxpdGllcyA9IG5ldyBHTENhcGFiaWxpdGllcyhwcm9maWxlKTsKICAgIGdsQ2FwYWJpbGl0
aWVzLnNldEJhY2tncm91bmRPcGFxdWUoZmFsc2UpOwogICAgZ2xDYXBhYmlsaXRpZXMuc2V0RG91
YmxlQnVmZmVyZWQodHJ1ZSk7CiAgICBnbENhcGFiaWxpdGllcy5zZXRIYXJkd2FyZUFjY2VsZXJh
dGVkKHRydWUpOwogICAgZ2xDYXBhYmlsaXRpZXMuc2V0U3RlcmVvKGZhbHNlKTsKICAgIGdsQ2Fw
YWJpbGl0aWVzLnNldERlcHRoQml0cygyNCk7CiAgICBnbENhcGFiaWxpdGllcy5zZXRTdGVuY2ls
Qml0cyg4KTsKICAgIGdsQ2FwYWJpbGl0aWVzLnNldFNhbXBsZUJ1ZmZlcnMoZmFsc2UpOwogICAg
Z2xDYXBhYmlsaXRpZXMuc2V0TnVtU2FtcGxlcygwKTsKICAgIGdsQ2FwYWJpbGl0aWVzLnNldEFs
cGhhQml0cyg4KTsKCiAgICBHTFdpbmRvdyBtX2dsV2luZG93ID0gR0xXaW5kb3cuY3JlYXRlKGds
Q2FwYWJpbGl0aWVzKTsKCiAgICBwYW5lbC5hZGQobmV3IE5ld3RUZXN0KG1fZ2xXaW5kb3cpKTsK
CiAgICBtYWluRnJhbWUucGFjaygpOwogICAgbWFpbkZyYW1lLnNldFZpc2libGUodHJ1ZSk7CiAg
fQoKICBwcml2YXRlIE5ld3RUZXN0KEdMV2luZG93IHdpbmRvdykKICB7CiAgICBzdXBlcih3aW5k
b3cpOwogICAgd2luZG93LmFkZEdMRXZlbnRMaXN0ZW5lcih0aGlzKTsKICB9CgogIEBPdmVycmlk
ZQogIHB1YmxpYyB2b2lkIGluaXQoR0xBdXRvRHJhd2FibGUgZHJhd2FibGUpCiAgewogICAgbV9h
bmltYXRvciA9IG5ldyBBbmltYXRvcihkcmF3YWJsZSk7CiAgICBtX2FuaW1hdG9yLnNldFJ1bkFz
RmFzdEFzUG9zc2libGUodHJ1ZSk7CiAgICAvLyBtX2FuaW1hdG9yLnN0YXJ0KCk7CiAgfQoKICBA
T3ZlcnJpZGUKICBwdWJsaWMgdm9pZCBkaXNwb3NlKEdMQXV0b0RyYXdhYmxlIGRyYXdhYmxlKQog
IHt9CgogIEBPdmVycmlkZQogIHB1YmxpYyB2b2lkIGRpc3BsYXkoR0xBdXRvRHJhd2FibGUgZHJh
d2FibGUpCiAgewogICAgR0w0IGdsID0gZHJhd2FibGUuZ2V0R0woKS5nZXRHTDQoKTsKICAgIEZs
b2F0QnVmZmVyIGNsZWFyQ29sb3IgPSBHTEJ1ZmZlcnMubmV3RGlyZWN0RmxvYXRCdWZmZXIoNCk7
CiAgICBnbC5nbENsZWFyQnVmZmVyZnYoR0xfQ09MT1IsIDAsIGNsZWFyQ29sb3IucHV0KDAsIDBm
KS5wdXQoMSwgMS4wZikucHV0KDIsIDBmKS5wdXQoMywgMWYpKTsKICB9CgogIEBPdmVycmlkZQog
IHB1YmxpYyB2b2lkIHJlc2hhcGUoR0xBdXRvRHJhd2FibGUgZHJhd2FibGUsIGludCB4LCBpbnQg
eSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogIHt9Cn0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>801</attachid>
            <date>2019-02-01 15:30:06 +0100</date>
            <delta_ts>2019-02-01 15:30:06 +0100</delta_ts>
            <desc>Reproducer with correct Animator</desc>
            <filename>NewtTest.java</filename>
            <type>text/x-java</type>
            <size>2239</size>
            <attacher name="Charles Huet">charles.huet</attacher>
            
              <data encoding="base64">aW1wb3J0IHN0YXRpYyBjb20uam9nYW1wLm9wZW5nbC5HTDJFUzMuR0xfQ09MT1I7CgppbXBvcnQg
amF2YS5hd3QuQm9yZGVyTGF5b3V0OwppbXBvcnQgamF2YS5uaW8uRmxvYXRCdWZmZXI7CgppbXBv
cnQgamF2YXguc3dpbmcuSkZyYW1lOwppbXBvcnQgamF2YXguc3dpbmcuSlBhbmVsOwoKaW1wb3J0
IGNvbS5qb2dhbXAubmV3dC5hd3QuTmV3dENhbnZhc0FXVDsKaW1wb3J0IGNvbS5qb2dhbXAubmV3
dC5vcGVuZ2wuR0xXaW5kb3c7CmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC5HTDQ7CmltcG9ydCBj
b20uam9nYW1wLm9wZW5nbC5HTEF1dG9EcmF3YWJsZTsKaW1wb3J0IGNvbS5qb2dhbXAub3Blbmds
LkdMQ2FwYWJpbGl0aWVzOwppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wuR0xFdmVudExpc3RlbmVy
OwppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wuR0xQcm9maWxlOwppbXBvcnQgY29tLmpvZ2FtcC5v
cGVuZ2wudXRpbC5BbmltYXRvcjsKaW1wb3J0IGNvbS5qb2dhbXAub3BlbmdsLnV0aWwuR0xCdWZm
ZXJzOwoKcHVibGljIGNsYXNzIE5ld3RUZXN0IGV4dGVuZHMgTmV3dENhbnZhc0FXVCBpbXBsZW1l
bnRzIEdMRXZlbnRMaXN0ZW5lcgp7CiAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxW
ZXJzaW9uVUlEID0gMTY2NzcyNDkzMjQ1MTgxMjQ0OUw7CgogIHByb3RlY3RlZCBHTFdpbmRvdyBt
X2dsV2luZG93OwoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogIHsK
ICAgIEpGcmFtZSBtYWluRnJhbWUgPSBuZXcgSkZyYW1lKCJOZXd0IHRlc3QiKTsKCiAgICBKUGFu
ZWwgcGFuZWwgPSBuZXcgSlBhbmVsKG5ldyBCb3JkZXJMYXlvdXQoKSk7CiAgICBtYWluRnJhbWUu
YWRkKHBhbmVsKTsKCiAgICBHTFByb2ZpbGUgcHJvZmlsZSA9IEdMUHJvZmlsZS5nZXREZWZhdWx0
KCk7CgogICAgZmluYWwgR0xDYXBhYmlsaXRpZXMgZ2xDYXBhYmlsaXRpZXMgPSBuZXcgR0xDYXBh
YmlsaXRpZXMocHJvZmlsZSk7CiAgICBnbENhcGFiaWxpdGllcy5zZXRCYWNrZ3JvdW5kT3BhcXVl
KGZhbHNlKTsKICAgIGdsQ2FwYWJpbGl0aWVzLnNldERvdWJsZUJ1ZmZlcmVkKHRydWUpOwogICAg
Z2xDYXBhYmlsaXRpZXMuc2V0SGFyZHdhcmVBY2NlbGVyYXRlZCh0cnVlKTsKICAgIGdsQ2FwYWJp
bGl0aWVzLnNldFN0ZXJlbyhmYWxzZSk7CiAgICBnbENhcGFiaWxpdGllcy5zZXREZXB0aEJpdHMo
MjQpOwogICAgZ2xDYXBhYmlsaXRpZXMuc2V0U3RlbmNpbEJpdHMoOCk7CiAgICBnbENhcGFiaWxp
dGllcy5zZXRTYW1wbGVCdWZmZXJzKGZhbHNlKTsKICAgIGdsQ2FwYWJpbGl0aWVzLnNldE51bVNh
bXBsZXMoMCk7CiAgICBnbENhcGFiaWxpdGllcy5zZXRBbHBoYUJpdHMoOCk7CgogICAgR0xXaW5k
b3cgbV9nbFdpbmRvdyA9IEdMV2luZG93LmNyZWF0ZShnbENhcGFiaWxpdGllcyk7CgogICAgcGFu
ZWwuYWRkKG5ldyBOZXd0VGVzdChtX2dsV2luZG93KSk7CgogICAgZmluYWwgQW5pbWF0b3IgYW5p
bWF0b3IgPSBuZXcgQW5pbWF0b3IobV9nbFdpbmRvdyk7CiAgICBhbmltYXRvci5zZXRSdW5Bc0Zh
c3RBc1Bvc3NpYmxlKHRydWUpOwogICAgYW5pbWF0b3Iuc3RhcnQoKTsKCiAgICBtYWluRnJhbWUu
cGFjaygpOwogICAgbWFpbkZyYW1lLnNldFZpc2libGUodHJ1ZSk7CiAgfQoKICBwcml2YXRlIE5l
d3RUZXN0KEdMV2luZG93IHdpbmRvdykKICB7CiAgICBzdXBlcih3aW5kb3cpOwogICAgd2luZG93
LmFkZEdMRXZlbnRMaXN0ZW5lcih0aGlzKTsKICB9CgogIEBPdmVycmlkZQogIHB1YmxpYyB2b2lk
IGluaXQoR0xBdXRvRHJhd2FibGUgZHJhd2FibGUpCiAge30KCiAgQE92ZXJyaWRlCiAgcHVibGlj
IHZvaWQgZGlzcG9zZShHTEF1dG9EcmF3YWJsZSBkcmF3YWJsZSkKICB7fQoKICBAT3ZlcnJpZGUK
ICBwdWJsaWMgdm9pZCBkaXNwbGF5KEdMQXV0b0RyYXdhYmxlIGRyYXdhYmxlKQogIHsKICAgIEdM
NCBnbCA9IGRyYXdhYmxlLmdldEdMKCkuZ2V0R0w0KCk7CiAgICBGbG9hdEJ1ZmZlciBjbGVhckNv
bG9yID0gR0xCdWZmZXJzLm5ld0RpcmVjdEZsb2F0QnVmZmVyKDQpOwogICAgZ2wuZ2xDbGVhckJ1
ZmZlcmZ2KEdMX0NPTE9SLCAwLCBjbGVhckNvbG9yLnB1dCgwLCAwZikucHV0KDEsIDEuMGYpLnB1
dCgyLCAwZikucHV0KDMsIDFmKSk7CiAgfQoKICBAT3ZlcnJpZGUKICBwdWJsaWMgdm9pZCByZXNo
YXBlKEdMQXV0b0RyYXdhYmxlIGRyYXdhYmxlLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50
IGhlaWdodCkKICB7fQp9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>