# Monitor Unburn Utility



## Kreij (Jan 4, 2013)

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.



Spoiler: Code inside





```
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.


----------



## Easy Rhino (Jan 4, 2013)

works for me.


----------



## Mindweaver (Jan 4, 2013)

Works for me as well!


----------



## Krazy Owl (Jan 6, 2013)

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


----------



## silkstone (Jan 6, 2013)

I always find it funny when people argue that it is impossible for LCDs to get a burnt in image.


----------



## Frick (Jan 6, 2013)

How old was the monitor?

EDIT: Anyway screensavers man! It's why they are there!


----------



## Krazy Owl (Jan 6, 2013)

silkstone said:


> I always find it funny when people argue that it is impossible for LCDs to get a burnt in image.



Even for older CRT it was possible.


----------



## AsRock (Jan 6, 2013)

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.


----------



## Kreij (Jan 6, 2013)

Krazy Owl said:


> 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?



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.



> I used your software to see if I had dead pixels in my TV. Thanx



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.  )

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


----------



## Mindweaver (Jan 6, 2013)

I've got a couple at the office I'll try some time next week. 

*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*


----------



## cadaveca (Jan 6, 2013)

Kreij said:


> 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.




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?


----------



## Krazy Owl (Jan 6, 2013)

Kreij said:


> 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;
> ...



Maybe not epilectic seizure but high rate of depresion to bipolar people who already see life in black & white.


----------



## Kreij (Jan 6, 2013)

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 (Jan 6, 2013)

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.


----------



## Kreij (Jan 6, 2013)

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.


----------



## johnspack (Jan 6, 2013)

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?


----------



## Kreij (Jan 6, 2013)

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.


----------



## johnspack (Jan 6, 2013)

Sure,  I'll test it out!


----------



## Kreij (Jan 6, 2013)

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?


----------



## johnspack (Jan 6, 2013)

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


----------



## Kreij (Jan 6, 2013)

If it's correcting itself that fast I would think an hour or so should eliminate it completely.


----------



## johnspack (Jan 6, 2013)

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.


----------



## Kreij (Jan 6, 2013)

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.


----------



## johnspack (Jan 6, 2013)

Command line switch would be fine.  Easy enough for me to make a batch file for each,  or even a script.


----------



## Kreij (Jan 6, 2013)

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.


----------



## OneMoar (Jan 6, 2013)

or you could have downloaded and configured this
http://udpix.free.fr/

forcing a rapid color change can get the pixels in order on a TN panel on a IPS panel it does absolutely nothing


----------



## Kreij (Jan 6, 2013)

Well, my little app does not do a rapid color change. Maybe someone with an IPS monitor that has a problem will come along and test it.

Besides, do you trust a program from the internet or would you rather get one from yer' Ol' Uncle Kreij?


----------



## newtekie1 (Jan 6, 2013)

I never even knew LCDs could have burn in, I though that was only a CRT and Plasma problem.  Learn something new every day!


----------



## OneMoar (Jan 6, 2013)

Kreij said:


> Well, my little app does not do a rapid color change. Maybe someone with an IPS monitor that has a problem will come along and test it.
> 
> Besides, do you trust a program from the internet or would you rather get one from yer' Ol' Uncle Kreij?



you need to be able to flicker the pixels and or the entire panel (preferably at a rate equal or less to the G2G response time of the panel 2MS,5MS,8MS,16MS  for maximum effect I suspect all this does is cause More burning to hide image thats already burnt
what I purpose is this write it so that it does the following
adjustable flicker timer  from 2MS up to 16MS and perhaps a option to 'vary' the time at random so it makes the panel workharder 
a color mode supporting RGB+1 Custom color
the best tool I have found for this is running winamp with milk-drop 2 it beats the hell out of the panel lmao

I have a panel thats got a dead pixel ill try it on


----------



## Kreij (Jan 6, 2013)

Having an image displayed for 6 seconds will not cause any image retention, so this program is not "over burning" in any sense of the term. It just forces a full-on, full-off condition.
I can find no information that attributes "beating the hell out of the panel" with increased efficiency of image retention elimination.

If you can find me some data that shows flickering at the response time of the panel is a superior way to eliminate burn I will be happy to modify the program.

This will do nothing for dead pixels. It may make them more visible, but will not fix them, nor will anything else that I know of.


----------



## OneMoar (Jan 6, 2013)

basicly whats happens is that the pixels become "stretched" out due to extended periods at a static voltage in and lose there ablity to return to a fully neutral(lower voltage) state in extreme cases the damage is permanent.
 by that logic forcing them to operate at a fixed HIGH voltage(WHITE/colored and then off again)
 is going todo very little good and I would expect cause more wear and tear on the already stressed panel(higher voltage = heat and stress)  it could in theory kick the pixels back closer to there "relaxed"(normal voltage state) simplly because you are requesting it to cycle but to that end it should go away with normal use eitherway

but I would suspect rapidly changing voltages(color) would do more good(would take longer but be less stress on the panel in theroy) 
also if you have a Option for LCD-overdrive(AMD) you can try fiddling wit this because this increases the voltage target for a given requested color
for more detail see
http://en.wikipedia.org/wiki/Twisted_nematic_field_effect


----------



## Kreij (Jan 6, 2013)

You are correct, OneMoar. The question is, "what is the most efficient manner in which to bleed off the excess static charge?"

Apple recommended a pure white screen for the same period of time that the image took to burn in. I see this the same way you do. It's should not accomplish what is trying to be achieved.

I don't know if rapidly changing voltages on the panel is of any advantage from a "time to eliminate burn" standpoint. If that were the case one would think that it would be the de-facto method of doing this, but it's not, even among the panel manufacturers.

Thanks for the link, OneMoar, and maybe we can beat the crap out of this issue with some help from testers.


----------



## OneMoar (Jan 6, 2013)

Kreij said:


> You are correct, OneMoar. The question is, "what is the most efficient manner in which to bleed off the excess static charge?"
> 
> Apple recommended a pure white screen for the same period of time that the image took to burn in. I see this the same way you do. It's should not accomplish what is trying to be achieved.
> 
> ...



I suspect that it would depend on the 'level' of the residual  charge I just don't see how increasing the level of "ambient current" would have a positive effect unless you are raising the charge level to the point unless where it everything becomes nominal


----------



## Kreij (Jan 6, 2013)

Let take an extreme example.
You put up a complete black screen with TPU written in white in the middle and leave it for a couple of weeks (extreme case which could be permanent, but for arguments sake let's say it's not).

Would cycling colors below the static threshold of what burned in the white make any difference?
By the same thought, would not cycling at a white and black voltage range force pixels stuck at other color's static level to be forced out of their "comfort zone"?


----------



## johnspack (Jan 6, 2013)

I will carefully monitor (pun intended!)  some more usage of this app on my 24".  I do not see any difference to the rest of the screen area,  so I don't think it's hurting my monitor.  Of course it was a $400+ monitor,  so it's high quality.  Still have no dead pixels after years of use.


----------



## OneMoar (Jan 6, 2013)

Kreij said:


> Let take an extreme example.
> You put up a complete black screen with TPU written in white in the middle and leave it for a couple of weeks (extreme case which could be permanent, but for arguments sake let's say it's not).
> 
> Would cycling colors below the static threshold of what burned in the white make any difference?
> By the same thought, would not cycling at a white and black voltage range force pixels stuck at other color's static level to be forced out of their "comfort zone"?



 but its not a "voltage range the panel doesn't step from  0.1 0.2 0.03 0.4 ext ect when you request 'white' it goes directly to full voltage if the panel in question is OFF and you want to go to full white its gonna go from 0.000V to 1.0V directly(in about 5MS) there is not going be no 'stepping' of voltages 
conversely if you request that that the panel change from red to green to black to yellow in quick succession its gonna run the panel though its full range of voltage as two weather or not that its effective at removing the static`cling on the matrix that requires testing


