Quelle est la signification du rafraîchissement dans les fenêtres ?


En termes techniques, il invalide l'écran, le rendant sale, afin qu'il puisse être rendu à nouveau.
Laissez-moi vous expliquer le mot sale ici.

main-qimg-a5afbbd156257e0ab8913495788efe2e


(Non, ce n'est pas ce que vous'pensez.)

Votre première question serait Qu'est-ce que ce terme 'sale'a à voir avec le refresh ?
Patience jeune sauterelle, vous avez besoin d'une amorce sur l'histoire indicible de l'ordinateur GUI aka Graphical User Interface.
Il fut un temps où les PC n'étaient pas si rapides et il n'y avait't un GPU dédié (cartes graphiques) pour faire le rendu (Dessin), il y avait beaucoup de charge sur les processeurs. Les interfaces graphiques sont apparues il y a des années, mais il était difficile de les faire fonctionner sur le matériel existant. Il existe une théorie (dont j'ai oublié le nom) selon laquelle les logiciels ont toujours une longueur d'avance sur le matériel en termes de progrès. Ainsi, nous avions déjà l'interface graphique, mais pas de bon matériel pour la supporter.


Le principal problème de l'interface graphique est qu'elle fonctionne sur des Frames. Les bibliothèques de rendu créent une vue statique de l'écran, l'envoient au moniteur pour effectuer le rendu, puis commencent à travailler sur une autre vue statique. Chacune de ces vues s'appelle une image et la vitesse à laquelle les images sont dessinées s'appelle Frame Per Second ou FPS (maintenant vous savez). Si vous n'avez toujours pas compris, imaginez des Flipbooks ou des animations 2D dessinées à la main. Chaque vue sur l'écran est dessinée en continu pour nous donner l'impression que les choses y bougent.

main-qimg-c18b3bb17c458fa75689475a10ca982c.webp

(Un Flipbook)

Pour autant, y parvenir n'est pas simple. Les hardwares n'étaient pas suffisants. Alors les développeurs ont créé des techniques d'optimisation. Dans un bureau normal, il y a beaucoup de composants tels que les icônes, les boutons, la barre des tâches, le menu de démarrage, le papier peint, etc. On les appelle les composants de l'interface utilisateur. Dans un rendu normal, chacun d'entre eux doit être rendu dans chaque image. Donc, dans chaque image, chaque composant UI doit également être dessiné.
Dans chaque appel de rendu, chaque composant qui est actuellement présent sur l'écran reçoit un appel. Cela s'appelle un appel de dessin. Si le nb d'appel de dessin augmente, le temps pour les dessiner augmente aussi ce qui diminue le taux de FPS et l'écran semble bloqué entre une animation ou un mouvement du pointeur de la souris.
Pourquoi tout a besoin d'un appel de dessin séparé pour le rendu ? Parce que les techniques de rendu fonctionnent comme un canevas. Sur lequel un composant effectue le rendu par-dessus un autre composant. Cela signifie que le fond d'écran se dessine en premier, puis les icônes du bureau et leurs étiquettes, puis c'est le tour de la barre des tâches et du menu de démarrage. La barre des tâches se dessine par-dessus le fond d'écran. Cela fonctionne donc comme une couche. Cela fonctionne toujours comme ça, si vous vous posez la question. Dans le rendu 3D, il's des étapes supplémentaires pour obtenir une image 2D de chaque modèle 3D.

C'est à peu près la manière normale, si le matériel était suffisant. Cependant, comme nous étions limités du côté du matériel, nous avons créé une optimisation. Une optimisation consiste à rendre uniquement le composant qui est modifié depuis le rendu de la dernière image. Pour ce faire, chaque composant déclare s'il doit être redessiné ou non. Les composants qui doivent être dessinés sont appelés objets sales. Ainsi, le CPU ne rendait que les composants sales et économisait ainsi beaucoup d'appels de draw.

Cependant, cette méthode était boguée. En raison de la surcharge du CPU, un appel de dessin pour un composant sale pourrait être sauté pour le prochain appel de thread de dessin (Thread est utilisé pour le multitâche. It's juste une file d'attente de tâches.). Mais dans l'image suivante, le composant n'est plus sale, donc il n'est pas rendu à nouveau. Comme vous l'avez peut-être deviné, l'icône peut ne pas apparaître sur le bureau. En dehors de cela, l'appel à effacer l'écran après la dernière image pourrait également être sauté, de sorte que le composant pourrait apparaître sur sa'dernière position ainsi que sur la nouvelle position pour donner ce genre d'effet -

main-qimg-96ab1fea3073a5660cdc20f2e93bedae.webp

La question est donc de savoir ce que fait le bouton de rafraîchissement ?
Il efface simplement tout sur le bureau ou dans la fenêtre actuelle et marque tout comme sale, pour les faire redessiner à nouveau. Il fait toujours la même chose, cependant depuis Software ainsi que le matériel ont été améliorés maintenant, le saut d'appel de tirage se produit rarement. Mais la possibilité est toujours là, donc l'option est toujours là.

Refresh n'ajoute pas à la performance, il augmente légèrement l'overhead pour ralentir votre système, cependant il'est négligeable maintenant. N'hésitez pas à appuyer sur refresh autant que vous voulez, cela ne fera'rien d'utile, mais vous'vous sentirez bien, ce qui est ce qui compte.

PS : J'ai copié sans vergogne une phrase de la réponse de Thaddeus Howze's Marvel Comics : Bruce Banner est-il un mutant ou un muté ? Puisse Hulk avoir pitié de moi.