Compositing window manager: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Annullata la modifica 62202345 di ScotXW (discussione) traduzioni sbagliate |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(18 versioni intermedie di 13 utenti non mostrate) | |||
Riga 1:
[[File:Schema livelli GUI.svg|thumb|upright=1.4|I componenti di base: display server implementa il [[sistema a finestre]], il [[gestore delle finestre]] ha fatto le [[Finestra (informatica)|decorazioni delle finestre]]. I '''compositing window manager''' fanno di più.]]
[[File:Wayland display server protocol.svg|thumb|upright=1.4|I [[Compositor Wayland]] combinano la funzione di [[display server]] con quella di un Gestore delle finestre tipo '''Compositeur''' come [[Quartz Compositor]].]]
[[File:Fedora-Core-6-AIGLX.png|thumb|L'effetto desktop cubico di [[Compiz]] su [[Fedora (informatica)|Fedora]].]]
Un '''compositing window manager''' è un componente dell'[[interfaccia grafica]] di un computer che gestisce la posizione delle [[Finestra (informatica)|finestre]] e i loro confini<ref name="microsoft1">{{Cita web|url=http://msdn2.microsoft.com/en-us/library/aa969540(VS.85).aspx|titolo=Desktop Window Manager|editore=Msdn2.microsoft.com|accesso=21 novembre 2008}}</ref><ref name="arstechnica1">{{Cita web|url=https://arstechnica.com/reviews/os/macosx-10-4.ars/13|titolo=Mac OS X 10.4 Tiger: Page 13|editore=Arstechnica.com|accesso=21 novembre 2008}}</ref>.
== Caratteristiche peculiari ==
La differenza principale tra un compositing window manager e un normale [[window manager]] è che invece di disegnare tutte le finestre in una sola immagine, l'immagine di ogni finestra viene scritta in un [[buffer]] di memoria indipendente, solitamente nella [[scheda video]], quindi l'immagine definitiva da visualizzare sullo schermo viene composta (da qui il nome) da tutte le immagini delle finestre. In questo modo è possibile trattare la visualizzazione finale in molti metodi, ad esempio è possibile mappare una finestra all'interno di una [[Texture mapping|texture]] di un oggetto [[Computer grafica 3D|3D]], oppure è possibile utilizzare le accelerazioni 2D delle moderne [[Graphics Processing Unit|GPU]] mappando le finestre in aree da sovrapporre a tutte le altre con effetti di [[alpha blending]]<ref>{{Cita web|url=http://compiz.org/|titolo=Compiz.org :: Home/Start – Compiz|editore=Compiz.org|accesso=21 novembre 2008|urlarchivio=https://web.archive.org/web/20061012143527/http://www.compiz.org/|dataarchivio=12 ottobre 2006|urlmorto=s}}</ref><ref>{{Cita web|url=https://blueprints.launchpad.net/ubuntu/+spec/composite-by-default|titolo=Blueprint: "Compositing window management (compiz/beryl)"|editore=Blueprints.launchpad.net|accesso=21 novembre 2008}}</ref>.
== Aspetti positivi ==
Line 10 ⟶ 11:
== Programmi di compositing window manager ==
[[Microsoft Windows]] ha introdotto il supporto alla composizione 3D del desktop con [[Windows Aero|Aero]] incluso da [[Windows Vista]]. [[
== Confronto con gli stacking window managers ==
Il window manager invia a ciascuna finestra un messaggio per ridipingere se stessa ogni volta che è appropriato (come quando viene ridimensionata o quando un'altra finestra passa davanti ad essa). Con un stacking window manager, il processo di riverniciatura può essere danneggiato quando un programma lento, che non risponde o che presenta bug non risponde ai messaggi in modo tempestivo<ref name="internet-explorer-redraw">{{Cita web|url=http://support.microsoft.com/kb/246113|titolo=Multiple Internet Explorer Instances Do Not Redraw Screen Correctly|data=9 ottobre 2003|editore=Microsoft|accesso=17 dicembre 2010}}</ref><ref name="epson-drivers">{{Cita web|url=http://www.neuratron.com/faq.htm#Why_do_PhotoScore_for_Mac_windows_not_redraw_properly_after_scanning_with_Epson_scanners_|titolo=PHOTOSCORE SUPPORT FAQ|accesso=17 dicembre 2010}}</ref>. Un programma dannoso può far apparire instabile il sistema semplicemente trascurando di ridipingere la sua finestra. Quindi, possono verificarsi una o più delle seguenti condizioni:
* una finestra ritagliata non ridipinge le regioni scoperte, risultando in spazi vuoti o una "traccia" lasciata dietro da un'altra finestra
* parti di finestre (come le ombre decorative) vengono lasciate indietro e non vengono adeguatamente ridipinte
* gli aggiornamenti dello schermo diventano insopportabilmente lenti<ref name="nvidia-slowdown">{{Cita web|url=http://www.tomshardware.co.uk/forum/140227-35-screen-redraw-slow-nvidia-nforce-system-device-driver|titolo=Archived from groups: microsoft.public.windowsxp.video|data=18 luglio 2004|editore=Bestofmedia Group|accesso=17 dicembre 2010}}</ref>
* l'intero schermo si blocca fino a quando il programma non risponde o viene terminato<ref name="swing-freeze">{{Cita web|url=http://forums.java.net/node/655980|titolo=Mustang: Swing apps freeze then painting corrupt|data=1º maggio 2006|editore=Oracle|accesso=17 dicembre 2010|urlarchivio=https://web.archive.org/web/20110726154349/http://forums.java.net/node/655980|dataarchivio=26 luglio 2011|urlmorto=s}}</ref>
Con un gestore di composizione, se una finestra smette di ridipingere se stessa quando richiesto dal gestore di finestre, il suo ultimo ridisegno rimarrà visualizzato e la finestra potrebbe essere oscurata. Spesso, il titolo cambia per riflettere lo stato della finestra come non risponde. Un programma può impedire che la sua finestra venga spostata o non mappata, ma generalmente non causerà problemi di ridisegno.
== Composizione ed effetti 3D nei sistemi operativi ==
Nella composizione, gli effetti 3D potrebbero essere applicati alle finestre per fornire effetti desktop 3D. I moderni gestori di finestre di compositing utilizzano l'accelerazione hardware 3D. Il software di gestione delle finestre di composizione comunica con l'hardware grafico tramite interfacce di programmazione come [[OpenGL]] o Direct3D.
=== Linux ===
Lo stacking dei gestori di finestre in esecuzione sul [[X Window System|server X]] richiedeva un'estensione di [[Chroma key|chroma keying]] o green screening. La composizione è stata introdotta tramite l'estensione "Composite". I gestori di composizione utilizzano l'accelerazione hardware tramite questa estensione, se disponibile.
In Linux e UNIX, la capacità di eseguire il compositing con accelerazione 3D completa richiedeva modifiche fondamentali a X11 per poter utilizzare l'accelerazione hardware. In origine, iniziarono ad apparire numerose implementazioni X11 modificate progettate attorno a OpenGL, incluso [[Xgl]]. L'introduzione di [[AIGLX]] ha eliminato la necessità di utilizzare Xgl e consentirebbe ai gestori di finestre di eseguire la composizione accelerata 3D su un server X standard, pur consentendo il [[rendering]] diretto. Attualmente, le schede [[NVIDIA]], [[Intel]] e [[Advanced Micro Devices|AMD]] supportano AIGLX.
[[Compiz]] ha introdotto un effetto cubo, che consente all'utente di vedere fino a 6 desktop virtuali contemporaneamente. Ogni desktop viene convertito in una texture superficiale del cubo, che può essere ruotata a piacimento. Compiz mostra una vasta gamma di effetti 2D e 3D e ha requisiti hardware relativamente bassi. Nel 2012, Compiz è stato incluso in Ubuntu Linux ed è stato abilitato automaticamente quando l'hardware e i driver supportati erano disponibili e l'utente non aveva selezionato la modalità 2D<ref>{{Cita web|url=https://askubuntu.com/questions/132329/what-is-the-app-compiz-responsible-for-on-ubuntu-12-04#132337|titolo=What is the app, "compiz" responsible for on ubuntu 12.04?}}</ref>.
[[Mutter (software)|Mutter]] ([[Metacity]] + [[Clutter (toolkit)|Clutter]]) ha sostituito Metacity come window manager predefinito per GNOME ed è presente in [[GNOME Shell]] di GNOME 3.0. Utilizza il motore di visualizzazione Clutter, che è stato portato su tutti i principali [[Sistema operativo|sistemi operativi]], netbook e [[smartphone]].
Dalla versione 4, il window manager di KDE [[KWin]] ha capacità di composizione. KWin offre molte delle stesse funzionalità presenti anche in Compiz.
=== Java ===
Project Looking Glass era un gestore di finestre che combinava il rendering 3D e il linguaggio di programmazione Java multipiattaforma. Nel 2021 è inattivo e rilasciato sotto GNU General Public License. La distribuzione Granular Linux live CD include Looking Glass come window manager opzionale.
All'indomani della sua interruzione, alcune delle sue funzionalità, come il cambio di copertina e le anteprime dal vivo delle miniature, sono state trovate su altri gestori di finestre. Le sue caratteristiche più originali includevano l'inclinazione delle finestre, i telai delle finestre su due lati e gli sfondi a scorrimento parallasse.
=== AmigaOS 4 e MorphOS ===
Sebbene siano in grado di funzionare su hardware compatibile con il 3D, AmigaOS 4 e MorphOS sono progettati per funzionare su vecchi computer Amiga legacy, a partire dall'Amiga 1200. In quanto tali, i loro window manager hanno per lo più funzionalità di rendering planare che includono stratificazione composita, alpha blending, gradienti, alta risoluzione e desktop multipli ("schermi") che possono parzialmente ritagliarsi l'un l'altro.
=== Microsoft Windows ===
Sebbene il window manager in [[Windows 2000]] esegua la composizione, non esegue trasformazioni come un alpha per pixel. Poche applicazioni commerciali hanno sfruttato l'alfa blending; i programmi freeware sono stati tra i primi a sperimentarlo, anche se tramite impostazioni opzionali<ref>{{Cita web|url=http://www.elgorithms.com/downloads/chaoscrystal.php|titolo=Example alpha transparency utility}}</ref><ref>{{Cita web|url=http://www.codeguru.com/cpp/frameworks/advancedui/windowingtechniquesandclasses/article.php/c3213/|titolo=Alpha Blending (Transparent) Windows|editore=CodeGuru|accesso=7 marzo 2021|dataarchivio=30 giugno 2008|urlarchivio=https://web.archive.org/web/20080630083453/http://www.codeguru.com/cpp/frameworks/advancedui/windowingtechniquesandclasses/article.php/c3213/|urlmorto=sì}}</ref>. La composizione è stata introdotta con Desktop Window Manager in Windows Vista.
Windows Vista e Windows 7 consentono all'utente di disabilitare Desktop Window Manager selezionando le impostazioni dell'aspetto di Windows Basic. Inoltre, viene disabilitato automaticamente da Windows per eseguire l'overlay hardware tramite il filtro Overlay Mixer.
== Usabilità e piacere per gli occhi ==
L'approccio di composizione rende più facile implementare una serie di funzionalità che rendono l'interfaccia utente più accessibile, più semplice da usare o con elementi di piacere per gli occhi.
=== Lenti di ingrandimento ===
La grafica vettoriale, come i caratteri TrueType e gli elementi con accelerazione 3D, può essere espansa senza degrado (solitamente a causa dell'aliasing). Una lente di ingrandimento dello schermo ingrandisce un'area dello schermo, facilitando la lettura di parti di testo, sia per prevenire l'affaticamento degli occhi, per gli ipovedenti o semplicemente a distanza. Gli effetti di zoom come la lente d'ingrandimento [[fish-eye]] e gli effetti desktop di zoom forniscono questa funzionalità.
=== Anteprima dal vivo ===
È possibile visualizzare un'anteprima di una finestra in una miniatura a comparsa quando l'utente passa con il mouse sul pulsante della barra delle applicazioni associato. Ciò consente all'utente di identificare e gestire diversi programmi in esecuzione contemporaneamente.
=== Cambio finestra ===
Le finestre con nomi e icone simili tendono a creare confusione, soprattutto quando le loro barre del titolo si sovrappongono; la posizione di ciascuna di queste finestre sulla barra delle applicazioni deve essere memorizzata. Quando ci sono molte finestre aperte in questo modo, l'utente deve spesso ricorrere a tentativi ed errori, facendo clic uno alla volta su ciascun pulsante della barra delle applicazioni, prima di procedere. Il cambio di finestra consente di visualizzare rapidamente in anteprima più finestre contemporaneamente riorganizzandole temporaneamente su uno sfondo decorativo. Dopo aver effettuato una selezione, le finestre vengono quindi riportate alla loro disposizione originale.
La selezione inizia quando l'utente immette una combinazione di tasti di scelta rapida, sposta il puntatore del mouse su un punto attivo sullo schermo o, in alcune situazioni, utilizza la rotellina del mouse. Gli elementi vengono esplorati utilizzando la tastiera o il mouse. Un elemento viene selezionato rilasciando il tasto di scelta rapida, premendo il tasto Invio o facendo clic su di esso con il mouse.
==== Flip switcher ====
Il flip switcher è un miglioramento della funzione di commutazione Alt-Tab. Le finestre in esecuzione sono disposte in una pila, simile a un selettore in stile flip in un jukebox degli anni '50 o in un Rolodex. In alcuni sistemi, l'utente può premere Alt-Maiusc-Tab per navigare all'indietro. Le transizioni visive vengono applicate a ciascun elemento durante la navigazione.
==== Cambio copertina ====
Il cambio di copertina è come il cambio di vibrazione con poche differenze, principalmente visive. Invece di una pila con la selezione in alto, vengono mostrate due pile simmetriche con la selezione corrente in primo piano e al centro (simile alla funzione di inclinazione della finestra in Looking Glass).
Cover Flow è un'implementazione del cambio di copertura in macOS. Le versioni più recenti utilizzano la sfocatura per ridurre l'enfasi sugli elementi non selezionati. Cover Flow è stato implementato anche in altri software pubblicati da Apple come iTunes.
==== Cambio suoneria ====
La commutazione dell'anello è come la commutazione del flip, tranne per il fatto che le finestre si muovono in cerchio, con la selezione corrente davanti, di solito in basso. La maggior parte dei gestori di finestre compositing includono questa funzionalità out of the box, e applicazioni di terze parti, come ad esempio 3D-desktop, sono inoltre disponibili.
==== Raggruppamento ====
L'utente può raggruppare le finestre insieme, in modo che in ogni gruppo sia visibile solo una finestra alla volta. In Compiz, la cornice della finestra viene capovolta per indicare quando la finestra attiva nel suo gruppo è stata modificata.
==== Exposé ====
macOS mostra un'anteprima di ogni finestra sullo schermo affiancandole. Altri sistemi con funzionalità simili (Microsoft Windows, Compiz, KWin, applicazioni di terze parti) sono indicati come cloni di Exposé. Il tasto di scelta rapida per attivare Exposé non è Alt-Tab, ma piuttosto F3.
==== Mission Control ====
Mac OS X 10.7 combina molte altre funzionalità di composizione sviluppate da Apple, come Exposé, Dashboard e Spaces, in un programma più ampio chiamato Mission Control.
=== Motori widget ===
Su macOS, i "widget" (applet monouso) come un orologio, un blocco note e una calcolatrice possono essere visualizzati premendo un tasto di scelta rapida. I motori dei widget velocizzano il lavoro mantenendo i widget di uso comune accessibili senza essere invadenti. Sono gestiti dal programma Dashboard in macOS.
Compiz inizia con un Widget Layer vuoto, che consente all'utente di aggiungere applicazioni facendo clic su di esse. Una varietà di widget sono supportati, tra cui Screenlets, gDesklets e SuperKaramba.
Windows Vista fornisce gadget che l'utente può inserire in Windows Sidebar (gadget Sidebar), una pagina iniziale di Windows Live (gadget Web) o uno schermo esterno, come il telefono cellulare dell'utente (gadget SideShow). La barra laterale di Windows era una partizione visibile in Windows Vista ed è stata eliminata in Windows 7, insieme ai gadget della barra laterale che sono stati modificati in Gadget desktop.
=== Facciate dell'interfaccia utente ===
Metisse implementa le facciate dell'interfaccia utente, un sistema che fornisce agli utenti modi semplici per adattare, riconfigurare e ricombinare le interfacce grafiche esistenti, attraverso l'uso di tecniche di manipolazione diretta<ref>{{Cita web|url=http://insitu.lri.fr/metisse/facades/|titolo=Metisse: User Interface Façades|sito=insitu.lri.fr|accesso=7 marzo 2021|dataarchivio=24 febbraio 2021|urlarchivio=https://web.archive.org/web/20210224031547/http://insitu.lri.fr/metisse/facades/|urlmorto=sì}}</ref>.
== Elenco dei gestori di finestre di composizione ==
* 3Dwm, un gestore di spazi di lavoro tridimensionale e una piattaforma generica per interfacce utente 3D. Nel giugno 2006 questo progetto è inattivo.
* Desktop Window Manager e il tema [[Windows Aero]] su Windows
* [[Quartz Compositor]] su macOS
* [[Compiz]]
* Marco (fork da [[Metacity|GNOME Metacity]])
* [[KWin]] (dalla versione 3.3)
* [[Mutter (software)|Mutter]]
* [[Xfce#xfwm4|Xfwm]] da Xfce (dalla versione 4.2)
* [[Mir (software)|Mir]] (dalla versione 1.0)
* [[Metisse (software)|Metisse]] window system
== Elenco dei gestori di composizione autonomi ==
* xcompmgr – un'alternativa minima a Compiz
* Compton – un fork corretto di bug di dcompmgr, che è un fork di xcompmgr (non mantenuto dal 2017)
* Picom – un compositore leggero per X11. È un fork di Compton.
* Cairo Compmgr (Cairo Composite Manager) – un componente aggiuntivo di composizione per i gestori di finestre esistenti. Utilizza [[Cairo (grafica)|Cairo]], una libreria di grafica vettoriale utilizzata anche in [[GTK (toolkit)|GTK]].
* Unagi Compositing Manager – un gestore di composizione che può essere utilizzato insieme a un gestore di finestre esistente. Utilizza la libreria [[XCB (informatica)|XCB]] (non mantenuto dal 2014).
* MCompositor – utilizzato sui telefoni [[MeeGo]].
== Sistemi operativi con gestori di finestre di composizione ==
* Mac OS X 10.0 e versioni successive
* qualsiasi sistema operativo Unix-like che utilizza XOrg / AIGLX o Xgl
* AmigaOS 4
* MorphOS 2.0 e versioni successive
* Windows Vista e versioni successive
== Esempi ==
<gallery>
File:Gnome-2.20-screenshot.png|alt=Metacity window manager in GNOME 2.20|Metacity window manager in GNOME 2.20
File:Compiz-ShiftSwitcher.png|alt=Ubuntu 8.04 Hardy Heron esegue Shift Switcher di Compiz in modalità Flip.|Ubuntu 8.04 Hardy Heron esegue Shift Switcher di Compiz in modalità Flip.
File:Xgl window switching.png|alt=Cambio finestra di base in Xgl|Cambio finestra di base in Xgl
</gallery>
== Note ==
<references/>
== Voci correlate ==
* [[Window manager|Gestore delle finestre]]
* [[Interfaccia grafica]]
|