Une application qui n'a plus le focus, n'a plus d'interaction avec l'utilisateur. Ce qui limite de maniere tres importante le domaine de ce qui va s'y passer. Il devient donc logique de dropper une bonne partie des donnees en cache (qui servent principalement pour reagir lors d'une interaction utilisateur). Et il est meme probable que de leger frame drop sont acceptable lors des animations imprevisibles qu'une application peut generer (Affichage de log dans une liste, ou resultat de traffic reseau).
Du cote des experiences mene dans ce domaine, Enlightenment change dynamiquement la priorite des taches pour avoir toujours une plus grande priorite a la tache qui a le focus. Cela est le cas depuis deja 10 ans ou presque et aucun utilisateur n'y a trouve a redire. Donc accepter de perdre un peu de performance au benefice de la charge memoire est a mon sens completement acceptable dans ce scenario.
Bon, on ne va pas non plus etre super aggressif dans le scenario de la perte de focus et on gardera donc plus de donnees pretes a l'utilisation. Mais dans le scenario ou une application n'est plus affiche du tout a l'ecran, la on va devenir tres aggressif sur notre usage memoire. Si c'est une application OpenGL, on va dropper le context. Si c'est une simple application en rendu software, on va juste dropper tous les buffers et la majeure partie des ressources graphiques. En supplement on travail aujourd'hui a compresser/defragmenter a la vole les structures de nos objets.
[^] # Re: Gestionnaire de fenêtres léger
Posté par cedric . En réponse à la dépêche Wayland et Weston 1.4. Évalué à 2.
Une application qui n'a plus le focus, n'a plus d'interaction avec l'utilisateur. Ce qui limite de maniere tres importante le domaine de ce qui va s'y passer. Il devient donc logique de dropper une bonne partie des donnees en cache (qui servent principalement pour reagir lors d'une interaction utilisateur). Et il est meme probable que de leger frame drop sont acceptable lors des animations imprevisibles qu'une application peut generer (Affichage de log dans une liste, ou resultat de traffic reseau).
Du cote des experiences mene dans ce domaine, Enlightenment change dynamiquement la priorite des taches pour avoir toujours une plus grande priorite a la tache qui a le focus. Cela est le cas depuis deja 10 ans ou presque et aucun utilisateur n'y a trouve a redire. Donc accepter de perdre un peu de performance au benefice de la charge memoire est a mon sens completement acceptable dans ce scenario.
Bon, on ne va pas non plus etre super aggressif dans le scenario de la perte de focus et on gardera donc plus de donnees pretes a l'utilisation. Mais dans le scenario ou une application n'est plus affiche du tout a l'ecran, la on va devenir tres aggressif sur notre usage memoire. Si c'est une application OpenGL, on va dropper le context. Si c'est une simple application en rendu software, on va juste dropper tous les buffers et la majeure partie des ressources graphiques. En supplement on travail aujourd'hui a compresser/defragmenter a la vole les structures de nos objets.