to ma zadane i odpowiedzi wielokrotnie dotyczących 2x aktywów, a odpowiedź tak naprawdę się nie zmieniło (ale trudno jest wyśledzić zduplikowane pytania, gdy publikuję z mojego telefonu).
Jeśli wysyłasz aktywa o wyższym współczynniku skali niż urządzenie docelowe, będą wyświetlane poprawnie. Jednak zmniejszanie ich w czasie rzeczywistym wiąże się z kosztami wydajności - zużywają więcej pamięci, trwają dłużej, aby przesłać je na GPU, zabierają czas GPU na renderowanie. Niektóre z tych kosztów są trywialne, inne nie. (Pamiętaj, że obraz 2x to 4x dane 1x, a obraz 3x to 2,25x dane 2x). I sumują się za każde zdjęcie w twojej aplikacji.
Co najważniejsze, urządzenia o niższych współczynnikach skali to te, które mają mniej zasobów procesora/GPU/pamięci do wydania na skalowanie w dół.
Co robić? Cóż, jeśli nie chcesz, aby twój artysta zajmował się wieloma czynnikami skali, po prostu zamów grafikę 3x i skaluj ją samodzielnie w Photoshopie (lub heck, a nawet Preview) przed wysyłką. Może nie wyglądać tak ładnie, jak gdyby twój artysta modyfikował go dla każdego rozmiaru, ale będzie wyglądał tak dobrze, jak skalowanie w czasie rzeczywistym bez kosztów wydajności podczas pracy.
Lub, z Xcode 6, możesz umieścić plik PDF w swoim katalogu zasobów, a Xcode automatycznie wygeneruje pliki PNG dla każdego rozmiaru w czasie kompilacji. (Jest to funkcja Xcode, a nie iOS, więc działa, nawet jeśli kierujesz na system iOS 7.)
Nie rozumiem tego powodu: jeśli dostarczasz 1x, 2x i 3x co najmniej 2x będzie być używane przez nowsze iPhone'y. Może to być wygodne, jeśli będziemy w stanie dostarczyć tylko 3-krotnie i pozwolić Xcode przeskalować go automatycznie, ale osobiście nie widzę go jeszcze jako potrzebnej funkcji. Pamiętaj, że aplikacje App Store nie mogą w tej chwili być ograniczone do iPhone'a 5+. W każdym razie, możesz szybko utworzyć narzędzie dla swojego projektanta lub dla siebie, aby skopiować skalę (i zmienić nazwę w razie potrzeby) wszystkie obrazy, jeśli jest to jedyny problem. –
Jestem pewna, że nie powinieneś dostarczać żadnego obrazu '@ 1x', jeśli twoja aplikacja nie działa na iPadach innych niż siatkówka. nie ma iPhone'a nie-siatkówki obsługiwanego od iOS7. – holex
@Fogmeister, w iOS7 +: 1. nie ma obsługiwanego iPoda Touch innego niż retina; 2. iPhone4S ma wyświetlacz siatkówki, 3. iPady nie-siatkówkowe uruchamiają aplikacje iPhone'a w trybie siatkówki i nie można skalować - dlatego: w przypadku aplikacji na iPhone'a w iOS7 + obrazy "@ 1x" mogą być całkowicie ignorowane . – holex