Komposittvindusbehandler

En sammensatt vindusbehandler er en komponent av en datamaskins grafiske grensesnitt som styrer plasseringen av vinduer og deres grenser [1] [2] .

Spesielle egenskaper

Hovedforskjellen mellom en sammensatt vindusbehandler og en vanlig vindusbehandler er at i stedet for å tegne alle vinduer i ett bilde, blir bildet av hvert vindu skrevet til en uavhengig minnebuffer , vanligvis i skjermkortet , og deretter bildet som skal vises. på skjermen er sammensatt (derav navnet) fra alle bildene av vinduene. På denne måten er det mulig å behandle den endelige visualiseringen i mange metoder, for eksempel er det mulig å kartlegge et vindu inne i en tekstur av et 3D - objekt , eller det er mulig å bruke 2D-akselerasjonene til moderne GPUer ved å kartlegge vinduene i områder å bli lagt over alle de andre med alfa-blandingseffekter [3] [4] .

Positive aspekter

Fordelene med å bruke en komposittvindusbehandler er å frigjøre CPU fra å tegne om og komponere vinduer på skjermen for å delegere denne operasjonen til grafikkortets GPU. En annen fordel med kompositering er at hvis et program slutter å tegne vinduet sitt, beholder det den siste gyldige representasjonen. Den kanskje mest fremtredende funksjonen for brukeren er muligheten til å bruke ulike grafiske effekter på vinduer og hele skrivebordet.

Sammensetting av vindusbehandlerprogrammer

Microsoft Windows introduserte støtte for desktop 3D-komposisjon med Aero inkludert i Windows Vista . Apple Mac OS X har i stedet støtte for komposisjon takket være Quartz Compositor siden versjon 10.0. Scenarioet er annerledes på Linux , det er flere 3D- og utelukkende 2D-komposittsystemer. Blant 3D-komposittvindusbehandlerne er de mest modne Compiz , KWin og Mutter , mens de 2D som bare bruker XRender- utvidelsen til X.Org - serveren inkluderer Metacity , xfwm4 og xcompmgr (mindre avanserte enn de forrige).

Sammenligning med stablingsvindusbehandlere

Vindusbehandleren sender hvert vindu en melding om å male seg selv på nytt når det passer (for eksempel når det endres størrelse eller når et annet vindu passerer foran det). Med en stablingsvindusbehandler kan malingsprosessen bli skadet når et tregt, ikke-svarende eller feilprogram ikke svarer på meldinger i tide [5] [6] . Et ondsinnet program kan få systemet til å virke ustabilt ved å unnlate å male vinduet på nytt. Så en eller flere av følgende tilstander kan oppstå:

Med en komposisjonsbehandler, hvis et vindu slutter å male seg selv når det blir bedt om det av vindusbehandleren, vil dets siste maling forbli vist og vinduet kan bli nedtonet. Ofte endres tittelen for å gjenspeile tilstanden til vinduet som ikke svarer. Et program kan forhindre at vinduet flyttes eller fjernes, men det vil vanligvis ikke forårsake problemer med å tegne om.

Komposisjon og 3D-effekter i operativsystemer

I komposisjon kan 3D-effekter brukes på vinduer for å gi 3D-skrivebordseffekter. Moderne komposittvindusbehandlere bruker 3D-maskinvareakselerasjon. Programvaren for administrasjon av komposisjonsvinduer kommuniserer med grafikkmaskinvaren via programmeringsgrensesnitt som OpenGL eller Direct3D.

Linux

Å stable vindusbehandlere som kjørte på X-serveren krevde en chroma keying eller green screening-utvidelse. Composite ble introdusert via "Composite"-utvidelsen. Oppringingsledere bruker maskinvareakselerasjon gjennom denne utvidelsen, hvis tilgjengelig.

