Einer der häufigsten Fehler, die ich sehe, ist die Pixelausrichtung.
Was ist ein Pixelfehler, was ist die Ursache und wie kann man ihn beheben?
Lesen Sie weiter für mehr Details.
Ein Bildschirm ist aus Pixeln aufgebaut. Jedes einzelne Pixel ist eindeutig und kann mit einer genauen Koordinate angesprochen werden. Bevor es Retina-Bildschirme gab, bestand jedes Pixel aus einem x- und y-Integralwert im Bereich von 320 x 480.
Als Retina aufkam, waren tatsächlich 640 x 960 Pixel verfügbar. Aber damit die aktuellen Apps funktionieren, adressiert Apple diese Pixel immer noch im Bereich von 320 x 480. Aber es waren Pixel in jeder genauen 0,5er-Schrittweite verfügbar.
In einer perfekten Welt würde beim Rendern jedes Pixel, das Sie dem System zum Zeichnen auf dem Bildschirm vorgeben, perfekt mit einem tatsächlichen physischen Punkt auf dem Bildschirm des Geräts übereinstimmen. Wenn Sie Berechnungen anstellen, um eine relative Positionierung der Zeichnung auf dem Bildschirm zu erstellen, können Sie leicht Werte berechnen, die nicht mit einem Vielfachen von 0,5 übereinstimmen. Und so kommt es zu einer falschen Pixelausrichtung.
Ein weiterer häufiger Grund für eine falsche Pixelausrichtung ist, wenn die grafischen Assets, die Sie für eine Retina-Version eines Bildes verwenden, nicht genau doppelt so groß sind wie die Abmessungen des Nicht-Retina-Bildes. Ein Symbol, das in der Nicht-Retina-Version 30x30 und in der Retina-Version 61x60 groß ist, ist durchaus üblich. Aber auch das führt zu Pixel-Fehlanpassungen.
Wie erkennt man eine falsche Pixelausrichtung?
Die Instrumente und der Simulator werden Ihnen dabei helfen. Wenn Sie Ihre Anwendung im Simulator ausführen, können Sie im Menü Debugging des Simulators die Option "Falsch ausgerichtete Bilder einfärben" aktivieren. Wenn Sie diese Option aktivieren, färbt der Simulator die Elemente auf Ihrem Bildschirm ein, um bestimmte Vorgänge anzuzeigen. Ein gelber Farbton ist kein Problem, das ist ein Hinweis darauf, dass etwas gestreckt wird. Die iOS-Plattform tut dies ausgiebig, um den Speicherverbrauch zu reduzieren. Aber wenn Elemente magentafarben erscheinen, ist das ein Hinweis auf ein Problem. Und meiner Meinung nach ist das ein Problem, das Sie unbedingt beheben müssen.
Eine falsche Bildausrichtung verschlechtert die Rendering-Leistung unter iOS erheblich. Dies liegt daran, dass ein falsch ausgerichtetes Bild mit den umgebenden Pixeln interpoliert werden muss, um zu bestimmen, welche Farbwerte tatsächlich an den Bildschirmpuffer gesendet werden müssen.
Wie behebt man eine falsche Pixelausrichtung?
Sobald Sie den Übeltäter gefunden haben. Es ist eine gute Idee, Ihren Code zu untersuchen, um herauszufinden, wie der tatsächliche Rahmen des falsch ausgerichteten Bildschirmelements berechnet wird. Ein wenig Debugging wird Ihnen dabei helfen. Ich würde in allen
Höchstwahrscheinlich werden Sie den Übeltäter bald gefunden haben. Wie lässt sich das beheben? Es gibt zwei Möglichkeiten, dies zu tun. Entweder verwenden Sie einen Floorf oder Ceilf für den genauen Wert, der die Fehlausrichtung verursacht. Oder Sie übergeben den CGRect für den Ansichtsrahmen durch einen CGRectIntegral-Aufruf.
Wenn es sich um ein Bild auf einem Retina-Gerät handelt, vergewissern Sie sich, dass die Retina-Version dieses Bildes tatsächlich genau doppelt so groß ist wie das Bild ohne Retina. Fehlerhafte Abmessungen bei Retina-Bildressourcen sind ebenfalls eine häufige Ursache für eine falsche Pixelausrichtung. Überprüfen Sie also diese Bildressourcen, wenn sie magentafarben erscheinen.
Ich habe ein einfaches Beispiel hinzugefügt, bei dem die Pixelabweichung absichtlich in meinem Beispielprojekt verursacht wurde. Bitte sehen Sie sich DemoForBlog auf GitHub an. Das Beispiel befindet sich in der Klasse XSDSixthViewController.
60 Bilder pro Sekunde. Das ist mein Ziel.
Verfasst von

Jeroen Leenarts
Unsere Ideen
Weitere Blogs
Contact



