Microsoft Developer Network > Domovská stránka fór > Windows Presentation Foundation (WPF) > Strange green pixels at the beginning of WPF video
Odeslat dotazOdeslat dotaz
 

OdpovědětStrange green pixels at the beginning of WPF video

  • 28. listopadu 2008 18:14Matjaž Kofol Uživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     
    Hello,

    I have very strange video problem in WPF and don't know how to solve this... Maybe it could be also NVidia problem? Or maybe codec problem?
    Don't no :-(

    My configuration:
    I have dual screen display as extended desktop - two Samsung 305T, 30" (2560x1600 resolution) LCD Monitors, Quad Core PC, NVidia 8800 GT with latest drivers, Windows Vista 64bit Business, and my WPF application that can play videos simultaneously (as a complex player using media element) on both monitor - using two windows - one window is translated from left for 2560px and displayed on other screen...

    1. Please first download my two demo screenshots here to see what I am talking about: http://www.sweetucan.com/GreenPixels.zip
    These green pixels run away after up to 10sec and they showed only at the beginning of next video in my playlist.

    2. Case: Running on Vista with Aero Glass Theme on extended desktop
    On first display everything is perfect, on other on some videos are green pixels showed at the beginning of next video, but not on every video, and they are moving along with video and after some time - 5-10 sec they vanish and video is clear. Playlist is looping and on another loop it is possible also to get a green pixels on video that was OK in first loop. Crazy.

    3. Case: Running on Vista with Aero Glass Theme on only one screen - windows are translated from top so I see them both on same screen - works without any problems with green pixels! This case is OK but not acceptable.

    4. Case: Running on XP with same monitors - there is no green pixels in both videos (both screens), but there is unsolved problems when running video in WPF on XP (some quick horizontal glitches that occured sometimes during the video - last about 100ms. When playing the same video with simple MediaPlayer video is smooth, only in WPF is that problem - allready got an answer on that:
    I believe the horizontal glitches that you are seeing is called vblank tearing. Media Player uses an overlay for displaying video which is generally tear-free. However, DirectX applications such as WPF do not use overlays so it must synchronize each frame with the display hardware's VSync rate to prevent incomplete frames from being presented.
    WPF applications should not tear on Windows Vista with the Aero Glass theme because the Desktop Window Manager will ensure that only completed frames are presented. However, WPF will tear on Windows XP because of XP driver model limitations.

    So we switched to Vista.

    5. I tried everything on both 2560x1600px resolution on both screens and on 1920x1200px on both screens and it is the same.

    6. Performance should not be an issue - it use 10-15% of CPU when two screens are used.

    7. Problems occurs only on second monitor. I thought maybe one monitor has hardware failure and I switch monitors in NVidia software but it didn't helped - the same error on second screen.


    Do you know what could be a problem and how to solve this? Maybe it is not connected with WPF at all?


    My conclusion is to blame extended desktop or graphic card....
    I found also this on one thread somewhere...
    What you are seeing is DVI "noise". The reason it increases with run time has to do with increasing temperature. Since the condition is marginal, increasing temperature, in this case, is causing it to become worse.

    When you consider the whole TMDS transmission line, starting from the pins of the TMDS transmitter within the Mac's graphics board, continuing through the PCB (printed circuit board) to the connector, through the connector, then though the cable, then onto the PCB within the 30" ACD and finally to the pins of the TMDS receiver inside the ACD, the whole thing has to be carefully impedence balanced or there will be problems with signal integrity. Most typically the problem is with impedence within the PCB assembies. It's true that sometimes the monitor can work with other computers, and the computer can work with other monitors. But if two marginal devices are married, that can put it over the limit, and the receiver starts missing bits.

    There is no reason to let Apple off the hook on this. It's all their gear, end-to-end, so they can't say they don't own the problem. You should make them replace the graphics board, even if it is with the exact same model. Since the problem is basically a mechanical one, there is some chance that a replacement board will perform correctly.

    If you are wondering what I mean by the problem being "mechanical", at the physical level, impedence is controlled by critical dimensions in things like PCBs and cables. By virtue of mechanical tolerances, there will always be a nominal, and there will be deviation from the nominal. When tolerances all start stacking in the same direction away from the norm, things can get to the point of being out of spec. They shouldn't, but they do.



    Regards
    Alex

Odpovědi

  • 28. listopadu 2008 18:28Drew MarshModerátorUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     Odpovědět
    FWIW, I don't think it's a WPF specific issue. I get that problem when viewing videos in Windows Media Player as well, so I think it's a driver problem. I'm running an nVidia 8800 GTX (and see the same thing on an nVidia 8600M GT in my laptop) and the latest drivers (180 series).

    Later,
    Drew

Všechny reakce

  • 28. listopadu 2008 18:28Drew MarshModerátorUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     Odpovědět
    FWIW, I don't think it's a WPF specific issue. I get that problem when viewing videos in Windows Media Player as well, so I think it's a driver problem. I'm running an nVidia 8800 GTX (and see the same thing on an nVidia 8600M GT in my laptop) and the latest drivers (180 series).

    Later,
    Drew
  • 28. listopadu 2008 18:36Matjaž Kofol Uživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     
    I thought it was also a driver, updated to the latest - 19th November (hot)... But it didn't helped.
    It works perfectly when running both videos (windows) on one screen (only primary), but when switch to extended desktop it is not working.

    I would like to solve this if it is somehow possible, because CPU utilization is only 10-15% and I don't think buying another PC because of this other screen is a good move...

    Regards
    Alex