På Linux og UNIX krevde evnen til å utføre full 3D-akselerert komposisjon grunnleggende endringer i X11 for å kunne bruke maskinvareakselerasjon. Opprinnelig begynte en rekke modifiserte X11-implementeringer designet rundt OpenGL å dukke opp, inkludert Xgl. Introduksjonen av AIGLX ville eliminere behovet for å bruke Xgl og tillate vindusbehandlere å utføre 3D-akselerert komposisjon på en standard X-server, samtidig som direkte gjengivelse tillater. Foreløpig støtter NVIDIA-, Intel- og ATI-kort AIGLX.

Compiz introduserte en kubeeffekt, som lar brukeren se opptil 6 virtuelle skrivebord samtidig. Hvert skrivebord konverteres til en overflatetekstur av kuben, som kan roteres etter eget ønske. Compiz viser et bredt spekter av 2D- og 3D-effekter og har relativt lave maskinvarekrav. I 2012 ble Compiz inkludert i Ubuntu Linux og ble automatisk aktivert når støttet maskinvare og drivere var tilgjengelig og brukeren ikke hadde valgt 2D-modus [9] .

Mutter (Metacity + Clutter) har erstattet Metacity som standard vindusbehandling for GNOME. Den er til stede i GNOME Shell-komponenten til GNOME 3.0. Den bruker Clutter-skjermmotoren, som har blitt portert til alle større operativsystemer, netbooks og smarttelefoner.

Siden versjon 4 har KDE KWin-vindusbehandleren komposisjonsmuligheter. KWin tilbyr mange av de samme funksjonene som finnes i Compiz også.

Java

Project Looking Glass var en vindusbehandler som kombinerte 3D-gjengivelse og programmeringsspråket Java på tvers av plattformer. I 2021 er den inaktiv og utgitt under GNU General Public License. Granular Linux live CD-distribusjonen inkluderer Looking Glass som valgfri vindusbehandling.

I kjølvannet av avviklingen ble noen av funksjonene, for eksempel endring av omslag og forhåndsvisninger av miniatyrbilder, funnet på andre vindusbehandlere. De mest originale funksjonene inkluderte vippevinduer, dobbeltsidige vindusrammer og parallaksrullende bakgrunner.

AmigaOS 4 og MorphOS

Selv om de er i stand til å kjøre på 3D-kompatibel maskinvare, er AmigaOS 4 og MorphOS designet for å kjøre på eldre eldre Amiga-datamaskiner, fra og med Amiga 1200. Som sådan har vindusbehandlerne deres stort sett plane gjengivelsesmuligheter. som inkluderer sammensatt lagdeling, alfablanding, gradienter , høy oppløsning og flere skrivebord ("skjermer") som delvis kan skjære ut hverandre.

Microsoft Windows

Selv om vindusbehandleren i Windows 2000 gjør sammensetting, utfører den ikke transformasjoner som én alfa per piksel. Få kommersielle applikasjoner har utnyttet alfablanding; freeware-programmer var blant de første som eksperimenterte med det, om enn gjennom valgfrie innstillinger [10] [11] . Komposisjon ble introdusert med Desktop Window Manager i Windows Vista.

Windows Vista og Windows 7 lar brukeren deaktivere Desktop Window Manager ved å velge Windows Basic-utseendeinnstillingene. Det deaktiveres også automatisk av Windows for å utføre maskinvareoverlegg via Overlay Mixer-filteret.

Brukervennlighet og øyegodteri

Komposisjonstilnærmingen gjør det lettere å implementere en rekke funksjoner som gjør brukergrensesnittet mer tilgjengelig, enklere å bruke eller med innslag av øyegodteri.

Forstørrelsesglass

Vektorgrafikk, som TrueType-fonter og 3D-akselererte elementer, kan utvides uten forringelse (vanligvis på grunn av aliasing). En skjermforstørrer forstørrer et område av skjermen, noe som gjør det lettere å lese deler av teksten, enten det er for å forhindre belastning på øynene, for synshemmede eller rett og slett på avstand. Zoomeffekter som fiskeøyeforstørrelse og skrivebordszoomeffekter gir denne funksjonaliteten.

Live forhåndsvisning

