Boy that really s*cks! i have the same problem sometimes, i have no idea what causes it, not what to do to prevent it, but i wanted to let you know you aren't alone!

maybe you could try staying up all night?
but i guess after awhile, it wouldn't matter how bad your vision was! cuz you'd be too tired to do anything- or to care!
good luck, i hope there is someone out there who can help!