2012-03-30 9 views
13

Pracuję nad aplikacją na iPada, która przeszła dość obszerne testy na iPadzie 2. Niedawno otrzymałem "nowy iPad" (iPad 3), a aplikacja czuje się znacznie wolniej. Animacje/zachowania scolling, które były jedwabiście gładkie w iPadzie 2, teraz czują się wyjątkowo obrzydliwie na nowym iPadzie.Poruszająca animacja i przewijanie Wydajność na "nowym iPadzie" (Retina iPad 3)

Wykonuję wiele standardowych porad dotyczących wydajności interfejsu użytkownika: korzystanie z shadowPaths, rysowanie UITableViewCells za pomocą CoreGraphics, rasteryzowanie widoków, które nie zmieniają się często/nie muszą być animowane.

Czy są jakieś pułapki, o których powinienem uważać podczas przenoszenia mojej aplikacji na iPada 3?

Aktualizacja

przysiągłem, że próbowałem tego wcześniej, ale usunięcie zaokrąglone narożniki z moich poglądów UIViews skończyło się znacznie przyspieszając aplikację. clipToBounds również wydaje się być znaczącym hitem wydajnościowym (chociaż dziwnie ... ustawienie maski warstwy widoku wydaje się być w porządku, co nie ma dla mnie sensu). Wygląda na to, że niektóre kombinacje tego i innych poprawek rozwiązały problem.

Gdy wykonam drugie wizualne przejście przez aplikację, wymyślę sposób na ponowne zaokrąglenie rogów w bardziej wydajny sposób.

+1

Na nieszczęście mam również ten problem. Moja aplikacja działa dobrze na iPad1 i 2, ale ma poważne problemy z wydajnością na iPadzie 3. Używam scrollViews z małymi i średnimi obrazami oraz UIWebView. Obawiam się jednak, że to iPad 3 jest nieuchronny, ponieważ wyświetlacz Retina wymaga 4 razy więcej pamięci (na ekranie i poza ekranem), ale nowy iPad ma tylko podwójną pamięć i podobny procesor niż iPad 2. Powinno to wpłynąć na wszystkie aplikacje, które nie korzystaj z GPU. – auco

+3

Firma Apple ma podręcznik do rysowania i drukowania, który zawiera zalecenia dotyczące poprawy wydajności aplikacji nieretinowych działających na ekranie Retina: https://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/ SupportingHiResScreens.html –

Odpowiedz

1

Myślę, że najważniejszą rzeczą, aby zwrócić uwagę na to kopie grafik z pamięci systemowej do karty graficznej, ponieważ są one większe niż w poprzednich 4X iPad z grafiką o tej samej mocy procesora, jak iPad 2.

+0

Nie zaktualizowałem zbyt wielu grafik (żadnych znaczących rozmiarów) do rozdzielczości ekranu siatkówki, więc kopiowanie obrazów do pamięci wideo nie powinno być znacznie droższe, prawda? Chyba wyjaśnić pytanie, co może być przyczyną problemów z wydajnością podczas przewijania i animacji? –

0

Maybe to jest spowodowane skalowaniem przez iOS? W końcu musi obliczyć wyższą wersję wersji wszystkiego przed wyświetleniem na ekranie. Ponieważ niektóre rzeczy na ekranie są już hi-res (czcionki i domyślne elementy interfejsu użytkownika), muszą skalować każdy inny element osobno.

Czy próbowałeś samodzielnie skalować obrazy i dodawać je jako obrazy siatkówki do swojego projektu?

Powodzenia.

+0

Rozpatrzyłem tę możliwość i wypróbowałem ją, ale nie widać skalowania obrazów powoduje problemy z wydajnością. –

2

4x piksele, tylko 2x współczynnik wypełnienia. Matematyka mówi wszystko.

Powiązane problemy