En forhåndsvisning av et vindu kan vises i et popup-miniatyrbilde når brukeren holder markøren over den tilknyttede oppgavelinjeknappen. Dette lar brukeren identifisere og administrere flere programmer som kjører samtidig.

Endre vindu

Vinduer med lignende navn og ikoner har en tendens til å være forvirrende, spesielt når tittellinjene deres overlapper hverandre; posisjonen til hvert av disse vinduene på oppgavelinjen må huskes. Når det er mange vinduer åpne på denne måten, må brukeren ofte ty til prøving og feiling ved å klikke på hver oppgavelinjeknapp én om gangen før han fortsetter. Ved å bytte vinduer kan du raskt forhåndsvise flere vinduer samtidig ved midlertidig å omorganisere dem mot en dekorativ bakgrunn. Etter å ha gjort et valg, returneres vinduene til det opprinnelige arrangementet.

Valget begynner når brukeren angir en hurtigtastkombinasjon, flytter musepekeren over et aktivt sted på skjermen, eller, i noen situasjoner, bruker musehjulet. Elementer navigeres ved hjelp av tastaturet eller musen. Et element velges ved å slippe hurtigtasten, trykke på Enter-tasten eller klikke på det med musen.

Flip switcher

Vippebryteren er en forbedring av Alt-Tab-byttefunksjonen. Løpende vinduer er arrangert i en stabel, lik en flip-stil-velger i en 1950-talls jukeboks eller Rolodex. På noen systemer kan brukeren trykke Alt-Shift-Tab for å navigere bakover. Visuelle overganger brukes på hvert element mens du navigerer.

Omslagsendring

Dekselskiftet er som flipskiftet med få forskjeller, hovedsakelig visuelle. I stedet for en stabel med markeringen øverst, vises to symmetriske stabler med gjeldende markering i forgrunnen og i midten (ligner på vindusskjevingsfunksjonen i Looking Glass).

Cover Flow er en implementering av endringen av dekning i macOS. Nyere versjoner bruker uskarphet for å redusere vekt på uvalgte elementer. Cover Flow har også blitt implementert i annen Apple-publisert programvare som iTunes.

Endre ringetone

Å bytte ringen er som å bytte flip, bortsett fra at vinduene beveger seg i en sirkel, med gjeldende valg foran, vanligvis nederst. De fleste komposittvindusbehandlere inkluderer denne funksjonaliteten ut av esken, og tredjepartsapplikasjoner, for eksempel 3D-desktop, er også tilgjengelige.

Gruppering

Brukeren kan gruppere vinduer slik at kun ett vindu er synlig i hver gruppe om gangen. I Compiz er vindusrammen snudd for å indikere når det aktive vinduet i gruppen har blitt endret.

Exposé

macOS viser en forhåndsvisning av hvert vindu på skjermen ved å flislegge dem. Andre systemer med lignende funksjonalitet (Microsoft Windows, Compiz, KWin, tredjepartsapplikasjoner) omtales som Exposé-kloner. Tastatursnarveien for å aktivere Exposé er ikke Alt-Tab, men heller F3.

Mission Control

Mac OS X 10.7 kombinerer mange andre Apple-utviklede komposisjonsfunksjoner, som Exposé, Dashboard og Spaces, til et større program kalt Mission Control.

Widget-motorer

På macOS kan "widgets" (engangsappleter) som en klokke, notisblokk og kalkulator vises ved å trykke på en hurtigtast. Widgetmotorer øker hastigheten på arbeidet ditt ved å holde vanlige widgeter tilgjengelige uten å være påtrengende. De administreres av Dashboard-programmet i macOS.

Compiz starter med et tomt Widget-lag, som lar brukeren legge til applikasjoner ved å klikke på dem. En rekke widgets støttes, inkludert Screenlets, gDesklets og SuperKaramba.

