Petite explication...
Pour protéger les process, ils ont tous leur propre espace mémoire. Néanmoins, il est possible de réserver des espaces mémoire partageable entre les process (= Shared Memory).
"Xshm" est une extension du serveur X, qui permet de negocier avec le serveur X pour utiliser de la mémoire partagée avec le programme, pour réduire grandement les temps de transfert des informations, et la consommation mémoire.
(en temps normal, quand tu veux afficher une image, il faut la charger en mémoire, ensuite l'envoyer au serveur X pour l'affichage, donc réservation de deux fois la quantité de mémoire, et transfert via la connection au serveur X dans le deuxième espace.)
Le 'problème' de cette extension, c'est qu'il faut que le toolkit (qt, gtk le font) soit capable de la gerer, puisqu'elle change le mode de fonctionnement. La où les choses se compliquent encore pour le programmeur, c'est qu'elle peut ne pas fonctionner, si l'utilisateur à choisi d'exporter l'affichage ailleurs. D'où nécéssité d'ecrire deux codes différents pour la même chose :-(
[^] # Re: simple question...
Posté par Christophe --- . En réponse à la dépêche Ces "nouveaux" gestionnaires de fenêtres. Évalué à 3.
Petite explication...
Pour protéger les process, ils ont tous leur propre espace mémoire. Néanmoins, il est possible de réserver des espaces mémoire partageable entre les process (= Shared Memory).
"Xshm" est une extension du serveur X, qui permet de negocier avec le serveur X pour utiliser de la mémoire partagée avec le programme, pour réduire grandement les temps de transfert des informations, et la consommation mémoire.
(en temps normal, quand tu veux afficher une image, il faut la charger en mémoire, ensuite l'envoyer au serveur X pour l'affichage, donc réservation de deux fois la quantité de mémoire, et transfert via la connection au serveur X dans le deuxième espace.)
Le 'problème' de cette extension, c'est qu'il faut que le toolkit (qt, gtk le font) soit capable de la gerer, puisqu'elle change le mode de fonctionnement. La où les choses se compliquent encore pour le programmeur, c'est qu'elle peut ne pas fonctionner, si l'utilisateur à choisi d'exporter l'affichage ailleurs. D'où nécéssité d'ecrire deux codes différents pour la même chose :-(