C # Thread.Sleep (1000) занимает гораздо больше, чем 1000 мс на некоторых ПК

Я пишу программу на C #, чтобы считать 5 секунд. Что я делаю это:

        new Task(() =>
        {

                try
                {
                        this.Invoke((Action)delegate()
                        {
                            label1.Text = "5"; // 4, 3, 2..etc
                        });
                    }
                    Thread.Sleep(1000);
                }
                catch
                {
                    // form could be disposed
                    break;
                }

            }

        }).Start();

Это работает на моем ПК, однако, когда я скопировал программу на планшет с окном, Thread.Sleep (1000) дает более 1 секунды. Другими словами, обновление ярлыка с 5,4,3,2,1 занимает более 5 секунд (фактически более 10 секунд). В качестве альтернативы, обновление label1.Text = "5" и т. Д. Занимает слишком много времени? Это не имеет смысла для меня. Интересно, что не так?

Ответы на вопрос(1)

Ваш ответ на вопрос