Windows Vista gir gadgets som brukeren kan sette inn i Windows Sidebar (Sidepanel-gadget), en Windows Live-startside (Web-gadget), eller en ekstern skjerm, for eksempel brukerens mobiltelefon (SideShow-gadget). Windows Sidebar var en synlig partisjon i Windows Vista og har blitt slettet i Windows 7, sammen med Sidebar Gadgets som er endret til Desktop Gadgets.

Brukergrensesnitt fasader

Metisse implementerer brukergrensesnittfasadene, et system som gir brukerne enkle måter å tilpasse, rekonfigurere og rekombinere eksisterende grafiske grensesnitt, gjennom bruk av direkte manipulasjonsteknikker [12] .

Liste over komposisjonsvindusbehandlere

  • 3Dwm, en tredimensjonal arbeidsområdebehandler og generisk plattform for 3D-brukergrensesnitt. Fra juni 2006 er dette prosjektet inaktivt.
  • Desktop Window Manager og Windows Aero-temaet på Windows
  • Quartz Compositor på macOS
  • Compiz
  • Marco
  • KWin (fra versjon 3.3)
  • Mumle
  • Xfwm fra Xfce (fra versjon 4.2)
  • Mir (fra versjon 1.0)
  • Metisse vindussystem

Liste over frittstående oppringningsadministratorer

  • xcompmgr: Et minimalt alternativ til Compiz
  • Compton - en feilrettet gaffel av dcompmgr, som er en gaffel av xcompmgr. (Ikke vedlikeholdt siden 2017)
  • Picom - en lett komponist for X11. Det er en gaffel av Compton.
  • Cairo Compmgr (Cairo Composite Manager): Et sammensatt tillegg for eksisterende vindusadministratorer. Den bruker Cairo, et vektorgrafikkbibliotek også brukt i GTK +.
  • Unagi Compositing Manager: En compositing manager som kan brukes sammen med en eksisterende vindusbehandling. Bruk XCB-biblioteket. (Ikke vedlikeholdt siden 2014)
  • MCompositor: brukes på MeeGo-telefoner.

Operativsystemer med komposisjonsvindusbehandlere

  • Mac OS X 10.0 og nyere
  • ethvert Unix-lignende operativsystem som bruker XOrg / AIGLX eller Xgl
  • AmigaOS 4
  • MorphOS 2.0 og nyere
  • Windows Vista og nyere

Eksempler

Merknader

  1. ^ Desktop Window Manager , på msdn2.microsoft.com . Hentet 21. november 2008 .
  2. ^ Mac OS X 10.4 Tiger: Side 13 , på arstechnica.com . Hentet 21. november 2008 .
  3. ^ Compiz.org :: Hjem / Start - Compiz , på compiz.org . Hentet 21. november 2008 (arkivert fra originalen 12. oktober 2006) .
  4. ^ Blueprint: "Compositing window management (compiz / beryl)" , på blueprints.launchpad.net . Hentet 21. november 2008 .
  5. ^ Flere Internet Explorer-forekomster Tegn ikke skjermen på nytt på support.microsoft.com , Microsoft, 9. oktober 2003. Hentet 17. desember 2010 .
  6. ^ Vanlige spørsmål om FOTOSCORE-SUPPORT , på neuratron.com . Hentet 17. desember 2010 .
  7. ^ Arkivert fra grupper: microsoft.public.windowsxp.video , på tomshardware.co.uk , Bestofmedia Group, 18. juli 2004. Hentet 17. desember 2010 .
  8. ^ Mustang: Swing-apper fryser og maler korrupt , på forums.java.net , Oracle, 1. mai 2006. Hentet 17. desember 2010 (arkivert fra originalen 26. juli 2011) .
  9. ^ Hva er appen "compiz" ansvarlig for på ubuntu 12.04? , på askubuntu.com .
  10. ^ Eksempel på alfa-transparensverktøy , på elgorithms.com .
  11. ^ Alpha Blending (Transparent) Windows , på codeguru.com , CodeGuru.
  12. ^ Metisse: User Interface Façades , på insitu.lri.fr . Hentet 7. mars 2021 .

Relaterte elementer