Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4641396

Loss of video memory causes screen to turn white, and then freeze.

XMLWordPrintable

    • 2d
    • 01
    • x86
    • windows_2000



        Name: jl125535 Date: 02/21/2002


        FULL PRODUCT VERSION :
        java version "1.4.0-beta3"
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta3-b84)
        Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed mode)

        (Reproduced on 1.4 FCS as well.)

        FULL OPERATING SYSTEM VERSION :
        Microsoft Windows 2000 [Version 5.00.2195]



        EXTRA RELEVANT SYSTEM CONFIGURATION :
        256Megs of SDRAM, Pentium 3 500mhz, NVDA TNT 16Meg Graphics
        card, Tested with both DirectX 6.0 and DirectX 8.1.

        A DESCRIPTION OF THE PROBLEM :
        I've recently encountered a problem with the Fullscreen API
        causing it to freeze up whenever I alt-tab, or recieve a IM
        while it's occupying the video memory. It opens up fine and
        I've, by over-riding the setVisible method, been able to
        find that when it opens setVisible is called and set to
        true. However when I close it (by alt-tabbing), the
        setVisible method never recieves a "setVisible(false)"
        call, nor does my animation loop fall into the code below
        the if(bufferStrategy.contentsLost()) statement that is
        called every 32 milliseconds by a java.util.Timer. When I
        alt-tab, if I place a print statement in the animation
        thread, I can see that it's still displaying in the
        background and still iterating, and not finding that the
        contents of the frame have been lost allthough my desktop
        has obviously claimed them. Now, when I return to the
        frame, it apears as if it is still atempting to animate
        because I find more print statements after I exit yet
        again, but now it waits for a couple of seconds, and then
        turns pure white and won't allow me to close it unless I
        explicitly have my task manager kill the process.

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        1.Get a computer system similar to my own,
        run "MultiBufferTest" included with the Fullscreen API
        documentation.
        2.Alt-tab once the program has had a chance to display.

        3.Wait a second.

        4.Alt-tab again and notice how the screen doesn't display
        anything any more.

        5.Alt-tab again.

        6.Notice how screen turns completely white, and you cannot
        exit the program without killing the process.


        EXPECTED VERSUS ACTUAL BEHAVIOR :
        The BufferStrategy object reclaims the memory upon re-
        entering the window, and continues to animate the rest of
        the full-color screens.

        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        It works with MultiBufferTest.java.
        ---------- END SOURCE ----------
        (Review ID: 138539)
        ======================================================================

              chaasesunw Chet Haase (Inactive)
              jleesunw Jon Lee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: