Czy Repaint formy dużo zżera np. procka?

0

Czy gdybym w timerze dał Form1.Repaint; z intervalem ustawionym na 500 ms, to czy musiałbym się przejmować np. zużyciem procesora lub czegoś, czy nie? Bo wydaje mi się, że to błaha funkcja, która prawie nic nie żre, ale mogę być w błędzie.

0

Wyłącz zbędne aplikacje odpal menażer zadań i testowy program zobacz jakie jest użycie bez tego Repaint a później z i sobie odpowiedz.

0

W praktyce raczej nic - u mnie na 10-letnim laptopie sprawdziłem dla formularza wypełnionego kontrolkami i przy interwale 100 zużycie procesora stało na 0%; W bardziej wymyślnych i przeładowanych GUI może i będzie widać różnicę, choć nie sądzę.

0

Przy niskich interwałach możesz zauważyć "miganie", ale przy kilkuset ms nie powinieneś niczego takiego zauważyć.

0

dziękuję pięknie!

2

Jak dla mnie wygląda to na zły projekt kodu.
W zdarzeniu OnTimer powinieneś modyfikować właściwość odpowiedniego obiektu (np formy). Właściwość powinna wykrywać, czy repaint jest potrzeby i sama decydować kiedy wywołać Repaint. To jest powszechny wzorzec projektowania takich elementów.

0

Wyobraź sobie, że oglądasz film na pełnym ekranie.
Komputer musi narysować cały ekran około 30 razy na sekundę.
Ty u siebie rysujesz pół raza na sekundę.

Więc to jest nic, pod warunkiem że samo rysowanie jest wydajne.

0
Azarien napisał(a)

Ty u siebie rysujesz pół raza na sekundę.

fiifi napisał(a)

Czy gdybym w timerze dał Form1.Repaint; z intervalem ustawionym na 500 ms

Ooops!

1 użytkowników online, w tym zalogowanych: 0, gości: 1