2012-03-30 11 views
13

Ich habe an einer iPad App gearbeitet, die auf dem iPad 2 recht umfangreiche Tests durchlaufen hat. Ich habe kürzlich ein "New iPad" (iPad 3), und die App fühlt sich deutlich langsamer an. Animationen/scrollende Verhaltensweisen, die im iPad 2 seidig glatt waren, fühlen sich auf dem neuen iPad nun extrem stotterig an.Choppy Animation und Scrolling Performance auf "New iPad" (Retina iPad 3)

Ich mache eine Menge der üblichen Tipps zur UI-Leistung: Verwenden von shadowPaths, Zeichnen von UITableViewCells mit CoreGraphics, Rastern von Ansichten, die sich nicht oft ändern/müssen nicht animiert werden.

Gibt es irgendwelche Fallstricke, auf die ich achten sollte, wenn ich meine App auf das iPad 3 umstelle?

aktualisiert

Ich schwor, dass ich versuchte, dies vor, aber das Entfernen am Ende abgerundete Ecken aus meinen UIViews Ansichten deutlich die App zu beschleunigen. clipToBounds scheint auch ein bedeutender Performance-Hit zu sein (obwohl seltsamerweise ... das Einstellen der Ebene maskToBounds einer Ebene in Ordnung ist, was für mich keinen Sinn ergibt). Eine Kombination aus diesen und anderen Verbesserungen scheint das Problem gelöst zu haben.

Sobald ich einen zweiten visuellen Durchlauf über die App mache, werde ich einen Weg finden, abgerundete Ecken auf eine performantere Art und Weise neu zu implementieren.

+1

Leider habe ich dieses Problem auch. Meine App läuft auf iPad 1 und 2 einwandfrei, hat aber auf iPad 3 schwerwiegende Leistungsprobleme. Ich verwende scrollViews mit kleinen bis mittleren Bildern und UIWebViews. Allerdings befürchte ich, dass das iPad 3 unmittelbar bevorsteht, denn das Retina-Display benötigt 4-mal den Speicher (On- und Offscreen), aber das neue iPad kommt nur mit doppeltem Speicher und einer ähnlichen CPU als das iPad 2. Das dürfte alle Apps betreffen Profitiere nicht von der GPU. – auco

+3

Apple hat eine Anleitung zum Zeichnen und Drucken, die Empfehlungen zur Verbesserung der Leistung von Retina-Anwendungen enthält, die auf einem Retina-Display ausgeführt werden: https://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/ SupportingHiResScreens.html –

Antwort

1

Ich denke, dass die größte Sache zu achten Kopien von Grafiken aus dem Systemspeicher auf der Grafikkarte ist, da sie 4X größer als die bisherigen iPad Grafiken mit etwa der gleichen CPU-Leistung wie das iPad 2.

+0

Ich habe nicht viele Grafiken (keine wesentliche Größe) auf die Retina-Display-Auflösung aktualisiert, so dass das Kopieren von Bildern in den Videospeicher nicht wesentlich teurer sein sollte, oder? Ich denke, um die Frage zu klären, was die Leistungsprobleme mit Scrollen und Animationen verursachen könnte? –

0

Vielleicht Es ist wegen Upscaling von iOS? Immerhin muss es eine höhere Res-Version von allem vor dem Zeigen auf dem Bildschirm berechnen. Da einige Dinge auf dem Bildschirm bereits hochauflösend sind (font und default ui Elemente), muss jedes andere Element einzeln skaliert werden.

Haben Sie schon versucht, die Bilder selbst zu skalieren und sie als Retinabilder zu Ihrem Projekt hinzuzufügen?

Viel Glück.

+0

Ich dachte über diese Möglichkeit nach und probierte es aus, aber es scheint nicht Upscaling Bilder verursacht irgendwelche Leistungsprobleme. –

2

4x die Pixel, nur 2x die Füllrate. Die Mathematik sagt alles.