Tworzę aplikację, która wykorzystuje podstawowe funkcje Core Graphics. Aplikacja działa dość dobrze na Ipad2, ale na ekranie Ipad3 występuje efekt wydajności z powodu wyświetlania siatkówki, co powoduje, że rysowanie odbywa się na liczbie pikseli 4 razy wcześniej. Próbowałem kilku hacków, by poprawić wydajność, ale ponieważ rysowanie odbywa się na gestach w moim kodzie, myślę, że będę musiał włączyć inną alternatywę. Chciałem zapytać, czy Core Image oferuje wszystkie funkcje, które można wykonać za pomocą Core Graphics, aby móc korzystać z możliwości przetwarzania GPU. Jeśli nie, jaka może być najlepsza alternatywa, aby móc korzystać z tych samych funkcjonalności i lepszych możliwości przetwarzania.Core Image vs Core Graphics
Odpowiedz
Obraz podstawowy i grafika rdzenia są bardzo różne. Core Image to technologia przetwarzania obrazu. Możesz zastosować gotowe filtry, takie jak sepia, czarno-biały i odwrócony kolor, lub możesz tworzyć niestandardowe filtry. Core Graphics to renderujący interfejs API wykorzystujący technologie Quartz 2D, które pozwalają na kompleksowe rysowanie.
GPUImage Brada Larsona to świetna alternatywa/dodatek do Core Image. Możesz go znaleźć here.
Jeśli chcesz poprawić wydajność, możesz wypróbować API niskiego poziomu, takie jak OpenGL. Jest to trudne do opanowania, ale oto kilka linków na początek:
- iPhone OpenGL ES – 8 Great Resources For Learning - Od ManiacDev, samotłumaczącą
- OpenGL ES Programming Guide for iOS - dokumentacji własnej firmy Apple, gruntowny dobry początek
- iOS based OpenGL ES programming - Niektóre więcej zasobów dla podręczny
- OpenGL ES 2.0 for iPhone Tutorial - Dobre wprowadzenie Ray Wenderlich
- Pro OpenGL ES for iOS - Wielka księga Apress ale nie dla początkujących
Dzięki. To na pewno hepls. – user1414340
Spóźniam się o rok, ale spójrz na Sesje WWDC 2010 na temat animacji rdzenia: 424 i 425. Oba są ważne, ale istnieją pewne dobre szczegóły dotyczące dostrajania wydajności w 425 na około 11:00 .
Krótkie streszczenie, jest to, że istnieją trzy potencjalne wąskie gardła, i musisz zidentyfikować, zoptymalizować i zachować iterację, aż uzyskasz gładki 60 FPS. Potencjalne ograniczenia to:
- przepustowości odczytu
- zapisu przepustowość
- przetwarzania/karnety renderingu.
Sesja 425 (Core Animation in Practice, Part 2) obejmuje techniki radzenia sobie z powyższym.
- 1. Zalety korzystania z Core Graphics
- 2. Kakao Grafika 2D: Kwarcowy, Core Image lub Core Animation?
- 3. Obrazy HDR poprzez Core Image?
- 4. Gaussian Noise tylko przy użyciu Core Graphics?
- 5. Jak narysować punkt za pomocą Core Graphics?
- 6. Jak narysować coś takiego w Core Graphics
- 7. Które części UIKit, Core Graphics, Core Animation, OpenGL są dozwolone na innych niż główny wątek?
- 8. Jak narysować zaokrąglony prostokąt w Core Graphics/Quartz 2D?
- 9. Czy ten wątek kodu Core Graphics jest bezpieczny?
- 10. Core-Data CoreDataGeneratedAccessors vs. proste przypisanie
- 11. Szablon kątowy ASP.NET Core: app.module.client vs. app.module.server
- 12. Core Data vs Sqlite i wydajność
- 13. Pakiety AngularJS Core vs. Angular JS Nuget?
- 14. NSOperation VS GCD dla Core-Data
- 15. Jak mogę odwzorować dostosowanie poziomu Photoshopa na filtr Core Image?
- 16. (Java core)
- 17. JSF Core Tag: setPropertyActionListener vs atrybut vs param
- 18. Aplikacja oparta na dokumentach bazująca na Core Data vs zwykłej aplikacji Core Data?
- 19. tajemnicze tajne pliki wykonywalne core dotnet core, dlaczego?
- 20. Aplikacja .NET Core Core, jak skonfigurować appSettings na środowisko?
- 21. Różnica między Matrix hamcrest Matrix i hamcrest Core Core Matchery
- 22. Jaka jest różnica między `.NET Core` i` .NET Core App`?
- 23. Format pliku core-dump
- 24. Ubuntu - instalacja .net core
- 25. OpenGL Core i zgodność
- 26. Wtyczki Core Motodev
- 27. Angular2 ASP.NET Core AntiForgeryToken
- 28. Eclipse JSTL Core Autocomplete
- 29. ASP.NET Core Response.End()?
- 30. Core Data Encryption
Czy jesteś w 100% pewien, że spadek wydajności z powodu zwiększonej liczby pikseli? – zoul
Tak. Ponieważ wydajność pokazuje pewną poprawę, gdy niektóre operacje rysowania są usuwane lub rysowane są ekrany zamiast całego ekranu. – user1414340