Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Mozilla prépare Firefox au multiprocessus dans le cadre du projet Electrolysis
Les onglets et l'IU vont s'exécuter sur des processus différents

Le , par Stéphane le calme

0PARTAGES

7  0 
Mozilla semble prêt à effectuer dans son navigateur afin que les onglets et les IU puissent s’exécuter sur des processus différents. La fonctionnalité a d’abord été en phase de test dans la version Nightly du navigateur.

« Dans les versions actuelles de Firefox sur ordinateur de bureau, le navigateur tout entier fonctionne dans un seul processus du système d'exploitation. En particulier, le JavaScript qui exécute l’interface utilisateur du navigateur (également connu sous le nom "chrome code" fonctionne dans le même processus que le code dans les pages Web (aussi connu comme "contenu" ou "contenu Web" » rappelle Mozilla.

La Fondation explique par la suite que « les futures versions de Firefox vont exécuter l'interface utilisateur du navigateur dans un processus distinct du contenu web. Dans la première itération de cette architecture, tous les onglets du navigateur vont s’exécuter dans le même processus, et l'interface utilisateur du navigateur quant à lui s’exécutera dans un processus différent. Dans les versions futures, nous nous attendons à avoir plus d'un processus de contenu. Le projet qui propose le multiprocessus de Firefox est appelé Electrolysis, et est parfois abrégé par e10s ».

Mozilla précise que les « pages web normales » ne seront pas affectées par le multiprocessus de Firefox. Cependant, « les personnes qui travaillent avec Firefox lui-même ou les développeurs d’extension Firefox en seront affectés si leur code s’appuie sur la faculté à pouvoir accéder au contenu web directement ». Pourquoi ? Parce qu’au lieu d’avoir accès au contenu directement, « chrome JavaScript devra utiliser message manager pour avoir accès à du contenu ». Raison pour laquelle, pour aider à la transition, Mozilla a pensé à développer des outils comme Cross Process Object Wrappers à l’intention des développeurs d’extensions. Un guide est même d’ores et déjà disponible pour les aider à travailler avec le multiprocessus de Firefox.

« Il y a trois raisons principales pour que Firefox puissent exécuter du contenu dans un processus séparé : la performance, la sécurité et la stabilité » explique Mozilla. Concernant la performance, la Fondation explique que l’objectif est de réduire ces moments où le navigateur semble brièvement planté lorsqu’il charge une page lourde, lorsque vous remplissez un formulaire ou même lorsque vous faites défiler une page. « La réactivité semble compter beaucoup plus que le débit sur le web aujourd’hui. Le plus gros de ce travail a été fait dans le cadre du projet Snappy ».

Du côté de la sécurité, Mozilla avance que, dans le multiprocessus de Firefox, les contenus de processus seront dans des sandbox. « Un processus de contenu qui se comporte bien n’aura pas accès au système de fichiers directement ; il devra demander au processus principal d’effectuer cette demande. À ce moment, le processus principal pourra vérifier que la demande est sans danger et qu'elle est logique. Par conséquent, le bac à sable pour les processus de contenu peut être très restrictif. Notre espoir est qu’avec cet arrangement il soit beaucoup plus difficile d’exploiter des failles dans la sécurité de Firefox ».

Pour la stabilité, Mozilla avance « qu’actuellement, un plantage du code exécutant une page web aura des répercussions sur le navigateur tout entier. Avec le multiprocessus de Firefox, seul le processus du contenu qui plante sera terminé »

Source : Mozilla Developper Network (Multiprocess Firefox), Mozilla Developper Network (Motivation)

Et vous ?

Qu'en pensez-vous ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 18/06/2015 à 17:48
Citation Envoyé par sazearte Voir le message

