2010-05-03 11 views
7

Czy istnieje sposób na zwiększenie priorytetu aplikacji dla procesora na telefonie iPhone? Zauważyłem, że SpringBoard pochłania zbyt dużo CPU, powodując pewne wahania wydajności urządzenia.trampolina pobiera za dużo CPU

Odpowiedz

11

To, co widzisz, to prawdopodobnie artefakt związany z Core Animation. Serwer Core Animation na iPhone'a należy do Springboard, więc wiele akcji związanych z animacją rdzenia (obliczenia związane z animacją itp.) Wydają się być wykonywane przez Springboard, mimo że zostały zainicjowane przez twoją aplikację. Nie jest to przypadek, w którym Springboard sam wypala czas procesora w tle, ale tylko niektóre z tych operacji wyglądają, gdy Instrumenty lub podobne narzędzia działają w stosunku do urządzenia.

W tym przypadku chciałbym sprawdzić, w jaki sposób animowałeś elementy na ekranie (nawet domyślnie za pomocą elementów interfejsu UIKit) lub w jaki sposób te widoki lub warstwy były łączone, aby złagodzić problemy z wydajnością.

+0

dzięki .. będzie tam wyglądać. :) Zastanawiam się, czy mógłbym uzyskać lepszą wydajność, tłumacząc tę ​​animację UI na widok OpenGL. Hmmm ... Zastanawiam się. – tbarbe

+0

@tbarbe - Najpierw spróbuję profilować Twoją aplikację za pomocą Shark and Instruments, aby sprawdzić, czy istnieją jakieś oczywiste punkty aktywne, które przyczyniają się do obniżenia wydajności. Przejście do OpenGL ES doda ogromną ilość kodu nawet dla prostej animacji, a będziesz musiał ją wykonać w nieprzezroczystym CAEAGLLayer, złożonym z innych elementów interfejsu użytkownika. –

+0

thx Brad ... zajmie się tym bardziej - dzięki za radę! Ja również szukam wymówek, aby zanurzyć się w OpenGL, aby zobaczyć, jakie są zalety i wady. :) – tbarbe