Pourquoi le Nexus 7 peut-il afficher autant de contenu à l'écran que le Galaxy Nexus?

30

Le Galaxy Nexus est 1280x720 et la tablette Nexus 7 est 1280x800.

Je me rends compte que la tablette est physiquement plus grande, mais c'est la résolution d'écran, et non la taille de l'affichage, qui détermine la superficie de l'écran.

Pourquoi le Nexus 7 semble-t-il pouvoir afficher tellement plus de contenu à l'écran?

EDIT - Ma question n'est pas "pourquoi a-t-il été conçu de cette façon". Ma question est plus "comment se fait-il qu'il puisse afficher plus à l'écran"? PPI n'explique pas cela.

Est-ce juste une question de mise à l'échelle?

zacharyalexstern
la source
J'aurais dû demander "comment" est-il capable de le faire. Quand j'ai dit pourquoi, je ne voulais pas dire "pourquoi l'ont-ils conçu de cette façon", je voulais dire "pourquoi est-ce TECHNIQUEMENT possible"?
zacharyalexstern
Pourquoi est-ce possible? Sérieusement? Vous faites des choses plus petites.
RR
De plus, si vous regardez dans le build.prop de cette ROM (si vous avez le vidage de la ROM), il y a une ligne dedans ro.sf.lcd_density = xxx qui dicte la densité de l'écran. Plus la valeur est élevée, plus il peut y avoir de place à l'écran, de même l'inverse, moins peut tenir à l'écran.
t0mm13b
2
@zacharyalexstern: demander comment c'est fait est une question de développement, et est hors sujet ici. Essayez StackOverflow.
Lie Ryan

Réponses:

44

Pour comprendre pourquoi le Nexus 7 peut afficher plus de contenu que le Galaxy Nexus, je vais d'abord expliquer deux concepts: densité d'écran et pixel indépendant de la densité.

Mais avant d'entrer dans les détails techniques, il peut être utile de clarifier les objectifs de conception de l'utilisation de pixels indépendants de la densité. L'objectif est de définir une interface utilisateur de dimension similaire sur tous les appareils, quelle que soit la taille de l'écran. Dans ce cas, l'apparence des menus est la même dans le Galaxy Nexus et la tablette (côte à côte devrait être très similaire), mais, comme l'un a un écran plus grand, plus de contenu peut être affiché. Le concepteur sélectionne une apparence qui semble bonne pour une certaine taille (un écran de 160 dpi est la base) et ceci est "simulé" dans ce cas dans les appareils avec des dpi plus élevés.

Densité d'écran

Communément appelé dpi (points par pouce). Android regroupe toutes les densités d'écran réelles en quatre densités généralisées: faible (120), moyenne (160), élevée (240) et très élevée (320). Un appareil comme le Galaxy Nexus a une densité d'écran "très élevée" (plus précisément, la valeur dpi est fixée à 320). Le Nexus 7 utilise "tvdpi" - soit 213 dpi.

Pixel indépendant de la densité

Communément appelé dp. Il s'agit de l'unité de pixels virtuelle utilisée lors de l'affichage du contenu. Le pixel indépendant de la densité équivaut à un pixel physique sur un écran de 160 dpi. Pour calculer dp, utilisez la formule suivante:

px = dp * (dpi / 160)

ou équivalent:

dp = (px / dpi) * 160

La raison pour laquelle le Nexus 7 peut afficher plus de contenu que le Galaxy Nexus malgré des résolutions similaires est la suivante: le dpi de Nexus 7 est inférieur à celui du Galaxy Nexus .

Galaxy Nexus (320 dpi, 720 pixels de large)

(720 / 320) * 160 = 360 dp

Nexus 7 (213 dpi, 800 pixels de large)

(800 / 213) * 160 = 600 dp

Cela signifie que lorsque les applications sont rendues sur le Galaxy Nexus, la largeur de l'écran est en fait de 360 ​​dp (rendu en utilisant 720 pixels). Alors que sur le Nexus 7, la largeur de l'écran est de 600 dp (rendu avec 800 pixels).

Prime

