- Le patch Halo 2 HD pour la Xbox originale est un projet combinant modification de l’exécutable, modding matériel de la console et création d’outils de benchmark pour tenter un rendu en 720p et 1080p au-delà du 480p
- Le Halo 2 d’origine, malgré son affichage annoncé en 480p, dessinait en interne dans un back buffer 640×480 avant que le GPU ne fasse un upscale vers 720×480 ; pour prendre en charge la HD, il fallait donc modifier à la fois les buffers D3D et la gestion des modes vidéo
- L’exécution en 720p dépassait les capacités des 64 Mo de RAM de base, ce qui a nécessité une mise à niveau à 128 Mo de RAM et un hot patch du kernel afin de contourner la limite empêchant l’allocation de mémoire physique contiguë pour le GPU dans les 64 Mo supérieurs
- Les performances ont été améliorées via le triple buffering, le tuilage du render target texaccum et un overclock du GPU de 233,33 MHz à 300 MHz ; la scène de benchmark Zanzibar passe ainsi d’environ 19 FPS à 27–28 FPS
- La RAM supplémentaire a aussi servi à agrandir les caches de textures et de géométrie et à améliorer les débits HDD ; le patch final rend le 720p réellement utilisable, tandis que le 1080p reste surtout un bonus pour les captures d’écran
Objectif du projet et prérequis matériels
- L’objectif était d’ajouter la prise en charge des résolutions HD à la version originale Xbox de Halo 2 et de voir jusqu’où un matériel de console modifié pouvait tenir
- Le périmètre du travail comprenait le patch du jeu, les modifications matérielles de la console Xbox et l’écriture d’outils personnalisés pour les benchmarks de performances
- La Xbox modifiée servant de base au projet était surnommée la « god box » et incluait les changements suivants
- Remplacement du CPU Pentium 3 733 MHz d’origine par une variante de Pentium 3 à 1,4 GHz via une carte interposeur personnalisée
- Possibilité d’overclocker le CPU jusqu’à environ 2 GHz
- Ajout de RAM et utilisation d’un SSD
- Utilisation d’un kernel ou d’une image BIOS personnalisés pour prendre en charge les modifications matérielles
- La résolution vidéo maximale prise en charge par Halo 2 était le 480p, et l’objectif était d’ajouter le 720p et, si possible, le 1080i
- Monter en résolution augmente la charge GPU en raison du volume supplémentaire de calculs en pixel shader, ce qui a conduit à considérer que le travail n’avait d’intérêt que si un overclock GPU était possible
- Un overclock GPU d’environ 15 % a ensuite été rendu possible et la console « GENESIS-3 » a été préparée pour le développement
Le 480p de Halo 2 et sa structure de rendu interne
- Halo 2 est vendu comme compatible 480p, mais
D3DPRESENTFLAG_PROGRESSIVEn’était pas défini dans les paramètres de présentation D3D, et l’échelle de taille d’écran restait toujours à1.0f - Les
screen_boundsinternes étaient définis sur 640×480 quel que soit le mode vidéo- Sur la Xbox originale, le 480p est traité comme du 720×480
- Halo 2 rendait dans un back buffer 640×480, puis le GPU faisait un upscale vers 720×480 avant l’envoi à l’encodeur vidéo
- En mode widescreen, le jeu utilisait une caméra anamorphique 1,33:1 pour compresser une image plus large dans cette même surface 640×480
- Cette approche visait peut-être à compenser la compression horizontale via le mode stretch du téléviseur
- Le patch ajoute aussi une option pour désactiver le scaling anamorphique
Patch D3D pour le rendu HD
- Pour la prise en charge des résolutions, trois fonctions ont été les principales cibles des modifications
_rasterizer_detect_video_mode: modifiée pour activer aussi le progressive scan en 720p_rasterizer_init_screen_bounds: configuration des dimensions 640×480, 720×480, 1280×720 et 1920×1080 selon le mode vidéorasterizer_device_initialize: configuration du back buffer D3D et des flags de présentation
- En mode 1080i, le patch vérifie si la largeur de l’écran est de 1920, retire alors
D3DPRESENTFLAG_PROGRESSIVEet activeD3DPRESENTFLAG_INTERLACED - Après les premières modifications, le filtre bleu du menu principal disparaissait et des bandes répétitives ainsi que du clipping sur la géométrie de l’eau apparaissaient
- Une partie des problèmes venait de vues 640×480 codées en dur pour les back/front/depth buffers
- Des vues de texture/surface de largeurs différentes se retrouvaient à pointer vers la même mémoire, ce qui décalait la disposition des scan lines
Mémoire D3D et reconfiguration des render targets
- La Xbox originale utilise une architecture mémoire unifiée, avec CPU et GPU partageant la même RAM
- Contrairement à un PC, il n’y a pas de VRAM séparée avec des allocations D3D gérées côté GPU
- Le CPU peut allouer la mémoire des textures, render targets et vertex buffers puis transmettre directement leurs adresses au GPU
- Halo 2 utilise environ 25 render targets, mais seulement 4 à 5 allocations de buffers réellement distinctes
- Plusieurs render targets partagent la même mémoire via des vues de ressources différentes afin d’économiser de la RAM
rasterizer_primary_targets_initializecréait des render targets et vues de texture supplémentaires à partir des back/front/depth buffers fournis par D3D, avec une taille 640×480 codée en dur- Le patch encapsule cette fonction avec un hook et, après exécution de la fonction d’origine, ajuste les tailles de texture/surface à la résolution réelle du back buffer
- Le pitch de la mémoire tuilée peut différer du classique
width * bpp, d’où l’usage deD3D_CalcTilePitch - Un pitch incorrect peut produire des effets de bandes, surtout en 1080i
- Le pitch de la mémoire tuilée peut différer du classique
Correction de la taille du render target texaccum
- Le clipping de la géométrie de l’eau dans le menu principal venait du fait que le render target texaccum restait figé en 640×480
- L’implémentation Xbox de DirectX n’autorise que 4 échantillonnages de textures par passe de pixel shader
- Les objets nécessitant plus de 4 textures d’entrée doivent être rendus en plusieurs passes
- La couche texaccum compose d’abord les textures de détail avant de les utiliser comme entrée dans la passe de lightmap
rasterizer_targets_initializeallouait le render target texaccum en 640×480- Le patch ajoute un hook autour de
_rasterizer_alloc_and_create_render_targetpour remplacer largeur et hauteur du target texaccum quandtarget_index == 1par celles du back buffer courant - Après ce changement, le clipping de l’eau a disparu et aucun problème de rendu majeur n’était visible au chargement des maps
- Le problème du filtre bleu a été résolu par une simple mise à jour d’un test de taille, sans détail supplémentaire
Les limites mémoire qui bloquaient le 720p
- En 720p, le jeu plantait au démarrage à cause d’un manque de mémoire lié à l’augmentation de taille des front/back/depth buffers et des rasterizer targets
- La Xbox originale existait en version grand public avec 64 Mo de RAM et en dev kit/debug console avec 128 Mo
- Les emplacements des puces RAM supplémentaires existent aussi sur les cartes retail
- En soudant les puces et en utilisant un kernel modifié, il est possible d’accéder aux 64 Mo additionnels
- Une mise à niveau à 128 Mo de RAM était nécessaire pour exécuter le jeu en 720p ou plus
- Même pour faire tourner correctement le 480p sans upgrade RAM, il fallait récupérer de la mémoire sur le cache de textures en mémoire du jeu, ce qui augmentait le pop-in des textures
Patch du gestionnaire mémoire de Halo 2
- Au démarrage, Halo 2 alloue environ 48,9 Mo des 64 Mo disponibles en une seule grande zone de données d’exécution
- Cette zone est ensuite répartie entre les métadonnées de niveau, textures, géométrie, animations, cache audio, rasterizer targets, ressources réseau/simulation, etc.
- Pour visualiser l’usage mémoire, XboxImageGrabber a été créé
- Il parcourt les entrées de la table des pages pour visualiser l’état d’utilisation de la RAM sous forme de bitmap
- La zone de données d’exécution est allouée à l’adresse codée en dur
0x80061000- Les tag data des fichiers map sont sérialisées relativement à cette adresse de base, ce qui impose qu’elles restent à un emplacement fixe
- Les autres données d’exécution peuvent être déplacées
- Les zones choisies pour être déplacées étaient les rasterizer targets, le texture cache et le geometry cache
- Certaines allocations ont été interceptées par hook afin de les déplacer vers la debug memory region
- Des appels
freeappropriés ont été ajoutés au moment de la libération, par exemple lors du chargement d’un nouveau niveau - La taille de la zone de données d’exécution a aussi été réduite pour limiter le gaspillage
physical_memory_mallocayant été inliné par le compilateur, chaque site d’appel a nécessité un patch séparé
Hot patch du kernel Xbox et mémoire physique supérieure à 64 Mo
- Les adresses mémoire passées au GPU doivent être des adresses physiques, et la plage concernée doit être contiguë
- Le GPU n’a aucune notion de table des pages ni de traduction d’adresses virtuelles
- Même avec un kernel 128 Mo, les allocations physiques contiguës restaient par défaut limitées aux 64 premiers Mo, alors que les allocations virtuelles pouvaient couvrir les 128 Mo entiers
- Des tests exploitant manuellement les entrées de table des pages des 64 Mo supérieurs comme mémoire GPU ont réussi
- La contrainte empêchant l’usage de mémoire physique GPU dans les 64 Mo supérieurs venait donc du kernel, pas du matériel
- À l’intérieur de
MmAllocateContiguousMemoryEx, il existait un testMAX_USABLE_PFN- La valeur d’origine était
0x83FE0000, soit 64 Mo - 128 Ko - Les 128 Ko supérieurs sont réservés à une scratch area GPU de 64 Ko et à 64 Ko pour la table des pages CPU
- La valeur d’origine était
- Le patch vérifie au boot du jeu si la console dispose de 128 Mo de RAM, puis repère dans
MmAllocateContiguousMemoryExl’instructionmov edx, 0x3FDFpour la remplacer par une nouvelle valeur adaptée à la configuration 128 Mo - Ensuite,
MmAllocateContiguousMemoryExetMmFreeContiguousMemorysont utilisés pour allouer et libérer de la mémoire physique contiguë sur l’ensemble des 128 Mo - Cela a toutefois introduit des effets secondaires
- Après avoir quitté le jeu, un retour au dashboard ou une éjection du tiroir DVD sans cold reboot pouvait provoquer de sévères artefacts graphiques et des crashs dans l’application ou le jeu suivant
- Un patch supplémentaire a donc été ajouté pour forcer un cold reboot à la fermeture du jeu afin de masquer le problème
Résultats du rendu 720p/1080p et goulots d’étranglement
- Le rendu en 720p améliorait visiblement l’image, mais les performances restaient faibles, avec des scènes lourdes tombant sous les 10 FPS
- Le 1080p pouvait être rendu nativement, mais la sortie console Xbox ne prend en charge qu’un signal 1080i
- En dumpant directement le back buffer D3D, il était possible d’obtenir des captures 1080p avant conversion par le GPU en half frame pour l’encodeur vidéo
- Les mesures de performances comparaient trois configurations : Xbox de base, god box avec CPU overclocké seulement, et god box avec CPU + GPU overclockés
- Un point particulièrement lourd de Zanzibar a servi de « zanzibar benchmark scene »
- Lors des premières mesures, les trois configurations affichaient presque le même FPS, et les graphes de performance ont révélé que la cause était le swap stall
- Halo 2 utilise la vsync activée et le double buffering
- Le GPU se retrouvait bloqué en attente du vblank, incapable de faire tourner correctement la swap chain
Triple buffering et confirmation du goulot d’étranglement GPU
- La solution a consisté à passer le nombre de back buffers à 2 afin d’utiliser un triple buffering avec 1 front buffer et 2 back buffers, soit 3 buffers au total
- Dans
D3DPRESENT_PARAMETERS, les paramètresBackBufferCount = 2,D3DSWAPEFFECT_DISCARDetD3DPRESENT_INTERVAL_ONEont été définis - Le moteur de rendu de Halo 2 échangeait à chaque frame les pointeurs back/front buffer sur l’hypothèse du double buffering ; il a donc aussi fallu modifier le hook de swap et celui d’initialisation des primary targets
- Les deux primary render surfaces et les vues de texture ont été changées pour toujours référencer le back buffer courant
- Même si le jeu échange toujours ses deux pointeurs en interne, ils pointent vers la même mémoire, ce qui rend l’opération effectivement neutre
- Dans la scène de benchmark Zanzibar, le FPS atteignait alors environ 22 FPS avec le GPU de base
- Soit environ 3 FPS de plus qu’auparavant
- Environ 10 % d’augmentation par rapport au cap de 30 FPS
- La disparition du swap stall et l’utilisation GPU maximale ont confirmé que le goulot d’étranglement était bien le GPU
Overclock du GPU et de la RAM
- Le passage du render target texaccum en mémoire tuilée a apporté 1 à 2 FPS supplémentaires
- La scène de benchmark Zanzibar est ainsi passée d’environ 19 FPS à 23–24 FPS
- Avec le GPU overclocké de la god box, la scène de benchmark Zanzibar atteignait 27–28 FPS
- En se déplaçant dans la map, le jeu tenait généralement 30 FPS, avec des chutes seulement dans certaines zones lourdes
- Pour éviter de devoir reflasher le BIOS, le registre memory-mapped IO du générateur d’horloge GPU était modifié directement au lancement du jeu
- Le calcul de la fréquence GPU se fonde sur les valeurs M, N et P de
NVPLL_COEFFainsi que sur une horloge de base à 16,6667 MHz- La valeur N par défaut, 28, produit une fréquence GPU de 233,33 MHz
- L’ajustement de N permet des réglages par pas d’environ 8 MHz, configurables via un fichier ini
- L’overclock GPU à 300 MHz apportait environ 3 FPS de plus sur le benchmark Zanzibar par rapport au GPU d’origine
- La marge d’overclock variait selon les GPU
- Les GPU des consoles révision 1.0 à 1.4 semblent souvent atteindre leur limite dans le bas de la plage des 300 MHz
- Des GPU de consoles révision 1.6 ont été observés stables au-delà de 400 MHz
- La fréquence RAM a aussi été testée
- Le débit théorique maximal du bus mémoire Xbox est de 6,4 Go/s, avec un débit exploitable estimé à environ 70 %, soit 4,5 Go/s
- La RAM tourne à l’origine près de 200 MHz, et une hausse d’environ 10 MHz peut déjà suffire à provoquer de l’instabilité
- Un test à environ 208 MHz a montré un gain de 0,7 FPS
- Des puces RAM capables de 250 MHz ont aussi été commandées, mais n’avaient pas encore été installées ni testées au moment de la rédaction
Réduction du pop-in et extension des caches
- Halo 2 souffrait déjà à l’origine de problèmes de pop-in des textures et de la géométrie, encore plus visibles sur une console du début des années 2000 avec disque dur mécanique
- La RAM supplémentaire a été utilisée pour agrandir le texture cache et le geometry cache
- Le geometry cache par défaut est de 6,5 Mo sur les maps solo et 7 Mo sur les maps multijoueur
- Le texture cache varie selon la taille de la map et utilise l’espace libre après les tag data et avant le low detail texture cache
- Les caches fonctionnent selon une politique LRU
- Toutes les 30 frames, les données non utilisées au cours des 30 dernières frames sont supprimées
- Si le cache est plein, l’appelant peut forcer une eviction, ou bien la requête de chargement échoue et sera retentée à la frame suivante
- Les textures peuvent disposer de buffers low/medium/high LOD
- Si le chargement du high LOD échoue, le jeu tente le medium ou le low LOD
- Un LOD plus bas peut donc apparaître en premier avant d’être remplacé ensuite par un LOD plus élevé, provoquant du pop-in
- Les maps incluent aussi un emergency low detail texture cache, de taille 2×2 jusqu’à 8×8
- Il sert à afficher temporairement les modèles à l’écran même si le chargement normal des textures échoue
- Le phénomène où le terrain apparaissait en textures ultra basse résolution après ouverture puis fermeture du menu Xbox Live Friends était lié à l’usage de ce cache
- Les fonctions de visualisation graphique du build debug de Bungie ont été recréées pour observer directement l’utilisation des caches et ajuster leur taille
- La configuration finale a porté le geometry cache à 20 Mo et fixé le texture cache à 30 Mo
- Les deux caches atteignent presque le double des valeurs par défaut
- Dans la cinématique d’ouverture d’Outskirts, Master Chief apparaît immédiatement avec des textures haute résolution tout en laissant encore de la marge dans le cache
- Pour réduire davantage le pop-in, la vitesse de transfert du HDD a aussi été augmentée
- L’UDMA 2 d’origine atteint environ 33,3 Mo/s
- L’UDMA 3 monte à environ 44,4 Mo/s
- Avec un câble IDE 80 broches, l’UDMA 5 peut être réglé jusqu’à environ 100 Mo/s
- Cela représente environ 10 % de gain avec le câble IDE d’origine, et jusqu’à 300 % en théorie avec un câble IDE amélioré
- Le profil mémoire final en 720p exploite plus de 75 % des 128 Mo de RAM
- En mode 1080p, la swap chain et les rasterizer targets consomment tellement de mémoire qu’il faut réduire la taille des caches, ce qui mobilise en pratique presque toute la RAM disponible
Résultat
- Dans l’ensemble, le patch 720p a été amélioré jusqu’à devenir jouable, tandis que la prise en charge du 1080p reste surtout un bonus orienté captures d’écran
- Il reste encore une marge d’amélioration côté performances et modifications mémoire, mais le résultat pousse déjà très loin les limites de Halo 2 et de la console Xbox
- Le téléchargement du patch Halo 2 HD et le code source sont disponibles sur GitHub
1 commentaires
Avis de Hacker News
Lien vers la vidéo en bas de l’article : https://www.youtube.com/watch?v=O_nk21389u8
La vidéo contient une comparaison côte à côte entre l’upscale de l’original en 480p et le 720p, et explique à partir d’environ 7 minutes ce qu’il faut pour obtenir du 720p tout en conservant un gameplay à environ 30 fps
L’article est excellent, mais la vidéo qui résume les changements nécessaires pour une résolution plus élevée l’est aussi
Si l’on dit que le 720×480 n’est pas une résolution 16:9, ou que ce n’est pas du « vrai 480p », il faut en réalité s’en prendre à la normalisation ITU des années 1970 : https://tech.ebu.ch/docs/techreview/trev_304-rec601_wood.pdf
Une note de février 1980 indiquait que, pour couvrir toutes les durées de ligne active des standards européens, le nombre d’échantillons par ligne active devait être supérieur à 715,5 ; par la suite, les 720 échantillons utilisés dans Rec. 601 et SMPTE 125 se sont imposés comme la première valeur qui « fonctionnait »
Rec. 601 fournissait 720 échantillons par ligne active pour le canal de luminance, et 360 échantillons pour chacun des signaux de chrominance ; lors de la définition de la HDTV, on a doublé la résolution horizontale de ce système TV existant et appliqué un format 16:9, ce qui a mené à 1920 échantillons/ligne et 1080 lignes
Le système à balayage progressif 1280×720 appartient lui aussi à cette même famille des 720 pixels, et la plupart des systèmes de TV numérique, DVD et MPEG dérivent de ce format standard de base en 4:2:2
L’« esprit hacker » lui-même est tout à fait légitime, mais je me demande s’il y a une raison particulière de jouer ainsi à Halo 2 plutôt que sur la version PC, au point d’ajouter de la mémoire à la console et d’overclocker le GPU
Il existe beaucoup de vidéos qui détaillent ses défauts à plusieurs niveaux
https://youtu.be/03K2Uz3s1hg?si=zaFO1XdzMcFvI1F6
C’est comme prouver que c’est tout à fait possible, voire mieux
C’est peut-être presque un blocage psychologique, mais dans l’ensemble c’est léger et amusant, un peu comme le versant opposé de l’obsession qui consiste à acheter avant tout le monde le dernier modèle d’un appareil populaire
Les deux procurent une forme de sentiment de supériorité
Aujourd’hui encore, on peut jouer à Halo 2 dans des lobbies en ligne ou en campagne, avec au choix les graphismes d’origine de 343 ou les graphismes HD remasterisés
Dans le texte, il est dit : « Le système de données par tags a été conçu pour être aussi flexible et rapide que possible, et son fonctionnement interne est remarquable sur le plan de l’ingénierie. Je pourrais écrire un article entier rien que pour expliquer pourquoi je pense que le moteur Blam est l’un des moteurs les plus flexibles, mais ce n’est pas le sujet ici » ; si cet article est effectivement écrit un jour, j’aimerais vraiment le lire
J’étais trop débutant pour réussir à suivre son fonctionnement, et c’était si dynamique que je ne comprenais pas fondamentalement comment une telle structure pouvait être possible
Je ne comprenais pas comment la position du joueur pouvait se trouver dans le même contexte qu’une arme dotée de paramètres, ni comment les effets pouvaient même figurer dans la même liste
Beaucoup des choses qui m’intéressent aujourd’hui continuent finalement de tourner autour de ces concepts
J’aimerais que l’époque du modding Xbox et Halo 2 revienne aujourd’hui
Cette période a beaucoup influencé mon choix de carrière, et je crois toujours que Halo 2 reste le jeu en ligne le plus innovant de tous les temps
À l’époque, il suffisait d’acheter un simple outil pour charger des sauvegardes de jeu afin de softmoder une Xbox en quelques minutes, alors qu’aujourd’hui les consoles déclenchent des e-fuses, empêchent les downgrades et disposent de bien plus de renforcements de sécurité
Avec le projet d’Insignia qui commence à prendre en charge Halo 2, c’est vraiment une très bonne période pour le Halo 2 classique
L’une des raisons pour lesquelles je suis devenu ingénieur logiciel aujourd’hui, c’est qu’il était facile de regarder comment fonctionnait une page web, de manipuler la mémoire d’un programme et d’ouvrir du matériel pour voir ce qu’il y avait dedans
À l’époque de Halo PC, modder des niveaux m’a beaucoup appris sur ce qui entre dans un jeu, et savoir ce qu’est un « BSP » est peut-être une connaissance inutile, mais cela m’a donné la confiance de pouvoir comprendre davantage de choses
On peut encore entrer dans la tech et apprendre aujourd’hui, mais il est difficile de voir le même chemin par le vrai bidouillage
Les logiciels sont devenus beaucoup plus difficiles à cracker ou à déboguer ; ce n’est pas impossible, mais la barrière à l’entrée est bien plus haute
On peut toujours inspecter les pages web, mais beaucoup de sites actuels sont devenus des tas de div servant à soutenir des monstres de JavaScript minifié et obfusqué, et les jeux dépendent de plus en plus du streaming de contenu depuis les serveurs, ce qui rend souvent la chose tout bonnement difficile
Côté matériel aussi, il faut composer avec des procédures de sécurité qui peuvent briquer les appareils, des décapeurs thermiques pour ouvrir des bordures collées et le risque de dommages permanents
Il y avait sans doute des raisons à chacun de ces changements, mais au passage, une grande partie du plaisir a disparu, et même si les outils d’aujourd’hui sont techniquement meilleurs, le modding de jeux n’est plus comme avant
Aujourd’hui encore, on peut très bien bidouiller sur des PC ou des consoles basées sur PC comme le Steam Deck, et je ne vois pas vraiment pourquoi il faudrait se battre avec des consoles propriétaires conçues pour être verrouillées
À part obtenir l’accès à du matériel x86 custom achetable à bas prix sur le marché, ce qu’on y gagne n’est pas très clair
Des FPS en ligne compétitifs dotés de fortes communautés de modding étaient déjà très actifs sur PC depuis plus de dix ans
Il existe une communauté active grâce à Project Cartographer : https://halo2.online/home/
Cette personne semble plus dévouée à Halo 2 que Bungie ne l’est aujourd’hui envers sa propre IP
L’IP appartient à Microsoft et le développement est assuré par 343 Industries
Bungie a maintenant Destiny/Destiny 2 et le prochain extraction shooter Marathon
J’ai passé énormément de temps sur ce jeu, et ça fait plaisir de voir que quelqu’un d’autre est tombé sous le même charme que moi
Cela dit, un tel niveau de dévouement force le respect
Cela peut sembler excessivement cynique, mais le projet en lui-même est vraiment génial
Cela dit, je me demande si, après avoir remplacé et overclocké le CPU, augmenté la RAM, ajouté du stockage à état solide et même overclocké le GPU, on peut encore dire qu’on pousse la Xbox d’origine dans ses derniers retranchements
À ce stade, ce n’est pratiquement plus une Xbox
Quand on parle de pousser une Honda Civic dans ses retranchements après avoir fortement modifié son moteur et sa suspension, demander « mais est-ce encore vraiment une Civic ? » peut être techniquement juste, mais sonner comme du pinaillage
L’auteur a le droit de choisir le titre qu’il veut, et on peut le lire mentalement comme « modder une OG Xbox jusqu’au bord de la mort »
Halo 2 pouvant tourner en plus haute résolution sur 360, il est utile de préciser qu’il s’agit d’un projet de modding ciblant la Xbox d’origine
Il ne s’agit pas littéralement de parler d’une Xbox non modifiée, mais de dire que la cible du modding était bien la Xbox d’origine
Il est aussi indiqué que sur une console avec le câble IDE de base, le débit augmente de 10 %, et qu’avec un câble IDE amélioré, il pourrait théoriquement augmenter jusqu’à 300 %
Avec 128 Mo de RAM, on peut exploiter la RAM supplémentaire pour activer les modes vidéo 720p et 1080i, et augmenter les caches mémoire des textures et de la géométrie afin de presque éliminer le pop-in
Si l’on veut seulement du 480p, il suffit d’overclocker le GPU sur une console d’origine et d’utiliser un autre câble IDE
La formulation autour du SSD semble avoir involontairement prêté à confusion, et elle voulait peut-être parler d’une combinaison câble 80 fils + SSD
Un CPU overclocké n’est pas nécessaire et le CPU n’est pas non plus le goulot d’étranglement ; la RAM supplémentaire n’est nécessaire que si l’on veut du 720p ou plus
Ce retour a été transmis, donc le billet de blog sera peut-être mis à jour pour clarifier ce point
C’est le cas de la scène rétro-informatique, et le tuning automobile est similaire
Certains veulent une Corvette parfaite dans son état de sortie d’usine, d’autres veulent une Model A avec un moteur de 50 ans plus récent
C’est cool de tordre à sa volonté un objet familier et bien connu
La quantité de travail est énorme
C’est aussi intéressant que mon ami « doom » n’ait pas voulu révéler son identité