Waarom heb ik @1x, @2x en @3x iOS-afbeeldingen nodig?

Waarom hebben we deze 3 specifieke afbeeldingstypen nodig?

Als ik een knop in mijn app heb met een achtergrondafbeelding, bijvoorbeeld 50 pixels x 50 pixels, waarom heb ik dan drie versies van deze afbeelding nodig? Wat weerhoudt me ervan om slechts één afbeelding te maken met een veel hogere resolutie, zeg 700×700, zodat wanneer deze kleiner wordt op een iPhone, deze niet onder de maximale resolutie valt die het apparaat zou willen?

Het enige wat ik kan bedenken is dat het gewoon meer ruimte in beslag neemt, maar voor simpele apps/een simpele knop lijkt het alsof het geen problemen geeft. Ik heb het op een paar apparaten geprobeerd en zie geen verschil tussen hen wanneer ik het simuleer en deze methode gebruik. Naarmate ik echter meer in apps en zo duik, weet ik zeker dat er een substantie achter deze techniek zit.


Antwoord 1, autoriteit 100%

Als je de exacte maat niet hebt, kunnen er twee dingen gebeuren:

Opschalen

@3xof @2xkunnen worden opgeschaald van @1x, maar meestal is het visuele resultaat wazig, met dikke lijnen en niet er goed uitzien. Het opschalen van @3xvan @2xkan nog erger zijn omdat er subpixels moeten worden gebruikt.

Terugschalen

Over het algemeen zijn de resultaten veel beter dan bij opschalen, maar dat geldt niet voor alle afbeeldingen. Als je een 1pxrand op een @3xafbeelding hebt, zal de rand na het verkleinen naar @1xniet zichtbaar zijn (0,33px) . Hetzelfde geldt voor alle kleine objecten in de afbeelding. Downscaling vernietigt alle details.

Over het algemeen: om een ​​afbeelding er perfect uit te laten zien, moet u zowel downscaling als upscaling vermijden. Je kunt altijd alleen @2xof @3xafbeeldingen gebruiken en alleen andere schalen toevoegen als je visuele problemen ziet. Het gebruik van een hogere resolutie zal de downscaling niet verbeteren. Hoge resoluties worden alleen gebruikt om opschaling te voorkomen. Downscaling van een hoge schaal (bijv. @100x) naar @1xlevert geen betere resultaten op dan downscaling van @3x.


Antwoord 2, autoriteit 96%

Je hebt drie soorten afbeeldingen nodig in Afbeeldingsitems, omdat het gaat om schalen of pixels
Er zijn 3 soorten Apple-apparaten (iPhone en iPad) die

Normaal apparaat met termen als 1 pixel = 1 point@1x (oudere iPhone- en iPad-apparaten)

Retina-apparaat met termen als 4 pixels(2 x 2) = 1 point@2x (iPhone 4+)

Retina iPhone6 ​​en iPad welke termen tot 9 pixels (3 x 3) = 1 point@3x (iPhone6+)

Voor het leveren van dezelfde afbeelding in 3 schalen beslist iOS welke afbeelding wordt weergegeven voor welke apparaten. Hope kan u helpen dit te begrijpen.

BEWERKEN

voer hier de afbeeldingsbeschrijving in


Antwoord 3, autoriteit 10%

Het is omdat als u één afbeelding met hoge resolutie levert, dit een verspilling van ruimte op het apparaat van een gebruiker zou zijn. Dankzij app-slicing downloadt het apparaat (uit de App Store) alleen de onderdelen die echt op het apparaat passen (zodat een retina-apparaat geen niet-retina-afbeeldingen downloadt). Dit is de reden waarom Apple activacatalogi heeft gemaakt en dit soort regels om te volgen. Ze beschrijven het in hun sessies.

Kortom, het gaat om het verminderen van het geheugen-/schijfgebruik, dus het gaat allemaal om het verbeteren van de prestaties en gebruikerservaring


Antwoord 4, autoriteit 7%

Allereerst moet u het gedrag van punten versus pixels kennen. Op niet-retina-apparaten is de verhouding tussen punten en pixels 1punt=1pixel. Op retina-apparaten zijn er twee verhoudingen: 1punt = 2×2pixels, afhankelijk van de schermgrootte, en 1punt=3×3pixels, vanwege de pixeldichtheid, dat is vier keer kijken op niet-retina .
Daarom heb je deze 3 soorten afbeeldingen nodig om in de hoogste resolutie te worden weergegeven.


Antwoord 5, autoriteit 4%

Als aanvulling op wat Sulthan zei:

Omdat je niet de juiste afbeeldingen voor een specifiek apparaat hebt gebruikt, moet het worden opgeschaald of geschaald. Deze processen zullenuw geheugen en verwerking in beslag nemen, wat kan resulteren in een afname van de prestaties, afhankelijk van het aantal afbeeldingen tegelijk dat u doet en de grootte van de afbeelding.


Antwoord 6, autoriteit 3%

Als u slechts één grote afbeelding opgeeft, ondervindt u verschillende problemen:

  1. Verkleinen leidt tot kwaliteitsverlies (ook al is het niet enorm)
  2. Er is meer rekenkracht nodig om de afbeelding te verkleinen dan om de reeds vooraf weergegeven afbeelding weer te geven
  3. De grootte van uw binaire bestand wordt groter en u kunt niet profiteren van app-verdunning die is geïntroduceerd met iOS 9.

Zoals u kunt zien, heeft het produceren van slechts één afbeelding invloed op de prestaties en kwaliteit van uw app en zal deze onevenredig grote gevolgen hebben voor degenen met oudere apparaten. Dit komt omdat:

  1. Ze moeten meer downscalen. Ook zijn de prestaties van hun apparaten niet zo goed als die van de nieuwe, dus ze zullen de vertragingen met uw app veel eerder opmerken
  2. Ze hebben niet zoveel opslagruimte, dus je wilt echt app-uitdunning kunnen gebruiken om hen te helpen
  3. Het kwaliteitsverlies zal voor hen het grootst zijn en gezien het feit dat de resolutie van hun apparaten laag is, zullen ze dat merken.

Hierdoor zullen gebruikers waarschijnlijk ongelukkig zijn en dit is slecht voor u. Omdat, uit mijn ervaring, ontevreden gebruikers 10 keer meer kans hebben om uw app te beoordelen dan tevreden gebruikers. Dat wil je niet, toch? 🙂

Other episodes