Qual è il significato di refresh in windows?

In termini tecnici, invalida lo schermo, rendendolo sporco, in modo che possa essere reso di nuovo.
Lasciate che vi spieghi la parola dirty qui.

main-qimg-a5afbbd156257e0ab8913495788efe2e

(No, non è quello che state pensando.)

La vostra prima domanda sarebbe Cosa ha a che fare questo 'dirty' termine con il refresh?
Pazienza, giovane cavalletta, hai bisogno di un primer sulla storia mai raccontata delle GUI per computer, alias Graphical User Interface.
Una volta, quando i PC non erano così veloci e non c'era una GPU dedicata (schede grafiche) per fare il rendering (disegno), c'era molto carico sui processori. Le GUI sono arrivate anni fa, ma farle funzionare sull'hardware legacy era difficile. C'è una teoria (ho dimenticato il nome) che il software è sempre più avanti dell'hardware in termini di progresso. Così avevamo già la GUI, ma non un buon hardware per supportarla.

Il problema principale della GUI è che lavora sui frame. Le librerie di rendering creano una vista statica dello schermo, la inviano al monitor per il rendering e poi iniziano a lavorare su un'altra vista statica. Ciascuna di queste viste è chiamata frame e il tasso di disegno dei frame è chiamato Frame Per Second o FPS (ora lo sapete). Se ancora non l'avete capito, immaginatevi dei flipbook o delle animazioni 2D disegnate a mano. Ogni vista sullo schermo è disegnata continuamente per darci l'impressione che le cose si stiano muovendo.

main-qimg-c18b3bb17c458fa75689475a10ca982c.webp

(Un Flipbook)

Tuttavia realizzarlo non è semplice. L'hardware non era sufficiente. Così gli sviluppatori hanno creato tecniche di ottimizzazione. In un normale desktop ci sono un sacco di componenti come icone, pulsanti, barra delle applicazioni, menu di avvio, sfondi ecc. Questi sono chiamati componenti UI. In un normale rendering, ognuno di essi deve essere reso in ogni fotogramma. Quindi in ogni fotogramma, ogni componente UI deve anche essere disegnato.
In ogni chiamata di rendering, ogni componente che è attualmente presente sullo schermo riceve una chiamata. Questa è chiamata una chiamata di disegno. Se il numero di chiamate di disegno aumenta, anche il tempo per disegnarli aumenta, il che abbassa il tasso di FPS e lo schermo sembra bloccato tra un'animazione o un movimento del puntatore del mouse.
Perché tutto ha bisogno di una chiamata di disegno separata per il rendering? Perché le tecniche di rendering funzionano come una tela. Su cui un componente fa il rendering sopra un altro componente. Ciò significa che lo sfondo disegna per primo, poi le icone del desktop e le loro etichette, poi è il turno della barra delle applicazioni e del menu di avvio. La barra delle applicazioni disegna sopra lo sfondo. Quindi funziona come un livello. Funziona ancora così, se ve lo state chiedendo. Nel rendering 3D ci sono dei passaggi extra per ottenere un'immagine 2D di ogni modello 3D.

Questo è il modo normale, se ci fosse abbastanza hardware. Tuttavia, poiché eravamo limitati dal punto di vista dell'hardware, abbiamo creato un'ottimizzazione. Un'ottimizzazione è quella di renderizzare solo quel componente che è cambiato dall'ultimo frame di rendering. Per ottenere questo, ogni componente dichiara se ha bisogno di essere ridisegnato o meno. I componenti che devono essere disegnati sono chiamati oggetti sporchi. Così la CPU rendeva solo i componenti sporchi e quindi risparmiava un sacco di chiamate di disegno in questo modo.

Tuttavia questo metodo era buggato. A causa del sovraccarico della CPU, una chiamata di disegno per un componente sporco poteva essere saltata per la prossima chiamata del thread di disegno (Thread è usato per il multitasking. È solo una coda di compiti). Ma nel frame successivo, il componente non è più sporco, quindi non viene renderizzato di nuovo. Come avrete capito, l'icona potrebbe non apparire sul desktop. A parte questo, la chiamata per cancellare lo schermo dopo l'ultimo frame potrebbe anche essere saltata, quindi il componente potrebbe apparire nella sua ultima posizione così come nella nuova posizione per dare questo tipo di effetto -

main-qimg-96ab1fea3073a5660cdc20f2e93bedae.webp

Quindi la domanda è cosa fa il pulsante di aggiornamento?
Si limita a cancellare tutto sul desktop o nella finestra corrente e segnare tutto come sporco, per farli ridisegnare di nuovo. Fa ancora la stessa cosa, tuttavia da quando il software e l'hardware sono stati migliorati, il salto della chiamata di draw avviene raramente. Ma la possibilità c'è sempre, quindi l'opzione è ancora qui.

Refresh non aggiunge nulla alle prestazioni, aumenta leggermente l'overhead per rallentare il vostro sistema, tuttavia è trascurabile ora. Sentitevi liberi di premere il refresh quanto volete, non farà nulla di utile, ma vi sentirete bene, che è ciò che conta.

PS: Ho copiato spudoratamente una frase da Thaddeus Howze'risposta di Marvel Comics: Bruce Banner è un mutante o un mutato? Che Hulk abbia pietà di me.