La recente versione 139.0.1 di Mozilla Firefox risolve finalmente un fastidioso bug grafico che ha tormentato numerosi utenti dopo l'aggiornamento precedente. Il problema, emerso immediatamente dopo il rilascio della versione 139.0 del 27 maggio, causava artefatti visivi e corruzioni dello schermo particolarmente evidenti in configurazioni multi-monitor con refresh rate differenti e schede grafiche NVIDIA. Una soluzione che molti attendevano con impazienza, considerando l'ampia diffusione di setup con monitor a frequenze diverse nella comunità di appassionati e professionisti.
L'origine del problema è stata identificata nella rimozione di una blocklist che precedentemente impediva l'utilizzo di DirectComposition su determinate configurazioni NVIDIA. In particolare, la combinazione critica riguardava sistemi con più monitor a frequenze di aggiornamento diverse, come la tipica configurazione con un display principale a 144 Hz affiancato da uno secondario a 60 Hz. Quando contenuti multimediali a 60 FPS venivano riprodotti sul monitor secondario, qualsiasi interazione con il display principale ad alta frequenza provocava immediati disturbi grafici.
Durante il periodo in cui gli utenti hanno dovuto convivere con questo bug, alcuni membri della comunità su Bugzilla hanno individuato un workaround temporaneo: disabilitare manualmente il flag "gfx.webrender.dcomp-video-hw-overlay-win" impostandolo su "false" nelle impostazioni avanzate del browser. Questa soluzione artigianale ha permesso a molti di continuare a utilizzare Firefox in attesa della patch ufficiale, che fortunatamente non ha tardato ad arrivare.
La decisione di Mozilla di rimuovere la blocklist specifica per le configurazioni NVIDIA resta avvolta nel mistero. Alcuni sviluppatori di Mozilla hanno fornito indizi tecnici, spiegando che Firefox gestisce i buffer grafici in modo diverso rispetto ad altri browser. Firefox utilizza "Surfaces" anziché "Swapchains" quando interagisce con Windows DirectComposition, un approccio che ha delle peculiarità nel rendere i contenuti sullo schermo.
Gli stessi sviluppatori hanno anche accennato all'implementazione di un nuovo Layer Compositor, progettato per avvicinare il comportamento di Firefox a quello degli altri browser principali. Questa transizione verso un nuovo sistema di rendering potrebbe essere stata la motivazione dietro la rimozione della blocklist, con conseguenze impreviste sulle configurazioni hardware specifiche.
È importante sottolineare che il problema non ha colpito tutti gli utenti di Firefox. I sistemi equipaggiati con GPU Intel o AMD sono rimasti immuni, così come le configurazioni con un singolo monitor. La natura selettiva del bug ha permesso a Mozilla di concentrarsi su una soluzione mirata, rilasciando un aggiornamento che si occupa esclusivamente di questo problema.
L'aggiornamento 139.0.1 rappresenta un esempio di come anche i software più collaudati possano introdurre problemi inaspettati durante il processo di evoluzione. La versione 139.0 aveva portato con sé diverse novità interessanti, tra cui la possibilità di personalizzare lo sfondo della scheda "Nuova scheda" e funzionalità avanzate di traduzione per le estensioni supportate. Caratteristiche che molti utenti non hanno potuto apprezzare pienamente a causa dei problemi grafici.
Per gli utenti che ancora non hanno aggiornato il browser, il processo è semplice: basta cliccare sul pulsante menu (le tre linee orizzontali) nell'angolo in alto a destra, selezionare "Aiuto" e poi "Informazioni su Firefox". Il browser verificherà automaticamente la disponibilità di aggiornamenti e li scaricherà se necessario. In alternativa, è possibile continuare a utilizzare il workaround manuale disabilitando il flag problematico nelle impostazioni avanzate.