86mo de ram, franchement en 2015 sur pc, c'est rien !, faut arrêter le délire la.
Malheureusement si. Au boulot j'ai une bécane raisonnable 4go de ram et surtout Windows 7 en 64 bit. Donc sur les 4Go, j'en ai 1,86 pris au démarrage.
Je parle de ces 3 onglets, mais en moyenne j'an ai 20 d'ouvert (et j'aimerais beaucoup plus). En comptant une Vm pour de la compile et Eclipse pour du dev, pour que tout soit fluide je devrait me contenter de 7/8 onglets max. Chrome Fagocite la ram entierre de mon PC alors que j'aimerais qu'elle soit plus disponible pour Eclipse (qui n'est pas une référence non plus d'ailleurs).
Quand en plus tout est crypté/décrypté à la volée je te garanti que la fluidité n'est pas au rdv et que Chaque dizaine de Mo compte.
(pas d'bol, firefox ne passe pas du tout au boulot.)

A titre de comparaison, IE8 (seul et unique autre choix possible) consomme 24Mo de ram pour ces 3 mêmes onglets. (dommage que si peu de sites soient compatible!)

En contre partie, on as des logiciels qui offres de plus de fonctionnalité, et qui sont plus stable.
Si seulement, si seulement. En 2007 Avec Firefox 3.5 et 512Mo de ram je me souvient que j'ouvrait déjà une vingtaine d'onglet en ramant moins.


Qu'es ce qu'un navigateur web aujourd'hui, j'ai presque envie de dire que c'est un os a lui tous seul.
Ils fait lecteur multimédia, il fait visio conférence (firefox hello), il fait office d'EDI (j'exagère un peu), il gere les entrées/sorties de nos périphériques (micro, caméra..) il a une bibliothèque d'application (ou extension)...forcément tous ce jolie monde, sa consomme.
Oui. Tout ça peut consommer. Quand j'ouvre 3 onglets DVP, je n'ai pas besoin de tout ça, je ne voit pas en quoi ça devrait légitimer sa voracité en Ram.
3  1 
Avatar de Etre_Libre
Membre éprouvé https://www.developpez.com
Le 19/06/2015 à 11:51
Etant dépanneur je vois un bon échantillon des PC actuels :

Encore beaucoup de PC n'ont que 1 Go de RAM (XP), parfois 2 Go.

Après dans le plus récent je vois du 3 ou 4 Go de RAM, et il m'est très rare de voir des PC grand public à 8 Go de RAM.

Dans le neuf je vois de plus en plus de gens acheter des PC portable entrée de gamme avec CPU lent, 2 Go de RAM voire 4 Go dans le meilleur des cas, Windows 8.1 version Bing, et disque dur lent.
Résultat : des PC neufs mais relativement lents, même pas la peine de parler de Chrome là dessus.

De même, sur des PC actuels je vois souvent Chrome consommer beaucoup, alors que dès je mets Firefox ou Internet Explorer la consommation de RAM est beaucoup plus faible.

Je pense que Chrome a trop misé sur le maximum de performances à tout prix, au détriment de la consommation en ressources qui est trop élevée.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 21/06/2015 à 14:43
Citation Envoyé par Ymer Leahcim Voir le message
pourrait-on avoir une capture d'écran (floutée si tu veux) de ce que ça donne ? ça m'intrigue cette utilsation que tu en fais.
pourquoi ce besoin d'organisation comme ça ? (d'avoir tout ouvert et groupé)
Screenshot :
[spoiler][/spoiler]