----------



## Kreij (Jan 6, 2013)

The program won't hurt the monitor. You can turn down the brightness to reduce the stress on the backlighting, but for the short periods it's running I don't see it as being an issue.


----------



## OneMoar (Jan 6, 2013)

Kreij said:


> The program won't hurt the monitor. You can turn down the brightness to reduce the stress on the backlighting, but for the short periods it's running I don't see it as being an issue.



true enough I am more interested in what method would be more effective  
does anyone wanna offer up some old panels for SCIENCE ?


----------



## johnspack (Jan 6, 2013)

I have 2,  and I will do it!  If it's that darn bad,  then it's time I upgraded anyways!


----------



## OneMoar (Jan 7, 2013)

johnspack said:


> i have 2,  and i will do it!  If it's that darn bad,  then it's time i upgraded anyways!



burn them 
for science!


----------



## johnspack (Jan 7, 2013)

Speaking of science,  OneMoar,  that 6870 could do some really nice crunching......


----------



## Kreij (Jan 7, 2013)

It would mean leaving the monitors with a static image for long periods of time. Can't be one's you use regularly or the normal use will defeat the test.


----------



## lemonadesoda (Jan 7, 2013)

Cycling through the TFT primaries (incl. the primary mixes) rather than just white would also help us see if the monitor has individual pixel burn out or stuck pixels. ie. red, blue, green, magenta, cyan, yellow, white, black, cycle again. An alternative to your wonderful utility is to just get the PC to play a few DVDs fullscreen. Or the "matrix" screensaver. Probably that is the "coolest" way to do it


