1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Monitor Unburn Utility

Discussion in 'Programming & Webmastering' started by Kreij, Jan 4, 2013.

  1. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    I left an LCD monitor at work with a static image on the screen over the holidays (about two weeks) and of course it burned in (image retention).

    After reading about fixes that do, and do not work, it seemed like the best answer was to force the monitor to cycle back and forth between a completely white screen and a completely black one.

    Thus I wrote the little utility below called MonitorUnburn_WF. When you launch it is displays a full black screen and then full white with a change interval of six seconds. The program will keep the system alive so that power settings do not stop it and it will prevent the screensaver from launching (at least it should). This should work for an LCD monitor, LCD TV or Plasma TV to which you have your computer connected.

    Instructions :
    1) Launch program.
    2) Let it run for however long is needed.
    3) Hit ESC to exit.

    Code:
    using System;
    using System.Runtime.InteropServices;
    using System.Timers;
    using System.Drawing;
    using System.Windows.Forms;
    
    namespace MonitorUnburn_WF
    {
        public partial class Form1 : Form
        {
            [FlagsAttribute]
            public enum EXECUTION_STATE : uint
            {
                ES_SYSTEM_REQUIRED = 0x00000001,
                ES_DISPLAY_REQUIRED = 0x00000002,
                ES_CONTINUOUS = 0x80000000,
            }
    
            private const uint SHOW_SCREEN = 64;
    
            [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
            public static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
    
            [DllImport("user32.dll", EntryPoint = "GetSystemMetrics")]
            public static extern int GetSystemMetrics(int which);
    
            [DllImport("user32.dll")]
            public static extern void SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter,
                         int X, int Y, int width, int height, uint flags);        
    
            System.Timers.Timer t = new System.Timers.Timer(6000); // 6 second interval
    
            public Form1()
            {
                InitializeComponent();
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                this.TopMost = true;
                this.BackColor = Color.White;
    
                // Make it full screen so it even covers the taskbar
                SetWindowPos(this.Handle, IntPtr.Zero, 0, 0, GetSystemMetrics(0), GetSystemMetrics(1), SHOW_SCREEN);
    
                Cursor.Hide();
    
                // Tell system that this thread needs the system awake. Should prevent screensaver from launching.
                SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS
                    | EXECUTION_STATE.ES_DISPLAY_REQUIRED
                    | EXECUTION_STATE.ES_SYSTEM_REQUIRED);
    
                t.Elapsed += new ElapsedEventHandler(t_Elapsed);
                t.Enabled = true;
            }
    
            void t_Elapsed(object sender, ElapsedEventArgs e)
            {
                if (this.BackColor == Color.White) this.BackColor = Color.Black;
                else this.BackColor = Color.White;
            }
    
            private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (char)Keys.Escape)
                {
                    Cursor.Show();
                    Application.Exit();
                }
            }
        }
    }
    

    I ran it on the monitor which had bad retention for about 24 hours, and the burn-in is almost gone. I'll leave it run over the weekend to see if I can get rid of it completely.
    Depending upon how bad the monitor is burned-in, the required run time could be minutes, hours or days. Some retention is permanent, so results may vary.
    Please test and let me know how it works for you.

    Compiled using .Net Framework 4 Client.
    The reason it is named "WF" is that this is the windows form version. I wrote a DirectX version but it kind of sucks and the executable is much larger.
     

    Attached Files:

    Last edited: Jan 4, 2013
  2. Easy Rhino

    Easy Rhino Linux Advocate

    Joined:
    Nov 13, 2006
    Messages:
    13,499 (4.60/day)
    Thanks Received:
    3,330
    works for me.
     
    Kreij says thanks.
    Crunching for Team TPU
  3. Mindweaver

    Mindweaver Moderato®™ Staff Member

    Joined:
    Apr 16, 2009
    Messages:
    5,362 (2.62/day)
    Thanks Received:
    2,947
    Location:
    Statesville, NC
    Works for me as well! :toast:
     
    Crunching for Team TPU
  4. Krazy Owl

    Krazy Owl New Member

    Joined:
    Jan 12, 2012
    Messages:
    900 (0.86/day)
    Thanks Received:
    77
    Location:
    Montreal
    What about the one I seen on internet that flashes the screen like hell in lot of pixels from different colours? I know it's for pixel unburning but could it do the same job as your software to remove image retention? I used your software to see if I had dead pixels in my TV. Thanx :)
     
  5. silkstone

    silkstone

    Joined:
    Nov 1, 2008
    Messages:
    2,892 (1.31/day)
    Thanks Received:
    501
    I always find it funny when people argue that it is impossible for LCDs to get a burnt in image.
     
  6. Frick

    Frick Fishfaced Nincompoop

    Joined:
    Feb 27, 2006
    Messages:
    10,886 (3.41/day)
    Thanks Received:
    2,395
    How old was the monitor?

    EDIT: Anyway screensavers man! It's why they are there! :p
     
    Last edited: Jan 6, 2013
  7. Krazy Owl

    Krazy Owl New Member

    Joined:
    Jan 12, 2012
    Messages:
    900 (0.86/day)
    Thanks Received:
    77
    Location:
    Montreal
    Even for older CRT it was possible. :p
     
  8. AsRock

    AsRock TPU addict

    Joined:
    Jun 23, 2007
    Messages:
    11,107 (4.10/day)
    Thanks Received:
    1,755
    Location:
    US
    Working fine here, tried it on 2 systems will try it on the laptop later. It all so let ya know if your need clean your screen too hehe.
     
  9. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    Yes it could. How effectively I don't know.
    There is a lot of conflicting information about what works the best and there does not seem to be a consensus on exactly what causes it. The potential fix, however, seems to be to "exercise" the pixels.

    So after extensive high-tech research (read: a wild guess) I came up with two conclusions;
    1) Driving the pixels from full intensity to none, and back, would seem to be most effective.
    2) My program should not cause epileptic seizures if you watch it.

    Well there you go. So far this little app has 3 functions;
    - Try to eliminate image retention.
    - Check for dead pixels.
    - Let's you know if your screen is really dusty.
    (like AsRock, that was one of the first things I noticed when I ran it. :D )

    Thanks for the feedback guys, and if anyone uses it to try to un-burn a monitor I would love to hear the results.
     
    Krazy Owl says thanks.
  10. Mindweaver

    Mindweaver Moderato®™ Staff Member

    Joined:
    Apr 16, 2009
    Messages:
    5,362 (2.62/day)
    Thanks Received:
    2,947
    Location:
    Statesville, NC
    I've got a couple at the office I'll try some time next week. :toast:

    EDIT: And yea it shows me how dirty my screen is...lol My 6 year old points at everything... lol bad thing is she gets it from me..lol
     
    Kreij says thanks.
    Crunching for Team TPU
  11. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta

    My dell monitors have similar built-in. If you power on the monitor without any cables but power, it will cycle through black, white, red, green, and blue. I think it does each color as inside the pixel are individual color emitters, and using those colors "exercises" all the little bits.



    You would think though, that each monitor might have a slightly different base color for those emitters?
     
  12. Krazy Owl

    Krazy Owl New Member

    Joined:
    Jan 12, 2012
    Messages:
    900 (0.86/day)
    Thanks Received:
    77
    Location:
    Montreal
    Maybe not epilectic seizure but high rate of depresion to bipolar people who already see life in black & white. :p
     
  13. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    I don't know, Dave. I can't find any really credible information on this.
    Does using color variants work better than B->W->B? I don't know.
    It's almost impossible to test in a reproducible manner as it depends on the type of screen and how badly it's burnt in.

    In some cases with TVs, simply playing full motion video will fix it (similar to what a screensaver does). In other cases that doesn't do diddly. In some cases unplugging the monitor for a couple of days does the trick, but not always (this seems to be the least effective method). Apple has had problems with their retina displays and they recommend putting up a full white screen for the same duration that caused the burn-in. (shrug)

    If anyone can find some definitive data on this I will be happy to modify the program.
     
    cadaveca says thanks.
  14. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta
    I think it depends on what emitters are used to produce white, and that's going to vary whether you use IPS to TN panels, perhaps.


    What I can say for sure is that this function in Dell monitors is there expressly to combat burn-in, so if they have added those colors as well, it must have some reason behind it.


    Would be cool it you could touch base with Dell and find out more about their own thing. I've wondered myself, but that was the explanation I was given by Dell techs when I worked for Dell directly.
     
  15. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    I wonder if that feature in the monitor is to prevent burn-in or to eliminate it if it occurs, or both.
    Obviously cycling colors would completely prevent it, and it would also help remove it, but my question would be, "Is it as effective or efficient (time wise) for getting rid of it as a BWB cycle?"

    I doubt I could get that kind of answer from Dell. Maybe I'll call the engineering department at MIT.
    I'm sure someone there could use an idea for a thesis. :)
    I have a good friend who has a couple of Masters' degrees from there. He may know someone I could talk to.
     
    cadaveca says thanks.
  16. johnspack

    johnspack

    Joined:
    Oct 6, 2007
    Messages:
    4,382 (1.68/day)
    Thanks Received:
    865
    Location:
    Nelson B.C. Canada
    Seems to be starting to work on my 24", probably have to run it overnight. Is there any way to get it to run on a 2nd monitor?
     
  17. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    I never thought of that, Johnspack, but that is an excellent suggestion.
    I will look into it, but I have no way of testing it as I have no multi-monitor setups.
    If you are willing to test it for me I'll be happy to work on coding it.
     
  18. johnspack

    johnspack

    Joined:
    Oct 6, 2007
    Messages:
    4,382 (1.68/day)
    Thanks Received:
    865
    Location:
    Nelson B.C. Canada
    Sure, I'll test it out!
     
  19. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    Okay. I have the code at work so I'll try to get to it tomorrow when I'm there.
    Let me know how it does with the 24" if you leave it run overnight.
    How bad was the burn?
     
  20. johnspack

    johnspack

    Joined:
    Oct 6, 2007
    Messages:
    4,382 (1.68/day)
    Thanks Received:
    865
    Location:
    Nelson B.C. Canada
    It's a fairly noticeable line across the top of my screen that corresponds with the top dark blue bar in firefox, or in my case, waterfox. When I shut my browser down I can see it, and it's annoying!
    Edit: god I do a lot of surfing.....
    Edit2: it is noticeably lighter now and I only ran it for like 10 mins
     
  21. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    If it's correcting itself that fast I would think an hour or so should eliminate it completely.
     
  22. johnspack

    johnspack

    Joined:
    Oct 6, 2007
    Messages:
    4,382 (1.68/day)
    Thanks Received:
    865
    Location:
    Nelson B.C. Canada
    Yes, I suspect an hour or 2 should almost do it. Do have some noticeable ghost lines on my 2nd monitor too, but they are not bad, so I assume this will fix it too.
     
  23. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    You could run it on the other monitor if you switch primary monitors, but that is up to you.
    I will look into some kind of command line option to launch it on secondary monitors.
     
  24. johnspack

    johnspack

    Joined:
    Oct 6, 2007
    Messages:
    4,382 (1.68/day)
    Thanks Received:
    865
    Location:
    Nelson B.C. Canada
    Command line switch would be fine. Easy enough for me to make a batch file for each, or even a script.
     
  25. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    I didn't want to add a UI to the program unless I had to, to keep it as lightweight as possible.
    Click icon or a command line with options.
    I had thought about a command line option to change the interval, but without any real data on whether that would make any difference I'm not sure it's of any use.
    I don't know anyone who will let their monitor cook just to test it. :D
     

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page