Le groupe en haut à droite par exemple, c'est tout ce qui a trait aux animes (certains reconnaîtront Wakanim et Crunchyroll par exemple). Dès lors que je mate des animes, les onglets qui sont là sont ceux où je vais le plus souvent. Ça ne veut pas dire que je vais nécessairement tous les regardés à chaque fois que je vais switcher sur ce groupe, mais typiquement aujourd'hui je vais en utiliser certains, demain j'en utiliserai d'autres, etc. Donc l'utilisation reste suffisamment fréquente pour que je les garde à disposition. Notamment, c'est plus pratique de les avoir dans un groupe d'onglet que de les avoir en favoris : le groupe d'onglet, si tu as chargé les onglets, ils restent chargés, donc si tu switch sur un autre groupe puis revient, il ne te recharge pas les pages contrairement à des favoris que tu fermerais puis rouvrirait. De même, tous les onglets du groupe ne sont pas chargés : Firefox charge automatiquement les onglets que tu as épinglé (ceux-là sont communs à tous les groupes, tu peux d'ailleurs les voir dans chaque groupe, sous la croix de fermeture de chacun) mais les autres onglets ne sont chargés qu'à la demande (si tu switch sur cet onglet et qu'il n'a pas encore été chargé depuis que tu as lancé le navigateur). Donc seuls ceux que j'aurais effectivement utilisé seront chargés, contrairement à un dossier de favoris où tu ferais "tout ouvrir dans des onglets".

En bas à gauche, c'est un autre groupe dédié à une autre activité. En bas à droite c'est un onglet fourre-tout où je met ce que je compte lire plus tard, sans que ce soit relié à aucune activité principale. C'est ce qui se rapprocherait le plus d'une utilisation de favoris, vu que j'y vais rarement. En haut à gauche, c'est là où je me trouve par défaut, et là où tu trouveras tout ce que je fais "en ce moment". Ce n'est pas forcément ce que je fais dans l'instant, mais par exemple je suis sur un certain projet qui nécessite du codage réseau, j'ai donc des pages de tutoriel ouvertes sur ce sujet, et quand j'aurais fini cette partie ces pages seront fermées. Ce groupe d'onglets est donc le plus variable. Sur mon PC boulot, j'ai un groupe d'onglets sur l'expertise (lié à ma thèse), un autre sur l'IA, etc, et tu peux grosso-modo multiplier le nombre d'onglets par deux.

En bref, les groupes d'onglets fournissent à la fois l'organisation des favoris et la performance des onglets chargés à la demande, c'est donc assez pratique quand tu fais plusieurs choses à la fois.
2  0 
Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 18/06/2015 à 17:02
Citation Envoyé par gund38 Voir le message
J'attends avec impatience les messages de réjouissance qui viendront des mêmes gens qui trouvent que Chrome rame à cause des ses multiples processus.
Pour être précis, Le problème n'est pas que Chrome rame à cause de ses multiples processus (ce qui au final n'est pas trop le cas), mais plutôt (et surtout) que Chrome fasse ramer toute la machine.

Firefox ne fait que s'aligner sur le leader du marché : les gens veulent une impression de fluidité, quitte à pomper toute la ram, alors ils mettent ça en place.

Franchement chez moi Chrome prend 86 méga de ram pour 3 onglets de Dvp.com (donc contenu fixe, pas du méga dynamique avec page "infinie" type Facebook/twitter) je trouve ça inadmissible... j'espère vraiment que Firefox ne se transformera pas en ça...
1  0 
Avatar de Etre_Libre
Membre éprouvé https://www.developpez.com
Le 19/06/2015 à 8:41
N'oublions pas que beaucoup de gens ont encore des PC anciens avec 1 ou 2 Go de RAM : sur ceux là, quand je vois Chrome installé et utilisé, je vois aussi la RAM totalement saturée...

En effet avec quelques onglets ouverts, il n'est pas rare que Chrome consomme au total 1 Go de RAM par exemple, et ça pose souvent problème.
De plus, je le vois souvent faire gratter beaucoup le disque dur, sachant qu'un disque dur mécanique a déjà de faibles performances et est très sollicité.

J'espère donc que Firefox ne deviendra pas un ogre comme Chrome, car sinon beaucoup de PC anciens et / ou à base de disque dur devront s'en passer...
1  0 
Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 19/06/2015 à 10:53
Citation Envoyé par shaynox Voir le message
AoCannaille, Wirbelwind et pendant encore combien de temps vous allez tenir de tels propos sur la RAM, jusqu'en 2025 ?

