Aller au contenu

[TUTO] [MAJ] Corriger les problèmes de latences dans les applications


Recommended Posts

  • Réponses 303
  • Créé
  • Dernière réponse

Top forumeurs sur ce sujet

Objectif du tutoriel

L’objectif est de corriger les problèmes de latence lors des chargements ou utilisations d'applications. Ces problèmes de lag sont surtout rencontrés sur les firmwares précédents la version I9000XWJG5 (Juillet 2010).

Tout d'abord merci pour le tuto, ça fait plaisir de voir ce genre d'initiative.

Un point me turlupine, tu dis que les firmwares précédent la version XWJG5 posent problèmes.

Pourquoi ne pas tout simplement passer à ce firmware ?

Lien vers le commentaire
Partager sur d’autres sites

Hello !

Tout d'abord un grand bravo pour la qualité de ce tutoriel, chapeau :P

Ensuite je suis étonné du résultat du benchmark Quadrant, qui, sortant des chiffres pareil ne semble pas être scientifiquement très en phase avec les performances réelles.

Par contre y a une idée qui me trotte, c'est d'essayer en faisant une image disque au format ext4 disposé sur la carte SD interne.

Puis ensuite, un petit (exemple factice)

dd if=/dev/zero of=/data/data.img bs=1M count=1000
mkfs.ext4 -F /data/data.img
mount -o loop -t ext4 /data/data.img /data/data

Si le problème est bien la piètre qualité du système de fichier Samsung RFS on aura probablement le même résultat voire des perfs plus élevées qu'en utilisant ce hack par carte SD "externe".

En effet, au lieu d'écrire directement dans le filesystem RFS, on écrit dans de l'ext4, qui se trouve écrit dans un gros fichier.

Ca fait un overhead supplémentaire mais 2 niveaux de buffers, et même si c'est pas conseillé pour bien réagir aux crashs, les perfs pourraient être intéressantes (si RFS est buggué)

Avec, comme avantages :

  • Ne pas nécessiter de carte SD
  • Ne pas rendre le téléphone inutilisable si on retire cette fameuse carte SD

Je reçois mon Galaxy S cette semaine, j'essaierai sûrement, en attendant, vous gênez pas pour tester ;)

Ca peut être intéressant, si ça marche je mettrai à jour le tuto ;)

Tout d'abord merci pour le tuto, ça fait plaisir de voir ce genre d'initiative.

Un point me turlupine, tu dis que les firmwares précédent la version XWJG5 posent problèmes.

Pourquoi ne pas tout simplement passer à ce firmware ?

De rien pour le tuto ;), c'est juste qu'en XWJG5 c'est plus rapide qu'avant mais pas aussi rapide que la solution proposée.

Modifié par FromtonRouge
Lien vers le commentaire
Partager sur d’autres sites

Ca peut être intéressant, si ça marche je mettrai à jour le tuto ;)

Oui à vrai dire ça nécessitera également un noyau modifié légèrement "différemment" de la modif existante.

Le script d'init associé au noyau devra juste faire le bon mount :cool:

De rien pour le tuto ;), c'est juste qu'en XWJG5 c'est plus rapide qu'avant mais pas aussi rapide que la solution proposée.

A vrai dire, est-ce que le "hack" carte SD est vraiment plus performant, ou bien est-ce qu'il trompe le benchmark qu'on emploie en général ? (qui calcule pas son résultat de manière très futée)

Si l'horrible bug sur les I/O vers & depuis la "SD interne" est corrigé sur le XWJG5, le hack devrai rapidement disparaître ^^

Le chip NAND est divisé en deux éléments de nature différente (une vraiment fast pour la ROM, l'autre moins performante pour les data)

Pour confirmer/infirmer l'utilité de ce hack, on pourra comparer les vitesses théoriques donnée pour le chip NAND / partie SD Interne.

Modifié par curio
Lien vers le commentaire
Partager sur d’autres sites

Je prend le sujet en cours de route... désolé ; )

Une précision...

Le chip NAND à l'intérieur du GS est composé de 2 parties ?!

2 parties physiques ? ou 2 parties logiques ( file system différent ? )

Si j'ai bien compris :

Samsung utilise un file system un peu particulier le RFS ? Le RFS c'est pas un peu "périmé" pour une ROM de mobile ?

Leur mise à jour XWJG5 a amélioré l'écriture et la lecture des fichiers donc ?

