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

MultiFrame problem and the default configuration and grayscale displays

XMLWordPrintable

    • 2d
    • b36
    • x86
    • windows_2000, windows_xp

        bhook32.dll
        0x77820000 - 0x77827000 C:\WINNT\system32\VERSION.dll
        0x759B0000 - 0x759B6000 C:\WINNT\system32\LZ32.DLL
        0x690A0000 - 0x690AB000 C:\WINNT\System32\PSAPI.DLL

        Local Time = Tue Feb 13 10:25:02 2001
        Elapsed Time = 4
        #
        # The exception above was detected in native code outside the VM
        #
        # Java VM: Java HotSpot(TM) Client VM (1.4.0-rc-b91 mixed mode)
        #
        # An error report file has been saved as hs_err_pid1312.log.
        # Please refer to the file for further information.
        #
        Press any key to continue . . .

        JDK 1.3.1_02
        Static gray without system colours
        ForceGray ON

        --> Gradient looks good on all displays, everthing is drawn. But on the greyscales there are
        2 lines in the gradient, a white and a gray one. If you drag the frame to the colour displa
        these become black. If you drag the colour display frame to the grayscales, the gradient
        gets in bands (32 if I counted correctly).

        JDK 1.4rc
        Static gray without system colours
        ForceGray ON

        --> Frames on the grayscales are completely black. If you drag them to the colour display, the bmp's become visible partially. The frame on the colour display is ok, but dragging it to the grayscales makes it black.

        -------

        I have included an excel file with 2 extra sheets, one with the expected
        result description and one with FORCEGRAY information.
        The results in red are now also indicating they are not right.

        Files attached
        We did some testing with the new JDK 1.4 and had some problems. We tested the following:

        We made a program to draw a frame and used GraphicsConfiguration to get the default configuration of the screen device and then drew the frame on the device.

        We tried the following configurations:
        We used a windows 2000 pc with 2 grayscale monitors and one vga color monitor. The grayscales are connected to a Barco 2MP2H Dualhead card and set to 'User defined palette'. We set the vga monitor as primary display using true color (32-bit) settings. Restart the machine after setting these settings and run the test program. If everthing works you should see 2 frames. One on the grayscales and one on the vga monitor.

        compiled runned result^M
            
            1.4rc 1.4rc The frame on the grayscale barco monitors was

        black, the frame on the vga monitor is drawn fine
             
            1.4rc 1.4b3 The frame on the grayscale barco monitors was

        black, the frame on the vga monitor is drawn fine
            
            1.4rc 1.3.1_01 The frame on the grayscale barco monitors was

        black, the frame on the vga monitor is drawn fine

        The program is included in this zip file. There's also a .bat file start the test. Be sure to change the directory in the bat file to point to the java.exe

        What I think that is happening, is following:
        - The application takes the color model of the primary display, which is a
        true color model. Then it wants to apply this also to the frame on the
        grayscale display, but of course this does not work.

        It evens works if you set the color VGA to 256 colors (and not to true
        color), because then both boards use the same color model: indexed.

        Tried problem 1.3.1

        The same problem occurs, and here is some additional information, also when
        you drag a from from one screen to the other.

        compiled runned

        1.3.1_02 1.3.1_02

        The frame on the grayscale barco monitors was black, the frame on the vga monitor is drawn fine. Dragging the frame from the vga monitor to the grayscales does nothing. The frame keeps getting properly painted. Also dragging the frame on the grayscales to the vga monitor does nothing. The frame remains completely black.

        1.3.1_02 1.4rc

        The frame on the grayscale barco monitors was black, the frame on the vga monitor is drawn fine. If you drag the frame from the vga monitor to the grayscales, half of it becomes black. Dragging The frame from the grayscales to the vga shows the 2 bmp's

        1.4rc 1.4b3

        The frame on the grayscale barco monitors was black, the frame on the vga monitor is drawn fine

        1.4rc 1.3.1_0

        The frame on the grayscale barco monitors was black, the frame on the vga monitor is drawn fine

        1.4rc 1.3.1_02

        The frame on the grayscale barco monitors was black, the frame on the vga monitor is drawn fine. Dragging the frame from the vga monitor to the grayscales does nothing. The frame keeps getting properly painted. Also dragging the frame on the grayscales to the vga monitor does nothing. The frame remains completely black.

        As we have a 2MP2 in DTS support I asked about using the video card.

        The 2MP2H has 10 bit look up tables, the 2MP2 not.
        Since this is only used native, this can not have an influence on the tests.

        So the configuration is:
        Windows 2000 Professional PC
        1 2MP2(H) board, this is a dual head, so attach 2 displays to this board.
        1 VGA board (with possibility to support 24 bit color or more), also attach
        a display here.

        Then follow the primary setup as defined in the readme file you already
        received.

        I did following tests here today:

        Installed a 2MP2 board and indeed, they are shown as seperate heads.
        The FORCEGRAY flag HAS an influence:

        HOW TO SET THE FORCEGRAY FLAG:
          Go to My Computer ... Properties and click Advanced
          Select Environment Variables and the System variables.
          Make a New variable with the name "FORCEGRAY" and the value "TRUE" (case
        sensitive).

        HOW TO RESET THE FORCEGRAY FLAG:
          Same as above, but remove this variable (do not set it to false !)

        TEST RESULTS:
        [dithering and direct draw is always enabled]
        [2 grayscale displays and 1 color display, the color display is set to true
        color AND primary display]

        Now the results:
        FORCEGRAY ON:
        -> Set Palette to User Modifiable of BOTH grayscales and restart, then run
        multiframe => you see 1 black, empty frame on every grayscale display.
        -> Set Palette to Static Gray including sys. colors and restart, then run
        multiframe => you see 1 black, empty frame on every grayscale display.
        -> Set Palette to Static Gray without sys colors and restart, then run
        multiframe => all 3 frames are shown correctly.

        FORCEGRAY OFF:
        -> Set Palette to User Modifiable of BOTH grayscales and restart, then run
        multiframe => you see a totally dithered frame on every grayscale display
        (see bitmap in attachment).
        -> Set Palette to Static Gray including sys. colors and restart, then run
        multiframe => you see 1 black, empty frame on every grayscale display.
        -> Set Palette to Static Gray without sys colors and restart, then run
        multiframe => all 3 frames are shown correctly.

        These tests were done with classes compiled with 1.3.1_01 and ran with
        1.3.1_01.
        -------------------------------

        Tests using 1.3.1_02


        DK 1.3.1_02
        User Defined pallete
        ForceGray off

        --> Gradient has 17 bands on the greyscales, color display gradient looks ok
            Nothing is black


        JDK 1.4rc
        User Defined pallete
        ForceGray off

        --> Gradient has only 4 bands on the greyscales, color display gradient looks ok
            Nothing is black

        JDK 1.3.1_02
        User Defined pallete
        ForceGray ON

        --> Frames on the grayscales are completely black and stay that way
        even when dragging to the colour display. The frame on the colour display is ok.

        JDK 1.4rc
        User Defined pallete
        ForceGray ON

        --> Frames on the grayscales are completely black. If you drag them to the colour display,
        the bmp's become visible partially. The frame on the colour display is ok, but dragging
        it to the grayscales makes it black.

        ==============
        JDK 1.3.1_02
        Static gray with system colours
        ForceGray off

        --> Frames on the grayscales are completely black and stay that way
        even when dragging to the colour display. The frame on the colour display is ok.


        JDK 1.4rc
        Static gray with system colours
        ForceGray off

        --> Test program crashes:

        An unexpected exception has been detected in native code outside the VM.
        Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D00FBAB
        Function=Java_sun_java2d_loops_MaskFill_MaskFill+0xB77B
        Library=C:\multiframe\classes14rc\jre\bin\awt.dll

        Current Java thread:
                at sun.java2d.loops.Blit.Blit(Native Method)
                at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:627)
                at sun.java2d.pipe.DrawImage.renderSurfaceData(DrawImage.java:355)
                at sun.java2d.pipe.DrawImage.clipAndRenderSurfaceData(DrawImage.java:333)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:64)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:715)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
                at sun.awt.image.ImageRepresentation.drawToBufImage(ImageRepresentation.java:726)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:722)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2772)
                at GradientTesterFrame.paint(GradientTesterFrame.java:149)
                at sun.awt.RepaintArea.paint(RepaintArea.java:180)
                at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:260)
                at java.awt.Component.dispatchEventImpl(Component.java:3586)
                at java.awt.Container.dispatchEventImpl(Container.java:1437)
                at java.awt.Window.dispatchEventImpl(Window.java:1566)
                at java.awt.Component.dispatchEvent(Component.java:3367)
                at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
                at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
                at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
                at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)

        Dynamic libraries:
        0x00400000 - 0x00406000 C:\multiframe\classes14rc\jre\bin\java.exe
        0x77F80000 - 0x77FF9000 C:\WINNT\System32\ntdll.dll
        0x77DB0000 - 0x77E0A000 C:\WINNT\system32\ADVAPI32.dll
        0x77E80000 - 0x77F36000 C:\WINNT\system32\KERNEL32.DLL
        0x77D40000 - 0x77DAF000 C:\WINNT\system32\RPCRT4.DLL
        0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
        0x6D330000 - 0x6D442000 C:\multiframe\classes14rc\jre\bin\client\jvm.dll
        0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
        0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
        0x77570000 - 0x775A0000 C:\WINNT\System32\WINMM.dll
        0x6D1D0000 - 0x6D1D7000 C:\multiframe\classes14rc\jre\bin\hpi.dll
        0x6D300000 - 0x6D30D000 C:\multiframe\classes14rc\jre\bin\verify.dll
        0x6D210000 - 0x6D228000 C:\multiframe\classes14rc\jre\bin\java.dll
        0x6D320000 - 0x6D32D000 C:\multiframe\classes14rc\jre\bin\zip.dll
        0x6D000000 - 0x6D0F6000 C:\multiframe\classes14rc\jre\bin\awt.dll
        0x77800000 - 0x7781D000 C:\WINNT\System32\WINSPOOL.DRV
        0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.dll
        0x77A50000 - 0x77B45000 C:\WINNT\system32\ole32.dll
        0x6D180000 - 0x6D1D0000 C:\multiframe\classes14rc\jre\bin\fontmanager.dll
        0x11C00000 - 0x11C36000 C:\Program Files\Network Associates\VirusScan\Wbhook32.dll
        0x77820000 - 0x77827000 C:\WINNT\system32\VERSION.dll
        0x759B0000 - 0x759B6000 C:\WINNT\system32\LZ32.DLL
        0x77920000 - 0x77942000 C:\WINNT\system32\imagehlp.dll
        0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
        0x690A0000 - 0x690AB000 C:\WINNT\System32\PSAPI.DLL

        Local Time = Tue Feb 13 10:17:36 2001
        Elapsed Time = 3
        #
        # The exception above was detected in native code outside the VM
        #
        # Java VM: Java HotSpot(TM) Client VM (1.4.0-rc-b91 mixed mode)
        #
        # An error report file has been saved as hs_err_pid1156.log.
        # Please refer to the file for further information.
        #
        Press any key to continue . . .

        JDK 1.3.1_02
        Static gray with system colours
        ForceGray ON

        --> Frames on the grayscales are completely black and stay that way
        even when dragging to the colour display. The frame on the colour display is ok.


        JDK 1.4rc
        Static gray with system colours
        ForceGray ON

        --> Frames on the grayscales are completely black. If you drag them to the colour display,
        the bmp's become visible partially. The frame on the colour display is ok, but dragging
        it to the grayscales makes it black.

        =====================

        JDK 1.3.1_02
        Static gray without system colours
        ForceGray off

        --> Gradient looks good on all displays, everthing is drawn. But on the greyscales there are
        2 lines in the gradient, a white and a gray one. If you drag the frame to the colour displa
        these become black. If you drag the colour display frame to the grayscales, the gradient
        gets in bands (32 if I counted correctly).

        JDK 1.4rc
        Static gray without system colours
        ForceGray off

        --> Test program crashes:
        An unexpected exception has been detected in native code outside the VM.
        Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D00FBAB
        Function=Java_sun_java2d_loops_MaskFill_MaskFill+0xB77B
        Library=C:\multiframe\classes14rc\jre\bin\awt.dll

        Current Java thread:
                at sun.java2d.loops.Blit.Blit(Native Method)
                at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:627)
                at sun.java2d.pipe.DrawImage.renderSurfaceData(DrawImage.java:355)
                at sun.java2d.pipe.DrawImage.clipAndRenderSurfaceData(DrawImage.java:333)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:64)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:715)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
                at sun.awt.image.ImageRepresentation.drawToBufImage(ImageRepresentation.java:726)
                at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:722)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
                at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2772)
                at GradientTesterFrame.paint(GradientTesterFrame.java:149)
                at sun.awt.RepaintArea.paint(RepaintArea.java:180)
                at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:260)
                at java.awt.Component.dispatchEventImpl(Component.java:3586)
                at java.awt.Container.dispatchEventImpl(Container.java:1437)
                at java.awt.Window.dispatchEventImpl(Window.java:1566)
                at java.awt.Component.dispatchEvent(Component.java:3367)
                at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
                at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
                at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
                at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
                at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)

        Dynamic libraries:
        0x00400000 - 0x00406000 C:\multiframe\classes14rc\jre\bin\java.exe
        0x77F80000 - 0x77FF9000 C:\WINNT\System32\ntdll.dll
        0x77DB0000 - 0x77E0A000 C:\WINNT\system32\ADVAPI32.dll
        0x77E80000 - 0x77F36000 C:\WINNT\system32\KERNEL32.DLL
        0x77D40000 - 0x77DAF000 C:\WINNT\system32\RPCRT4.DLL
        0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
        0x6D330000 - 0x6D442000 C:\multiframe\classes14rc\jre\bin\client\jvm.dll
        0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
        0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
        0x77570000 - 0x775A0000 C:\WINNT\System32\WINMM.dll
        0x6D1D0000 - 0x6D1D7000 C:\multiframe\classes14rc\jre\bin\hpi.dll
        0x6D300000 - 0x6D30D000 C:\multiframe\classes14rc\jre\bin\verify.dll
        0x6D210000 - 0x6D228000 C:\multiframe\classes14rc\jre\bin\java.dll
        0x6D320000 - 0x6D32D000 C:\multiframe\classes14rc\jre\bin\zip.dll
        0x6D000000 - 0x6D0F6000 C:\multiframe\classes14rc\jre\bin\awt.dll
        0x77800000 - 0x7781D000 C:\WINNT\System32\WINSPOOL.DRV
        0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.dll
        0x77A50000 - 0x77B45000 C:\WINNT\system32\ole32.dll
        0x6D180000 - 0x6D1D0000 C:\multiframe\classes14rc\jre\bin\fontmanager.dll
        0x77920000 - 0x77942000 C:\WINNT\system32\imagehlp.dll
        0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
        0x11C00000 - 0x11C36000 C:\Program Files\Network Associates\VirusScan\W

              tdv Dmitri Trembovetski (Inactive)
              duke J. Duke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: