In meiner App verwende ich eine Screenshot-Methode. Auf meinem iPad 2 ist es sehr schnell (ca. 130 ms) diese Methode auszuführen. Aber auf dem neuen iPad (sicherlich aufgrund der höchsten Auflösung und der gleichen CPU) dauert es etwa 700 ms! Gibt es eine Möglichkeit, meine Methode zu optimieren? Vielleicht gibt es eine Möglichkeit, direkt mit der Grafikkarte zu arbeiten?
Hier ist meine Screenshot-Methode:
%Vor%}
Danke für Ihre Hilfe.
Ich glaube, es war der Entwickler von Flipboard, der in einem Podcast über dieses Thema sprach. Es ist ein echtes Problem mit dem iPad 3, weil sie die Pixel vervierfacht haben.
Was er tat, war, den Screenshot im Hintergrund zu machen, nicht wenn der Benutzer die Aktion initiierte - in seinem Fall, wenn der Benutzer die Seite "umblätterte".
Ich weiß nicht, ob Ihnen das in Ihrem Fall helfen wird, aber es ist in vielen Fällen sicherlich ein gangbarer Weg.
Dies kann für Ihre Anwendung ausreichen oder nicht, aber eine Option besteht darin, den Screenshot herunter zu skalieren, z. übergeben Sie 0,5 als Skalierungsfaktor an UIGraphicsBeginImageContextWithOptions . 4x schneller, aber der Kompromiss ist ein Verlust von Detail / Auflösung.
Tags und Links objective-c ios ipad screenshot retina-display