Si votre Galaxy Nexus est enraciné, vous pouvez utiliser une application telle que LCD Density Modder et changer le DPI de votre appareil à 240. Ce que vous obtiendrez sera beaucoup plus proche de Nexus 7 dans un boîtier plus petit. Sur la gauche, une capture d'écran de l'appareil à 240 dpi. Vous remarquerez que nous pouvons voir beaucoup plus de contenu lorsque le DPI est inférieur.

Galaxy Nexus à 240 dpi Galaxy Nexus à 320 dpi

Rien à voir avec PPI

Les autres réponses mentionnent PPI. La quantité de contenu affiché n'a rien à voir avec le PPI d'un appareil. Bien que communément, les fournisseurs sélectionnent le DPI le plus proche du PPI de l'appareil. (Par exemple, le Galaxy Nexus a un PPI de 316, mais un DPI de 320, alors que le Nexus 7 a un PPI de 216, mais utilise un 213 DPI).

Lectures complémentaires

http://developer.android.com/guide/practices/screens_support.html

Derek Kwok
la source
2
Merci pour cela, personne d'autre n'a répondu à la question que je posais.
zacharyalexstern
2
C'est une bonne réponse dans l'ensemble, mais le paragraphe "rien à voir avec PPI" fait une fausse distinction entre DPI et PPI. Voir mon commentaire sur la réponse de Mohammed Essam.
Wyzard
Bonjour. Je ne comprends tout simplement pas un mot de ce que vous dites. Vous supposez que plus le dpi est faible, plus vous pouvez montrer. Mais lorsque vous avez 100 points par pouce, vous affichez simplement moins d'informations sur un pouce que lorsque vous avez 200 points par pouce. Et aussi, si la densité par défaut est proche du ppi de l'appareil, vous ne pouvez pas faire mieux, même en modifiant la valeur, car pour autant que je sache, oui un point peut être affiché sur plusieurs pixels, mais un pixel ne peut pas en afficher plus ce point.
Oliver
Uhhh, cela s'applique-t-il aux écrans de bureau?
Oliver
2
En fait, le Nexus 7 a 213 DPI et fait 600x961 unités dp. Voir plus.google.com/105051985738280261832/posts/6eWwQvFGLV8
beetstra
7

C'est parce que les pixels par pouce (PPI) sont différents entre eux. Plus l'IPP est élevé, plus la qualité est élevée, mais au prix d'un écran de taille (relative) plus petite. Ainsi, le Nexus 7 a 216 pixels par pouce tandis que le Galaxy Nexus a 316 pixels par pouce. La résolution n'est pas tout, il faut aussi tenir compte de la densité des pixels.

Les valeurs PPI élevées ont l'avantage d'être HD, mais elles présentent également un inconvénient, à savoir une taille d'écran plus petite (à une résolution persistante).

Vous pouvez en savoir plus sur PPI ici .

Mohamed Essam
la source
Je ne vois pas ce que PPI a à voir avec les écrans immobiliers. En supposant qu'il n'y ait pas de mise à l'échelle, le Galaxy Nexus devrait avoir à peu près le même écran que le Nexus 7, les choses devraient simplement apparaître plus petites à l'écran.
zacharyalexstern
3
@zacharyalexstern, PPI est pertinent car il détermine la mise à l'échelle des polices. Le texte en 12 points est censé mesurer un sixième de pouce (72 pts = 1 pouce), ce qui correspond à 36 pixels sur le Nexus 7 216ppi et à environ 53 pixels sur le Nexus Galaxy 316ppi. Les autres éléments de l'interface utilisateur sont également mis à l'échelle en fonction du PPI.
Wyzard
2
Fondamentalement, les éléments de l'interface utilisateur sont mis à l'échelle pour apparaître avec une taille physique cohérente sur tous les appareils. C'est pourquoi vous pouvez en installer davantage sur un appareil physiquement plus grand.
Wyzard
2
@zacharyalexstern Je ne peux pas dire mieux que Wyzard, donc je ne le ferai pas. Je le soutiens simplement parce que vous semblez catégorique que PPI n'a rien à voir avec l'immobilier d'écran. Je vous promets le contraire, cela a tout à voir avec l'immobilier d'écran. Vous avez raison, deux écrans 1280x800 ont le même nombre de pixels . Mais tous les composants Android sont mis à l'échelle à la densité de pixels. Avez-vous programmé pour Android? Le terme dp est-il familier?
1
@DerekKwok, DPI est un terme d'impression qui n'est pas vraiment applicable aux écrans d'ordinateur. Lorsqu'il est utilisé par rapport aux écrans d'ordinateur, il s'agit généralement d'un synonyme de PPI, car l'image est constituée de pixels, pas de points.
Wyzard
4