----------



## OneMoar (Jan 7, 2013)

johnspack said:


> Speaking of science,  OneMoar,  that 6870 could do some really nice crunching......



MY power bill is though the roof as it is if i could I would lol


----------



## johnspack (Jan 7, 2013)

Well,  I will see if this clears my burnin issue on the 24 anyways...  I'll try like a 1 hour session in the morning,  and report back.


----------



## Kreij (Jan 7, 2013)

lemonadesoda said:


> Cycling through the TFT primaries (incl. the primary mixes) rather than just white would also help us see if the monitor has individual pixel burn out or stuck pixels. ie. red, blue, green, magenta, cyan, yellow, white, black, cycle again. An alternative to your wonderful utility is to just get the PC to play a few DVDs fullscreen. Or the "matrix" screensaver. Probably that is the "coolest" way to do it



Yes, running something like the Matrix screensaver could possibly eliminate the problem.
Sadly, as always happens here on TPU, we have moved beyond what works and are now into "What works the fastest".
Anyone can make something work, we want MOAR POWAH !!


----------



## OneMoar (Jan 7, 2013)

Kreij said:


> Yes, running something like the Matrix screensaver could possibly eliminate the problem.
> Sadly, as always happens here on TPU, we have move beyond what works and are now into "What works the fastest".
> Anyone can make something work, we want MOAR POWAH !!



MOOOOOOOOOOOOOARRRRRRRRRRRRRRRRRRRRR POWWWWWWWWWER 
19: seconds
Shine Brighter - Kazuma The Shell Bullet(A Moment ...


----------



## Liquid Cool (Jan 7, 2013)

Thanks for this little program Kreij...

I have this old 27" Westinghouse LCD TV(LTV-27W1 circa 2005) that won't die on me...it's really been great, but the screen has some pretty bad burn in.  I'm going to give it a shot.

Best,

LC


----------



## Kreij (Jan 7, 2013)

@LC : The burn-in could be permanent, but it doesn't hurt to try it.
Definitely let me know how it goes.


----------



## Kreij (Jan 7, 2013)

@johnspack, try running this one with dual monitors.

You can choose which monitor by running it from a command prompt and adding a "/<monitor#>" switch after it.
So something like ... MonitorUnburn_WF.exe /1
The monitors are zero-based, so if you have two of them they will be 0 and 1.
It only reads the first character after the "/", so if you type in /15 it will see it as /1, thus it will only work with up to 10 monitors (0-9). I don't see this as a big problem at this point. 

It should throw an error and quit if you choose an invalid monitor number or if you give it a non-numeric switch like "/tpu". It is only looking for the last occurrence of the "/" in the command string args, so if you type "MonitorUnburn.exe /0 /1", it should use the /1.

Try starting it from both monitors to make sure it works either way.
See if you can break it. 

If anyone else with dual (or more) monitors would like to test it I would appreciate it.


----------



## Mindweaver (Jan 7, 2013)

Kreij said:


> @johnspack, try running this one with dual monitors.
> 
> You can choose which monitor by running it from a command prompt and adding a "/<monitor#>" switch after it.
> So something like ... MonitorUnburn_WF.exe /1
> ...



Nice! I just tested it and it works great on my dual monitor setup.


----------



## Kreij (Jan 7, 2013)

Thanks MW.

If anyone has any other suggestions or features let me know.


----------



## johnspack (Jan 9, 2013)

Yep,  it works on both monitors now.  My main monitor is getting better,  but I guess I got some pretty bad burn in on it.  Still haven't really run it that much on it yet,  so I'll keep at it.


----------



## okidna (Feb 19, 2013)

Just found this thread and this little apps and want to say THANK YOU VERY MUCH UNCLE KREIJ! 

Very useful for my old monitor which suffered badly from burn in.


----------



## laureola (Nov 28, 2014)

You saved my bacon! I've been trying out a 40" tv to see if I wanted to buy it from a friend and I lightly burned in the desktop image! But this is working even an hour in, thank you so much!

This program is definitely going into my essential programs folder haha.


----------

