Wszystko, co musisz wiedzieć o Rosetta 2 na komputerach Apple Silicon Mac

Wszystko, co musisz wiedzieć o Rosetta 2 na komputerach Apple Silicon Mac Problemem jest aplikacje są zaprojektowane do działania na określonych procesorach i nie wszyscy programiści wykonali całą pracę legginsową, aby ich aplikacje działały natywnie na komputerach Apple Silicon Mac. Komputery Mac z technologią M1 mogą uruchamiać aplikacje natywne, uniwersalne (gdzie instalator zawiera kod dla chipów Intela i Apple) oraz aplikacje Intela. Apple zachęca programistów do wydawania uniwersalnych aplikacji tam, gdzie 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łumacz aplikacje zaprojektowane dla firmy Intel do działania na Apple Silicon. Niektóre aplikacje (w tym aplikacje pakietu 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ż zwykle (w niektórych przypadkach do 20 sekund), ale przy następnym uruchomieniu aplikacji nie wystąpi takie samo opóźnienie. 'aplikacja. 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 po przejściu na układ M1 z nawiązką to rekompensuje.

Co mówi Apple

„Rosetta to proces tłumaczenia, który umożliwia użytkownikom uruchamianie aplikacji zawierających instrukcje” — czytamy na stronie dewelopera. “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 Pobierz informacje. „aplikacja w Finderze. Wybierz aplikację, naciśnij Command-I i zaznacz pole Otwórz za pomocą Rosetty. Jest to naprawdę przydatne tylko wtedy, gdy musisz uruchomić starą wtyczkę w aplikacji, która działa natywnie na M1.

Kto wspiera Rosettę 2?

Wszystkie aplikacje Apple i wszystkie jego aplikacje komercyjne są już natywnie kompatybilne z chipem M1. Deweloperzy 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 uniwersalnie, mogą wymagać niewielkiej aktualizacji, aby włączyć obsługę Rosetty 2, ale wtedy będą działać dobrze. Kluczowe aplikacje, takie jak Word, już działają na M1, a Adobe obiecuje natywną wersję M1 Photoshopa na początku przyszłego roku, a Lightroom pojawi się „wkrótce”. Oczywiście możesz także uruchamiać wszystkie aplikacje iOS na chipie M1, jeśli programiści na to pozwolą.

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ło nazwy Rosetta. Podczas migracji komputera Mac z układów PowerPC na układy Intel użyto czegoś o tej samej nazwie, aby wykonać tę samą funkcję włączania aplikacji PowerPC na układach Intel. 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 pomyślał o potrzebach Rosetty. . Oznacza to, że był w stanie zbudować niektóre elementy niezbędne do zapewnienia tego wsparcia na samym chipie. To dlatego niektóre aplikacje działające w emulacji Rosetty na Apple Silicon Mac działają szybciej niż na Intel, 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 Maca mini M1. Z mojego doświadczenia wynika, że ​​większość aplikacji działa równie dobrze (często znacznie szybciej) na chipie M1, jak na równoważnym komputerze Mac z procesorem Intel. Należy również zauważyć, że procesory te oferują doskonałe zarządzanie pamięcią. Firma Apple opracowała technologię o nazwie Unified Memory Architecture (UMA), która dzieli pamięć między wszystkie funkcje procesora. Ponieważ pamięć, procesor i inne części systemu są umieszczone na chipie, można oczekiwać doskonałej wydajności. Jest to szczególnie zauważalne w aplikacjach intensywnie korzystających z grafiki, które według mnie 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. Apple zobowiązało się do zakończenia przejścia między procesorami Intel i Apple Silicon w ciągu dwóch lat, co sugeruje, że będzie tam wspierać to i będzie nadal dostępne w kolejnych wersjach. Apple wie, że w okresie przejściowym ludzie zawsze będą kupować nowe komputery Mac z procesorami Intela. Mając to na uwadze, wydaje się prawdopodobne, że Apple utrzyma obsługę Rosetty 2 w systemie macOS co najmniej do 2023 roku. Więcej informacji na temat Rosetty można znaleźć w tej notatce programisty Apple.