(Perso j'ai 12GB, pour ma prog graphique en voxel)
C'est facile de dénigrer l'importance de la RAM quand on n'en manque pas...
Le jour où je lirai "J'ai un asus Trasnformer T100, windows 7, 2Go de Ram et la ram que prend chrome ne me pose pas de problème" alors je considérerais son avis.
1  0 
Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 19/06/2015 à 12:26
Citation Envoyé par sazearte Voir le message
Aujourd'hui la norme c'est 4Go, et même 8Go...
Certes, sur les portables 15" polyvalents. Est-ce que ce sont les modèles qui se vendent le plus?

Meilleures ventes Amazone sur la section ordinateurs portable :
: Et bien que tu le veuille ou non, le podium ENTIER est pris par des ordinateurs à 2Go de ram.
Relève les yeux de ton nombril, retire tes œillères, sors de ta chambre, prends du recul... l'abstraction c'est important en informatique aussi.

Sur un pc portable, la ram sa se change encore assez facilement, par contre ce qui m'inquite, c'est les tablettes Windows8 avec 1Go..., déjà du temps des netbook c'étais l'enfer, enfin remarque les tablettes ont des SSD pour compenser.
l'enfer continu pour pas mal d'utilisateurs.


Qu'es ce que vous avez a ouvrir vos 40onglets ?!!!
Moi j'en ai que 15 maximum, au delà c'est le vrai bordel, je trouve cela inutile même, on ne switch entre 40 onglets c'est impossible.

Forcement qu'avec vos 40onglets sa consomme de la ram et du processeur.
Pour le même nombre d'onglet ça marchait autant (pas mieux, pas moins bien) avant (pour mon cas, 2008 - 2Go de ram). Pourtant, on a multiplié par 2 la ram (toujours mon cas - 2014 - 4Go de ram) et je ne parle même pas du processeur.

Le matériel progresse, ma façon de l'utiliser reste constante donc le logiciel régresse d'autant que le matériel progresse.

et pour répondre à ta question qu'est-ce qui peut nous amener à ouvrir 40 onglets? Dans mon cas j'aime bien avoir tout sous la main et le nombre monte vite. Quand ton ordinateur prend plusieurs dizaine de secondes pour ouvrir une page à cause du proxy de ta boite + le cryptage/décryptage à volée de toutes les données, ben tu l'ouvre pas 2 fois l'onglet.
Et non, 40 onglets ce n'est pas le bordel, il existe des extensions pour les mettre sur plusieurs lignes et deux trois lignes d'onglet sur du 24 pouces ça fait parfaitement utilisable.


Informaticien ne rime pas avec magicien, vous n'avez qu'a rester sur opéra12 ou fichier 3.5, aujourd'hui HTML5, CSS3, et js n'ont rien a voir avec leurs anciennes version de 2007, forcément tous ces ajouts, sa rends les moteurs comme webkits plus complexes, et forcément sa consomme.
Je ne vois pas en quoi parser et afficher du HTML5 ou du CSS3 (hors animations) ralentirai à ce point un navigateur. Pour le js je suis d'accord, mais pour reprendre mon exemple de DVP, il ne fait un usage intensive d'aucune de ses techno mais subit tout de même l'embonpoint de Chrome. Les techno n'excusent pas tout.

bref, on a pas tous le même matos, pas tous les mêmes utilisation et le "progrès" ne devrait pas impliquer de niveler vers le haut les specs nécessaires pour les produits. On ne devrait pas avoir besoin de 8 ou 12 Go de ram pour surfer sur le web.

J'espère que la séparations des onglets en process sera soit désactivable soit que Firefox soit forké.
1  0 
Avatar de Ymer Leahcim
Membre habitué https://www.developpez.com
Le 19/06/2015 à 13:57
Enfin ! enfin le multiprocessing dans Firefox ! Combien d'année après Chrome quand-même !!!

En 2015 Firefox (sous Windows uniquement) a encore des énormes trous/fuites de mémoire, des blocages dues à des erreurs ou abus de Javascript...etc.
J'ai repéré certains sites web (des CMS) dont le template contient trop de JavaScript ou des mauvais scripts qui utilisent trop de timeouts.....
A peine 30s sur le site, j'entends déjà mon ventilateur d'ordinateur qui fait du bruit, indiquant que mon ordinateur est en surcharge. Phénomène qui ne se produit pas sous Chrome ni IE et (étrangement) pas non plus sous Firefox dans sa version portable (bien plus stable , hallucinant!!)
Quand je regarde le taskmanager, je ne vois pourtant que 13% de CPU (processeur i7 à 3.3GHz quand-même) , et la mémoire montait à plus de 300Mo et au de-là encore!
Quand je ferme la page et reviens sur la homepage de Google, tout redevient normal....Mais souvent ce n'est pas le cas et ça par "en sucette" ou je suis obligée de "killer" complètement firefox et perdre tous mes onglets. Même le IE d'aujourd'hui n'a pas ces fuites-là quand-même (certes il a des pbs de sécurité , et encore ça vient souvent des plugins...)

ça fait 20ans que je vois ces phénomènes honteux dans Firefox, et les subis occasionnellement et que je vois mon entourage les subir !
ça fait 20ans que je vois des utilisateurs Windows quittait Windows pour Apple à cause de ça..
Heureusement Chrome est arrivé et n'a pas ces problèmes là et la fuite vers apple a diminué.
Heureusement Seamonkey était là aussi et a re-encapsulé Firefox et gère bcp mieux ces bugs honteux. Seamonkey c'est un peu comme le Debian de linux : ça avance pas vite avec le noyaux mais c'est secure & safe!

Aujourd'hui quand je vois et scrute le portable de mes étudiants sous Windows, je vois 80% sous Chrome, le reste sous IE ou FF.
Les quelques peu sous Apple ont même Chrome et rarement FF.

Comme ça fait 20ans que Firefox est un boulet, je me demande vraiment pourquoi ce n'est pas corrigé. Ma seule réponse est que l'équipe de Mozilla se fiche de ce bug car il n'arrive que sous Windows (x32 et x34) car Firefox sous linux fonctionne très bien, sous MacOS aussi apparemment...
J'ai déjà (et le fais encore au moins 5 fois par an) envoyé des exemples de sites et pages web provoquant les fuites de mémoire et hausses soudaines de CPU au support de Mozilla, je n'ai jamais eu de réponse, ni de correction !
J'ai envoyé et posté aussi ces sites à l'équipe de Seamonkey, et cette dernière indique qu'elle constate et reproduit le bug mais n'y peut rien car ils utilisent la couche de Mozilla et que c'est à Mozilla de le corriger ! Je parierais aussi que l'équipe de Mozilla pense que c'est un problème deWindows et ne souhaite pas le corriger, mais dans ce cas, pourquoi alors cela n'arrive pas dans la version portable de Firefox qui est une crème de bonheur !
1  0 
Avatar de
https://www.developpez.com
Le 19/06/2015 à 14:04
sazearte: Ils pourraient l'améliorer s'ils s'intéressaient à https://software.intel.com/en-us/isa...ions/intel-avx (et d'autres extensions) et faire des versions dans ce sens (avx2 requirement qui existe sur tous les cpu intel de 4th generation (2013).

(Un déplacement de paquets de 32 bit * 16 bytes (512-bit) est beaucoup mieux qu'un de 32-bit)
1  0 
Avatar de
https://www.developpez.com
Le 19/06/2015 à 14:21
sazearte: Assez simple

Qui dit vectorisation d'instruction, dis réduction drastique d'instruction classique x86/x64.

Et tu peux me croire, je programme en avx depuis un moment et comparer à mon ancienne programmation sur 16-bit/x86/x64, c'est vraiment un pur plaisir de programmer avec l'avx (mon cpu ne supporte pas l'avx2).

De même que le nombre d'opérandes des instructions avx/avx2 a était étendu jusqu'à 4 (instru ... op1, op2, op3, op4).

Exemple concret:
Code asm : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  
    mov     [temp +   0], eax 
    mov     [temp +   4], eax 
    mov     [temp +   8], eax 
    mov     [temp +  12], eax 
  
    mov     [temp +  16], eax 
    mov     [temp +  20], eax 
    mov     [temp +  24], eax 
    mov     [temp +  28], eax 
  
    mov     [temp +  32], eax 
    mov     [temp +  36], eax 
    mov     [temp +  40], eax 
    mov     [temp +  44], eax 
  
    mov     [temp +  48], eax 
    mov     [temp +  52], eax 
    mov     [temp +  56], eax 
    mov     [temp +  60], eax

versus:
Code asm : Sélectionner tout
1
2
3
4
  
    vpinsrd         xmm0, xmm0, eax, 0      ; Met la valeur de eax dans xmm0[0] en mode 32-bit paquet, et modifie le reste des paquets dans xmm0 avec lui-même. 
    vbroadcastss    zmm0, xmm0              ; Distribue xmm0[0] dans tous les paquets 32 de zmm0. 
    vmovups         [temp], zmm0            ; Transfert tous les paquets 32-bit de zmm0 dans [temp] en une fois.

Et même si on transforme le code avec une boucle, ça réduira le nombre d'instructions (de 1 ) , bon l'exemple que j'ai donné n'est pas terrible, car cela donne (mais l'idée est là):
Code asm : Sélectionner tout
1
2
3
4
  
        mov     ecx, 16 
        mov     rdi, temp 
        rep     stosd       ; [rdi+=4] = eax


Mais il y a des exemples comme le calcul sur les float qui nécessitent l'utilisation du fpu, si tu n'utilises pas l'avx ou le sse (mais bon le sse est un peu out of date depuis 1999).
Et dans ce cas, ton codes maigrie de 50% de ce que j'ai eu comme experience.
1  0