Lien vers le commentaire
Partager sur d’autres sites

'Lo JimZ !

Oui j'ai lu que le chip NAND était composé de deux parties physiques distinctes, ou en tout cas deux parties logiques, dont l'adressage était séparé.

(je vais essayer de retrouver l'info)

Sinon niveau RFS, il y a cette source d'information :

http://www.samsung.com/global/business/semiconductor/products/fusionmemory/Products_RFS_ApplicationNotes.html

Principalement : http://www.samsung.com/global/business/semiconductor/products/fusionmemory/downloads/rfs_v12_application_note.pdf

Le système de fichier est à la fois compatible FAT (j'imagine que ça veux dire case-insensitive) et supporte POSIX (donc réagit comme n'importe quel filesystem unix standard).

Il est aussi intimement lié à la couche de traduction FTL, pour optimiser les lectures et écritures.

J'avoue que j'ai pas compris exactement ce qu'ils voulaient dire dans leur compatibilité Fat/Fat32. Ils citent l'exemple de Windows qui va savoir le lire directement (par USB Mass storage ?)

Très naze par contre, c'est que RFS est pas GPL.

Sinon d'après leurs benchs, c'est + optimisés que JFFS, JFFS2 ou YAFFS2 (qui sont actuellement les plus couramment utilisés pour écrire sur de la mémoire Flash sous Linux.)

Ca mériterai de vrais benchmarks indépendants ça, vu le problème actuel ^^

Lien vers le commentaire
Partager sur d’autres sites

/agree pour les benchmarks indépendants.

Le truc ultra proprio avec le benchmark qui va bien ^^ ça serait pas la première fois !

J'ai prit le temps de lire le topic, l'idée d'une partition full ext4 pourquoi pas, j'attends ton retour Curio.

J'ai pas de GS encore : o

Les mises à jour Firmwares se font via Kies donc ? Le truc qui craint un peu : (

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Concernant le systeme de fichier de /data, on remarque avec un df qu'il est formaté avec un block size de 16 ko, cela pourrait également expliquer le ralentissement sur des petits fichiers

Az'

Pas forcément, ça pourrai être le contraire : une taille de fichier minimale élevée pour éviter d'écrire de trop petits bouts de données sur la mémoire Flash

(opération qui nécessite de lire le reste des données du bloc puis re-écrire les ancinnes données + les nouvelles données)

Simple supposition hein ^^

Il y a moyen que tu colles la sortie de df et mount ?

Comment est-ce que tu vois le block size avec df ?

Lien vers le commentaire
Partager sur d’autres sites

voila pour les sorties :

# df
df
/dev: 166708K total, 0K used, 166708K available (block size 4096)
/mnt/.lfs: Function not implemented
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 282432K total, 267332K used, 15100K available (block size 4096)
/data: 1963904K total, 132000K used, 1831904K available (block size 16384)
/dbdata: 130240K total, 9704K used, 120536K available (block size 4096)
/cache: 30784K total, 1536K used, 29248K available (block size 4096)
/efs: 6064K total, 4103K used, 1961K available (block size 1024)
/sdcard: 6060544K total, 474752K used, 5585792K available (block size 32768)
/sdcard/sd: 7268000K total, 4964944K used, 2303056K available (block size 4096)

et

# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/block/stl6 /mnt/.lfs j4fs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/stl9 /system rfs rw,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/mmcblk0p2 /data rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl10 /dbdata rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl11 /cache rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl3 /efs rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0102,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block//vold/179:9 /sdcard/sd vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

ma supposition était qu'il ait à lire plusieurs blocks de 16 Ko alors que les fichiers réels sont beaucoup plus petit (il faudrait tracer les accès pendant les manipulations pour être sur), un test de vitesse brute sur un gros fichier pourrait ne pas être significatif pour la même raison.

Az'

Modifié par azriek
Lien vers le commentaire
Partager sur d’autres sites

une question lorsque l'opération avec gparted est terminé, on doit voir nos deux partitions qui apparaissent ? j'en ai qu'une l'autre je ne la vois pas, comment faire l'opération pour revenir à l'initiale et pouvoir repartir de zéro parce que en plus de n'avoir qu'une partition (ma carte sd fait 7.5 go celle que je vois fait 6.1 go) j'ai reformaté elle est pasé de 6.1 à 6.6 mais en me mettant erreur de formatage.

Lien vers le commentaire
Partager sur d’autres sites

Les mises à jour Firmwares se font via Kies donc ? Le truc qui craint un peu : (

non , non , elle se font via odin, mais il faut avoir installer les pilotes donc :

- soit on installe KIES

- soit si on est en XP 32 bits , on installe juste les pilotes

https://forum.frandroid.com/forum/viewtopic.php?id=18390

le msg de PrinzB

Modifié par quitos
Lien vers le commentaire
Partager sur d’autres sites

une question lorsque l'opération avec gparted est terminé, on doit voir nos deux partitions qui apparaissent ? j'en ai qu'une l'autre je ne la vois pas, comment faire l'opération pour revenir à l'initiale et pouvoir repartir de zéro parce que en plus de n'avoir qu'une partition (ma carte sd fait 7.5 go celle que je vois fait 6.1 go) j'ai reformaté elle est pasé de 6.1 à 6.6 mais en me mettant erreur de formatage.

Tu veux dire est ce qu'on voit les 2 partitions sous Windows ? Sous windows tu ne vois que celle en FAT32, sinon il faut aller sous GParted pour voir les 2 et recommencer le partitionnement

Lien vers le commentaire
Partager sur d’autres sites

une petite question j'avais suivi le tuto de modaco avel le kernel v3 et la partition ext3.

depuis il a sorti un nouveau kernel qui prend en charge le ext4 y a t'il moyen de faire une conversion de ext3 vers ext4 sans perdre les donné ecrite dessus.

ou sinon c'est quoi les commandes pour un retour arrieres, au moins je reformatte la partition en ext 4 je flash le nouveau kernel et je retape les liens vers la sd.

Modifié par tiburce
Lien vers le commentaire
Partager sur d’autres sites

je ne comprends pas ce que tu appeles les MAJ samsung ...

tu parles de firmwares.

mon GS était en JF3

j'ai tele.chargé le firmware JFF (qui vient bien de samsung...)

j'ai flashé via odin

A aucun moment je n'ai installlé / utilisé KIES..

Après, comme le GS est "with google", on va peut d'être avoir droit à des OTA ...

Modifié par quitos
Lien vers le commentaire
Partager sur d’autres sites

Je m'explique :

MAJ Samsung = Firmware Officiel Samsung

Samsung a mis à disposition des firmwares, ils disent pas aux gens :

" Flashez avec Odin, etc... " c'est pas du tout un procédé industriel...

Ils vont bien proposer ça autrement non ?

Lien vers le commentaire
Partager sur d’autres sites

samsung n'a pas mis à dispo de mise à jour pour le firmware du galaxy S. Si quelqu'un sait réellement qui est derrière le site samsung-firmware ? (des hackeurs russes qui connaissent maintenant tout de vos tels, des devs samsung en mode officieux, ... )

la mise à dispo officielle devrait se faire via kies (ou OTA)

Modifié par azriek
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous

Je suis un nouvel utilisateur d'Android vu que j'ai reçu mon Samsung Galaxy S vendredi dernier :)

Bref je suis parce que j'ai un problème.

Le voici:

J'ai flaché le galaxy avec le firmware I9000XWJG5, et tester le tout avec l'application Quadrant.

J'ai été surpris de voir que mon score était de 785! Bien inférieur à celui du galaxy.

Comment faire pour augmenter ce score sachant que ce dernier firmware doit normalement être plus rapide?

Merci à vous tous

PS: galaxy non rooter et sans autre modifications

Lien vers le commentaire
Partager sur d’autres sites

voila pour les sorties :

# mount
/dev/block/mmcblk0p2 /data rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0102,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block//vold/179:9 /sdcard/sd vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

'Lo Az' !

Est-ce que tu as déjà appliqué le fix dont parle ce tutoriel ?

Parce que ce qui me marque dans ce mount est :

/dev/block/mmcblk0p2 /data rfs

Ca signifie que la "carte sd interne" fonctionne réellement comme une carte SD interne, (avec son interface mmc etc).

-> Pas juste de la mémoire flash qui se fait passer pour, mais vraimnent une interface de carte SD.

Et si c'est vraiment ça : /dev/block/mmcblk0p2 , ça veux dire qu'on peut sans se gêner la re-formater dans un autre format que RFS, ext4 par exemple !

Exit les problèmes de perfs, et plus besoin de carte externe !

Modifié par curio
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.




×
×
  • Créer...