Ouvrir le menu principal

iGeneration

Recherche

Ci-JIT l’espoir de voir l’émulateur Dolphin porté sur iPhone

Stéphane Moussie

lundi 22 avril 2024 à 18:00 • 10

App Store

Bien qu’Apple autorise depuis peu les émulateurs sur l’App Store, l’un des plus populaires d’entre eux va rester sur le pas de la porte. Les créateurs de DolphiniOS ont confirmé qu’ils ne lanceront pas leur émulateur de jeux GameCube et Wii sur iOS. Pourquoi ce blocage alors que d’autres se préparent à arriver sur iPhone ? La raison est technique.

Les développeurs l’avaient déjà mentionné en décembre dernier, le problème vient du fait qu’Apple interdit toujours aux applications (hors navigateurs) d’utiliser la compilation à la volée, ou Just-In-Time compilation (JIT), un procédé indispensable à DolphiniOS pour offrir de bonnes performances.

Comme nous l’avions expliqué dans un précédent article, une des fonctions de base d'un émulateur est de lire du code qui a été pensé pour un jeu d'instructions précis (par exemple du code PowerPC dans le cas de Dolphin) et de l'exécuter sur un autre jeu d'instructions (ARM64 pour les iPhone). La solution de base consiste à interpréter le code, c'est-à-dire traiter chaque instruction une à une. C'est une solution efficace, mais lente. Et pour émuler une console du milieu des années 2000 sur un smartphone, impossible d'être lent.

Avec JIT, le fonctionnement est le même que pour Rosetta 2 : le code est converti au lancement (et mis en cache) avant l'exécution, ce qui permet d’obtenir un résultat bien plus efficace. Les développeurs le prouvent en comparant Mario Kart exécuté avec ou sans JIT sur un iPhone 15 Pro. Avec JIT, le jeu s’exécute normalement. Sans JIT, le titre est tellement lent qu’il est injouable.

Les développeurs déclarent avoir fait une demande d’interopérabilité à Apple pour pouvoir exploiter JIT (une procédure possible dans le cadre du DMA), mais l’entreprise a refusé cette demande il y a quelques semaines. C’est sûrement par souci de sécurité qu’Apple restreint cette capacité technique aux navigateurs uniquement, car JIT revient à créer du code natif qui ne peut pas être vérifié.

En l’état actuel des choses, les créateurs de DolphiniOS préfèrent ne pas distribuer du tout leur émulateur sur l’App Store plutôt que de distribuer un émulateur aux performances médiocres.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

The Trump Organization lance un smartphone soi-disant produit aux États-Unis associé à un forfait « révolutionnaire »

16/06/2025 à 21:52

• 50


Découverte de Téléphone dans iOS 26 : nouvelle interface, appels inconnus, portages sur l’iPad et le Mac

16/06/2025 à 20:34

• 15


Comme promis, Apple sort de nouvelles bêtas… pour iOS 18.6 et macOS 15.6

16/06/2025 à 19:20

• 12


La publicité s’infiltre finalement dans WhatsApp

16/06/2025 à 18:58

• 45


Orange TV s’améliore sur Apple TV : qualité HD+, enregistreur optimisé…

16/06/2025 à 17:13

• 16


La première bêta d’iOS 18.6 sur le point de sortir

16/06/2025 à 16:32

• 2


Des iPhone 17 uniquement eSIM en France ? Les opérateurs sont fin prêts

16/06/2025 à 16:10

• 54


France Identité : l’intégration de la carte grise disponible en bêta

16/06/2025 à 14:25

• 99


Grosse panne sur les réseaux mobile et fixe de SFR

16/06/2025 à 13:44

• 54


Un Steam Deck caché dans un clavier Apple pour l'utiliser avec des lunettes AR

16/06/2025 à 13:00

• 13


iOS 26 va faciliter le transfert d’eSIM avec les smartphones Android

16/06/2025 à 12:30

• 5


iOS 26 peut réserver de l’espace de stockage pour les mises à jour automatiques

16/06/2025 à 11:04

• 9


iOS 26 : les pochettes animées sur l’écran de verrouillage fonctionneront sur les services tiers

16/06/2025 à 10:04

• 12


Découverte de Messages dans iOS 26 : sondages, traduction, interface…

15/06/2025 à 10:00

• 38


Sortie de veille : une WWDC 2025 réussie ? Notre débrief d’iOS 26, Liquid Glass…

14/06/2025 à 12:50

• 11


iOS 26 : une nouvelle bêta 1 pour les développeurs

13/06/2025 à 20:45

• 60