9
votes

Quelle est la taille maximale de la texture disponible sur l'iPad?

Quelqu'un peut-il connaître la taille maximale de la texture pour l'iPad? J'ai du mal à trouver des chiffres pour cela.


3 commentaires

Vous devez vraiment dire Quelle édition de l'iPad (iPad, iPad 2, iPad 3rd Gen ou iPad 4ème Gen (à ce jour)?)


Voir ici Tomshardware.com/reviews/ipad-3- Benchmark-3156-6.html


@Rob, la réponse acceptée est obsolète. Une suggestion modeste - Marquez ma réponse en tant que réponse acceptée et sauvegarde des personnes qui arrivent à cette page un peu de temps.


3 Réponses :


16
votes

5 commentaires

Oui, la réponse était basée sur des spécifications préliminaires et incorrectes. Belle prise. +1


Spécifications complètes ici: développeur.apple.com / Bibliothèque / iOS / # Documentation / 3Drawing / ...


-1: Vous n'avez pas dit Quel iPad . L'iPad change tellement de temps en interne, ils peuvent aussi bien être des dispositifs complètement différents avec des noms complètement distincts, comme "iPad" pour un et "mypad" pour le prochain.


L'iPad 2 avait 512 Mo et iPad 3 a 1G de RAM partagé . Vous ne manquerez pas de mémoire après 3 textures 2048x2048.


@bobobobo i Fake 2048 * 2048 * 4 / (1024 * 1024) = 2 * 2 * 4 = 16 Mo par texture. Donc de la place pour quelques-unes de plus de trois.



40
votes

En complément de la réponse acceptée:

2048 était également le maximum pour iPad2, jusqu'à IOS5.1, quand il est devenu 4096. P>

4096 est le maximum pour iPad3, comme indiqué sur @badweasel dans les commentaires. p>

meilleur pour déterminer la limite programmatique, en utilisant p>

int max;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max);


5 commentaires

Je viens de frapper cette limite avec mon atlas de texture. Remarqué que sur l'objet d'affichage avant que les textures ont cessé de ralentir correctement, ma hauteur de l'Atlas était de 2046, et la proximité d'une puissance de 2 m'a fait Google, alors cela s'est présenté. +1 pour la requête GL Integer, c'est exactement ce que je voulais :-)


Pour l'iPad3 ("le nouvel iPad"), il renvoie 4096.


Le code ne fonctionne pas pour moi. Glgetintegerv ne modifie pas la valeur de Max, Glerror renvoie 0. Je manque quelque chose? J'appelle cela dans le délégué de l'application à commencer.


@Louissmr, je n'ai pas beaucoup d'utilisateur GL ces jours-ci, mais vous devez probablement créer un contexte GL avant que cela fonctionne.


Merci @Brainjam, ça a du sens. Je n'utilise pas OpenGL dans mon application, mais j'ai toujours besoin de la taille de texture maximale pour déterminer la taille de la résolution maximale à charger sans utiliser de tuiles. Devrait créer un contexte a un effet secondaire? Je suppose que je peux créer le contexte, invoquer glgeintegerv, puis détruire le contexte.



4
votes

Voici une ressource plus récente de Apple.

https://developer.apple.com/metal/limits/

Il a beaucoup d'informations sur les limitations graphiques. Si vous souhaitez connaître la taille maximale de la texture pour iOS, trouvez l'entrée pour "Largeur de texture 2D maximale 2D" . .

Cela dépend de ce que vous ciblez les systèmes d'exploitation. Par exemple, si vous souhaitez prendre en charge iOS 8 et plus haut, vous êtes limité à la limite IOS 8 pour les textures 2D de 4096 x 4096 pixels, même si les versions ultérieures d'iOS peuvent supporter des textures plus grandes.


0 commentaires