Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Grafica - Linux e Windows

    Linux e Grafica

    Sto cercando di capire come funzioni la grafica su linux e su win.
    Ragionando sono arrivato a queste conclusioni, che potrebbero essere totalmente errate.
    Per favore correggete quanto scritto o confermatelo:

    Un programma grafico su piattaforma windows (praticamente tutti),usa le API per disegnare la proria grafica.
    Le API sono delle funzioni standard nate per facilitare le operazioni di programmazione.
    In questo modo, per aprire una finestra ad esempio, sarà sufficiente richiamare una determinata funzione.
    Sarà quindi il sistema operativo ad occuparsi di renderla visibile etc...
    Le API fanno parte integrante del sistema operativo windows.

    Linux usa un server grafico: X-windows per gestire la grafica delle applicazioni.
    Per interagire con esso si usano delle librerie: le GTK (gnome) o le Qt (KDE) e forse anche altre.
    Le chiamate generate dalle funzioni di libreria Qt e GTK non vengono gestite direttamente dal sistema operativo (kernel) ma da un programma, il server X.
    Faccio parte di questo mondo, cambiare me stesso significa cambiare il mondo.

  2. #2

    Re: Grafica - Linux e Windows

    credo sia esatto
    Karmacoma, jamaica' aroma

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Si', e' abbastanza esatto

    L'unica nota da fare e' sulle librerie usate su Linux...
    Per interagire col server X si usano le XLib. Librerie di livello piu' alto (tipo GTK, Qt etc) sono basate sulle XLib. Definiscono funzioni di piu' alto livello per facilitare la vita al programmatore. Programmando direttamente con le XLib per fare anche la cosa piu' semplice, come aprire una finestra, c'e' da ammattire abbastanza ed inoltre non esistono funzioni tipo "disegna un bottone", ma andrebbe disegnato da capo, mettendosi in ascolto degli eventi delle XLib (molto piu' complessi di quelli offerti dalle altre libs) e cosi' via.
    Credo che le API di win$, nonostante siano integrate nel sistema operativo, siano ad un livello molto piu' alto delle XLib...
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  4. #4
    Utente di HTML.it L'avatar di Guglie
    Registrato dal
    Dec 2002
    Messaggi
    1,572
    infatti mi pare che recentemente, discutendo della pesantezza di xorg era saltato fuori che non si può migliorare il metodo di disegno delle Xlib, perchè è così da talmente tanti anni che cambiarlo vorrebbe dire non avere più retrocompatibilità, ma lasciandolo così le varie gtk o qt ne soffrono un po', correggetemi se sbaglio
    forse è anche per questo che l'interfaccia di windows è più fluida
    powered by GNU/Linux Gentoo
    A Elbereth Gilthoniel o menel palan-diriel, le nallon sí di-nguruthos! A tiro nin, Fanuilos!

  5. #5
    L'interfaccia di windows è più fluida perchè l'ambiente grafico in windows è integrato nel kernel, mentre in linux è un programma come tutti gli altri ed è indipendente dal kernel. Ciò comporta uno svantaggio in termini di velocità, ma un vantaggio in termini di sicurezza.
    Questo spiga tra l'altro perchè in Linux puoi scegliere tra molti ambienti grafici diversi, mentre in Windows ne hai uno solo.

    mcz
    Linux:come e perchè Il mio blog Salviamo Konqueror!
    Retta azione, Verità, Amore, Pace e Non violenza.
    ------------
    Powered by Chakra 64bit & Chakra 64bit & OpenSuse 64bit

  6. #6
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Originariamente inviato da Guglie
    infatti mi pare che recentemente, discutendo della pesantezza di xorg era saltato fuori che non si può migliorare il metodo di disegno delle Xlib, perchè è così da talmente tanti anni che cambiarlo vorrebbe dire non avere più retrocompatibilità, ma lasciandolo così le varie gtk o qt ne soffrono un po', correggetemi se sbaglio
    forse è anche per questo che l'interfaccia di windows è più fluida
    Cosa intendi per "metodo di disegno delle Xlib"?
    Le XLib, per quanto riguarda il disegno, offrono solo poche semplici funzioni, per disegnare punti, linee, poligoni, curve e poco altro... E non credo ci possa essere una buona ragione per togliere queste funzioni...
    I servers grafici X11 comunque offrono molte altre cose... Ad esempio lo sfondo, le finestre ed i loro bordi etc sono tutte cose native del server.

    Aggiungere funzioni di piu' alto livello alle XLib mi sembra una sciocchezza, dato che perderebbero il loro ruolo di librerie di livello estremamente basso (ottime per costruirci sopra altre librerie) e diventerebbero piu' pese...

    Le XLib sfruttano anche l'accelerazione hardware, sono le librerie grafiche piu' performanti per il 2D, anche se qualche funzione e' davvero poco ottimizzata.
    Se le GTK, le Qt, le SDL etc sono pesanti e' solo per colpa loro.
    Le API di win$ (premetto di conoscerle davvero troppo poco, ma per quel che le conosco...) offrono molte meno cose rispetto le GTK e Qt, sono piu' ottimizzate ed inoltre sono integrate nel kernel e non librerie appoggiate a librerie di piu' basso livello utilizzate su un server (anche il fatto che X sia un server non velocizza, anche se lo rende molto piu' potente) che gira in userspace.

    Trovo che X sia stato progettato in maniera eccellente. Non e' troppo veloce per i motivi sopra elencati, ma per queste cose e' molto potente ed anche molto comodo: puo' non venire installato (ottima cosa, vista la sua pesantezza), se s'impalla non devi resettare, e quando installi i drivers video o una nuova non devi riavviare come su win$, puo' venire aperto un display piu' volte sulla stessa macchina ed anche su macchine diverse, (questo non e' ancora possibile con le versioni correnti di XFree86 ed Xorg, ma spero che lo sia presto) sara' possibile far comunicare i display passando le finestre da uno all'altro etc.
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  7. #7
    Utente di HTML.it L'avatar di Guglie
    Registrato dal
    Dec 2002
    Messaggi
    1,572
    non so più dove avevo letto la cosa, probabilmente mi ricorvavo male io
    cmq in parte ho sperimentato anche io i vantaggi che hai citato di X11ovvero l'aprire più sessioni con più utenti, l'indipendenza dal kernel, le librerie di alto livello (come le gtk) ecc..
    powered by GNU/Linux Gentoo
    A Elbereth Gilthoniel o menel palan-diriel, le nallon sí di-nguruthos! A tiro nin, Fanuilos!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.