Problemem jest aplikacje są zaprojektowane do działania na określonych procesorach i nie wszyscy programiści wykonali całą pracę, aby ich aplikacje działały natywnie na komputerach Apple Silicon Mac. Na komputerach Mac z technologią M1 można uruchamiać aplikacje natywne, uniwersalne (gdzie instalator zawiera kod dla układów Intel i Apple) oraz aplikacje Intel.

Apple zachęca programistów do wydawania uniwersalnych aplikacji, gdy jest to możliwe, a także pozwala aplikacjom Intela działać na krzemie Apple przy użyciu technologii emulacji, którą Apple nazywa Rosetta 2.

Czym jest Rosetta 2?

Rosetta 2 to emulator zaprojektowany w celu ułatwienia przejścia między procesorami Intel i Apple. Tłumaczy aplikacje zaprojektowane dla Intela do działania na Apple Silicon.

Niektóre aplikacje (w tym aplikacje Microsoft Office) są również tłumaczone przy pierwszym uruchomieniu. Ta potrzeba tłumaczenia przy pierwszym uruchomieniu oznacza, że ​​aplikacje mogą uruchamiać się nieco wolniej niż normalnie (w niektórych przypadkach do 20 sekund), ale przy następnym uruchomieniu aplikacji nie wystąpi takie samo opóźnienie. 'podanie.

Cały proces odbywa się w tle i chociaż może mieć niewielki wpływ na wydajność aplikacji, wczesne raporty sugerują, że poprawa wydajności przy przejściu na chip M1 z nawiązką to rekompensuje.

Co mówi Apple

„Rosetta to proces tłumaczenia, który pozwala użytkownikom uruchamiać aplikacje zawierające instrukcje” — mówi strona dla programistów. “Celem Rosetty jest ułatwienie przejścia na krzem Apple, dając Ci czas na stworzenie uniwersalnego pliku binarnego dla Twojej aplikacji. Nie zastępuje tworzenia natywnej wersji aplikacji. »

Jak wygląda proces tłumaczenia?

„Jeśli plik wykonywalny zawiera tylko instrukcje Intela, macOS automatycznie uruchamia Rosettę i rozpoczyna proces tłumaczenia. Po zakończeniu tłumaczenia system uruchamia przetłumaczony plik wykonywalny zamiast oryginału. Jednak proces tłumaczenia zajmuje trochę czasu, więc użytkownicy mogą czuć, że przetłumaczone aplikacje uruchamiają się lub działają wolniej ”- mówi Apple.

Rosetta potrafi również tłumaczyć kod dynamiczny lub JavaScript postęp.

Czy mogę uruchomić wtyczkę x86 z moją aplikacją?

Podczas korzystania z Maca M1 przekonasz się, że zawsze woli uruchamiać instrukcje arm64 na krzemie Apple. Niemniej jednak, czasami aplikacja zawiera instrukcje ARM i X86, a jeśli tak, użytkownik może ponownie uruchomić aplikację, korzystając z tłumaczenia Rosetty z okna Uzyskaj informacje. aplikacja w Finderze. Wybierz aplikację, naciśnij Command-I i zaznacz pole Otwórz za pomocą Rosetty. Jest to przydatne tylko wtedy, gdy musisz uruchomić starą wtyczkę w aplikacji, która działa natywnie na przykład na M1.

Kto wspiera Rosettę 2?

Wszystkie aplikacje Apple i wszystkie ich aplikacje biznesowe są już natywnie kompatybilne z chipem M1.

Programiści tworzą również uniwersalne aplikacje, które będą działać natywnie na komputerach Mac z procesorami Intel i M1. Aplikacje, które nie są jeszcze dostępne natywnie lub powszechnie, mogą wymagać niewielkiej aktualizacji w celu włączenia obsługi Rosetty 2, ale później będą działać poprawnie.

Kluczowe aplikacje, takie jak Word, już działają na M1, a Adobe obiecuje natywną wersję Photoshopa dla M1 na początku przyszłego roku, a Lightroom pojawi się „wkrótce”. Oczywiście możesz także uruchamiać wszystkie aplikacje na iOS na chipie M1, jeśli programiści na to pozwalają.

Czego Rosetta 2 nie może przetłumaczyć?

Rosetta nie może tłumaczyć rozszerzeń jądra ani aplikacji maszyn wirtualnych które wirtualizują platformy obliczeniowe x86_64. Deweloperzy powinni mieć świadomość, że Rosetta nie jest również w stanie przetłumaczyć instrukcji wektorowych AVX, AVX2 i AVX512.

Trochę de Historia

Apple już wcześniej używał nazwy Rosetta.

Kiedy migrował Maca z chipów PowerPC na chipy Intela, użył czegoś o tej samej nazwie, aby wykonać tę samą funkcję, jaką jest włączenie aplikacji PowerPC na chipach Intela.

Chociaż nazwa i przeznaczenie pozostają takie same, istnieje duża różnica między tą formą Rosetty a Rosettą, której używamy dzisiaj, ponieważ Apple opracował docelowy procesor, co oznacza, że ​​podczas projektowania M1 uwzględnił potrzeby Rosetty.

Oznacza to, że był w stanie zbudować niektóre elementy niezbędne do zapewnienia tego wsparcia na samym chipie. To jest powód, dla którego niektóre aplikacje działające w emulacji Rosetty na Apple Silicon Mac działają szybciej niż na Intelu, ponieważ pomimo niskiego wpływu na wydajność, nadal korzystają z ogromnych korzyści w zakresie wydajności, które zapewnia przełączanie. do procesorów M1.

Jak wygląda przedstawienie?

Jak wyjaśniłem tutaj, od jakiegoś czasu używam komputera Mac mini M1. Z mojego doświadczenia wynika, że ​​większość aplikacji działa tak samo dobrze (często znacznie szybciej) na chipie M1, jak na równoważnym Macu z procesorem Intel.

Należy również zauważyć, że te procesory oferują doskonałe zarządzanie pamięcią. Firma Apple opracowała technologię, którą nazywa Unified Memory Architecture (UMA), która współdzieli pamięć między wszystkimi funkcjami procesora. Ponieważ pamięć, procesor i inne części systemu są umieszczone na chipie, możesz oczekiwać doskonałej wydajności. Jest to szczególnie widoczne w aplikacjach intensywnie korzystających z grafiki, które moim zdaniem działają jeszcze szybciej niż wcześniej.

Jak długo Rosetta 2 będzie dostępna?

Nie wiemy, czy Rosetta 2 będzie nadal dostępna.

Historycznie Rosetta została dołączona do systemu OS X 10.4.4 Tiger, stała się opcją do pobrania w systemie OS X 10.6 Snow Leopard i obsługiwana, ale zniknęła w następnym roku, chociaż w tym przypadku przejście zostało zakończone wcześniej. niż oczekiwano, gdy Apple przestał sprzedawać komputery Mac oparte na starszej architekturze.

Firma Apple zobowiązała się do zakończenia przejścia między procesorami Intel i Apple Silicon w ciągu dwóch lat, sugerując, że będzie tam wspierać to i będzie nadal dostępna w późniejszych wersjach. Apple wie, że podczas tej zmiany ludzie zawsze będą kupować nowe komputery Mac z procesorami Intel.

Mając to na uwadze, można przypuszczać, że Apple utrzyma wsparcie dla Rosetty 2 w systemie macOS przynajmniej do 2023 roku. Więcej informacji na temat Rosetty można znaleźć w notatce od programisty Apple.


 

Udostępnij to