Melhor algoritmo para desbotar um winform

Enquanto procurava por código para desvanecer uma winform, me deparei com estepágina no fórum do MSDN.

for (double i = 0; i < 1; i+=0.01)
{
    this.Opacity = i;
    Application.DoEvents();
    System.Threading.Thread.Sleep(0);
}

ofor O loop tem um incremento não-inteiro e, a partir de uma pergunta anterior, não é uma boa técnica de programação (devido à representação inexata da maioria dos decimais).

Eu vim com essa alternativa.

for (double i = 0; i < 100; ++i)
{
    this.Opacity = i/100;
    Application.DoEvents();
    System.Threading.Thread.Sleep(0);
}

Qual destes é mais eficiente?

Se houver um algoritmo melhor para desvanecer um formulário, ficarei muito feliz se ele estiver incluído.

Obrigado.

questionAnswers(6)

yourAnswerToTheQuestion