Afficher la même quantité de contenu sur un écran de 4,6 pouces le rendrait excessivement petit dans la plupart des cas. Vous ne seriez pas en mesure de le lire, donc mettre autant de contenu à l'écran n'a pas de sens. La résolution détermine le nombre de pixels vous pouvez afficher, mais un pixel n'est pas de la même taille sur chaque écran . Pour rendre le contenu utilisable et lisible, vous devez utiliser plus de pixels sur un écran plus petit car ils sont plus denses.

Pour une bonne comparaison, ouvrez une page Web sur un Galaxy Nexus et zoomez complètement. La même page affichée sur un moniteur 14 "(ou autre) avec une résolution similaire ne poserait aucun problème, mais le texte est presque indéchiffrable sur votre téléphone.


Du point de vue de "comment cela est-il accompli techniquement" - cela dépend en grande partie de la façon dont une application est écrite. Par défaut, Android mettra simplement l'interface à l'échelle sur un écran plus grand, ce qui peut ou non rendre plus de données visibles (pensez à une liste déroulante, par exemple: plus d'éléments seraient visibles sur un écran plus grand). C'est le scénario le plus élémentaire.

Cependant, il est également possible pour un développeur de définir des dispositions entièrement différentes en fonction de la taille ou de la densité de l'écran. Par conséquent, les dispositions sur un appareil de 7 pouces peuvent être complètement indépendantes des dispositions sur un appareil de 4 pouces ou 10 pouces. Cela donne aux développeurs une grande flexibilité pour créer des interfaces utilisateur plus riches pour les tablettes (et autres appareils similaires) tout en conservant les interfaces utilisateur du téléphone Ceci est couvert en détail sur le site des développeurs d'Android .

eldarerathis
la source
J'allais dire, ironique que Google soutienne l'iPad pour leur Google + ... que la démonstration de Glass avec Brin était autre chose ...: D
t0mm13b
Je comprends POURQUOI c'est fait, ma question est plus comment . Par exemple, s'agit-il simplement d'une mise à l'échelle?
zacharyalexstern
@zacharyalexstern: Cela dépend de la façon dont l'application est écrite, alors. Vous pouvez écrire une application pour utiliser des dispositions entièrement différentes sur des écrans de différentes tailles si vous le souhaitez, il ne s'agit donc pas nécessairement d'une simple "mise à l'échelle" au sens typique. Ou, vous pouvez laisser l'application évoluer si vous le souhaitez. Il existe un ensemble assez important de documentation dédiée à cela sur le site des développeurs Android, mais c'est un résumé assez basique.
eldarerathis
1

Désolé pour la réponse stupide, mais: le Galaxy Nexus agrandit tout.

Par exemple, la petite lettre «a» peut avoir une largeur de 30 pixels sur le Galaxy Nexus, alors qu'elle n'a que 20 pixels sur le Nexus 7. De cette façon, plus de lettres peuvent tenir sur l'écran. La raison pour laquelle ils apparaissent avoir la même taille (par exemple 3 mm si vous mettez une règle sur l'écran) est, comme les autres l'ont dit, la densité de pixels. Fondamentalement, les pixels sont plus gros, physiquement, sur le Nexus 7.

La raison pour laquelle le Galaxy Nexus agrandit tout est pour que vous puissiez réellement l'utiliser sans le garder à un pouce de votre visage. Si la lettre «a» avait une largeur de 20 pixels, comme sur le Nexus 7, elle serait trop petite pour être lue confortablement (car les pixels sont beaucoup plus petits).

Félix
la source
Je comprends cela, ce n'est pas ma quête.
zacharyalexstern