Falsch ausgerichtete Ansichten zwingen den Renderer, vor dem Zeichnen Antialias zu verwenden. In diesem Kontext bedeutet "fehlausgerichtet", dass der angeforderte Anzeigepunkt nicht direkt einem Bildschirmpixel zugeordnet wird (z. B. zwischen zwei Pixeln) und daher zu zwei benachbarten Pixeln gezogen und mit Antialiasing versehen werden muss um die Illusion zu geben, dass sie "zwischen" ihnen gezogen wurde.
Dies geschieht fast immer, wenn der Rahmen einer Ansicht berechnet (und nicht in Interface Builder angegeben) wird, da die X-Koordinate, Y-Koordinate, Breite und Höhe von CGRect CGFloats sind und daher Teilwerte zulassen.
Zum Beispiel ist ein 100.8px by 50.1px Box zentriert bei (200.5, 35.5) ein gültiger Frame und das Betriebssystem wird versuchen, es so gut wie möglich zu machen. Der zusätzliche Interpolations- und Anti-Aliasing-Overhead, der nur für ein einziges Pixel erforderlich ist, reicht aus, um die Leistung älterer Hardware erheblich zu beeinträchtigen.
Yup, das ist, was fehlausgerichtete Bild bedeutet. – Kriem
Danke für den Hinweis. In der Tat hatte ich Gleitkommawerte für Frame-Koordinaten. Nach dem Umwickeln mit einem Stockwerk() verschwand die Nachricht in Insturment. Aber ich konnte keine Leistungsverbesserung erkennen. Instrumente beschweren sich darüber auch, wenn ein UIImageView gedreht wird. Also ich denke, es ist nichts zu schlecht;) – Thanks
Es ist wahr, wenn eine Skalierung auftritt - zum Beispiel, wenn die Breite oder Höhe einer Bildansicht nicht mit den Quellbildgrenzen übereinstimmt, oder wenn eine Ansicht eine affine Transformation angewendet hat. –