Files
the-beast-roofer-edition/docs/RELEASE-NOTES-v1.2.4.md
T

176 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Release notes v1.2.4 — The Beast Roofer Edition (EN + FR)
_Pour la page de release Gitea. Bilingue (règle du fork). Sans jargon interne._
---
## English
I am shipping this update because I caught a bug I had introduced myself in v1.2.3, the
one that turns the screen green in some games. It could in principle affect any game, so
please take this update even if yours looked fine.
One correction while I am at it: the black block artifacts some of you saw in
motion-blur scenes, the ones I had described as a long-standing emulation defect and worked around by skipping the
motion-blur pass, were caused by that same bug of mine. They were never an old emulator
problem, they were mine. They are gone now, and the motion blur stays on.
### Fixed: green screen in several games
Some games — several Unreal Engine titles among them — rendered their menus and videos
correctly but showed a green (or corrupted) screen the moment 3D gameplay started. The
cause was a real bug in this fork, introduced in v1.2.3: a constant used by the DLSS
system was never delivered to the GPU when DLSS jitter was off, and every 3D shader ended
up reading uninitialized memory. Depending on what the graphics driver had left in that
memory, a game could look perfectly fine, glitch occasionally, or go fully green.
The offending code has been removed: with jitter off — which is how this fork ships — the
vertex shaders are now translated exactly as the base emulator does, so there is nothing
left to corrupt. To be clear about what this is: we broke it, and we undid it.
The same bug also produced black block artifacts in motion-blur scenes on this fork (that
pass expands points into quads; hand it undefined vertex positions and it draws blocks).
Those are gone too, and the motion blur no longer has to be disabled to avoid them.
Verified on the previously-broken games. If a specific title still shows issues, it is a
separate cause — please report it on the community.
**Every v1.2.3 user should take this update**: the bug could in principle touch any
game, even ones that appeared to work.
### New: DLSS Sharpening slider
A **DLSS Sharpening** slider (0100) in Settings → Graphics, right under Frame Generation.
It applies the same contrast-adaptive sharpening used by the FSR filter, directly on the
DLSS output — HDR is handled correctly and it costs almost nothing. 0 = off (the default;
existing setups are unchanged). Around 2540 is subtle; higher is noticeably crisper but
can make halos and shimmer more visible in motion. Applied on the next launch, like the
other DLSS settings.
An experimental `Advanced motion stack` checkbox is also present, **off by default**. It
improves camera tracking: it reads the camera even when a game stores it in an unusual place,
it rejects misleading matrices such as sky or reflections, and it stops mistaking the game's
own sampling jitter for real motion. It removes nothing from the image. It has only been
tested on Xenoblade Chronicles 2, and it can add trembling in motion on other games, so leave
it off unless you want to experiment.
### Requirements
DLSS in all its modes — DLAA, Quality, Balanced and Performance — needs an NVIDIA RTX card,
RTX 20 series or newer. Frame Generation needs an RTX 40 or 50 series. If you do not have an
RTX card, NIS is included in this fork and runs on any GPU, and the green screen fix above
matters to you either way.
The DLSS engine files are not in the package, because they are NVIDIA's proprietary DLLs and I
will not redistribute them. What the package does ship is the `dlss` folder next to the
executable, with NVIDIA's six Streamline files, which are MIT licensed. In that same folder you
add your own, taken from a DLSS game you own: `nvngx_dlss.dll` for upscaling, `nvngx_dlssg.dll`
for Frame Generation, which the NVIDIA driver usually provides already, and `NvLowLatencyVk.dll`
if your driver does not.
### Known issue: Frame Generation still produces ghost images
With Frame Generation enabled, ghost or "temporal" images can still appear — doubled
edges and trails on moving content. **Turning Frame Generation off removes them.** This
is the number one thing being worked on right now: the generated frames are built from
motion vectors we reconstruct, and those describe the camera better than they describe
individual moving objects. If ghosting bothers you more than the extra smoothness helps,
set Frame Generation to Off in the graphics settings.
### Known issue: loading can hang on some games
On some games, loading (or the menu) occasionally stops progressing — the
picture keeps drawing, but the game stops advancing. Closing and reopening the emulator
clears it. We captured this live several times and it is **not solved yet**: the freeze
happens on the game's own side, and it predates the changes in this release. If you hit
it, closing and relaunching is the workaround for now.
---
## Français
J'envoie cette mise à jour parce que j'ai attrapé un bug que j'avais moi-même introduit en
v1.2.3, celui qui rend l'écran vert dans certains jeux. Il pouvait en principe toucher
n'importe quel jeu, alors prenez la mise à jour même si le vôtre semblait correct.
Une correction au passage : les blocs noirs que certains ont vus dans les scènes avec
flou de mouvement, ceux que j'avais décrits comme un vieux défaut d'émulation et que je contournais en désactivant la passe de
flou de mouvement, venaient du même bug — le mien. Ça n'a jamais été un problème ancien de
l'émulateur, c'était moi. Ils sont partis, et le flou de mouvement reste actif.
### Corrigé : écran vert dans plusieurs jeux
Certains jeux — plusieurs titres Unreal Engine notamment — affichaient correctement leurs
menus et vidéos, mais montraient un écran vert (ou corrompu) dès que la 3D commençait.
La cause était un vrai bug de ce fork, introduit en v1.2.3 : une constante du système
DLSS n'était jamais livrée au GPU quand le jitter DLSS était éteint, et tous les shaders
3D lisaient de la mémoire non initialisée. Selon ce que le pilote graphique avait laissé
dans cette mémoire, un jeu pouvait sembler parfait, glitcher par moments, ou devenir
entièrement vert.
Le code fautif a été retiré : avec le jitter éteint — c'est ainsi que ce fork est livré —
les vertex shaders sont désormais traduits exactement comme le fait l'émulateur de base,
il n'y a donc plus rien à corrompre. Pour être clair sur ce que c'est : on l'avait cassé,
on l'a défait.
Le même bug produisait aussi les blocs noirs dans les scènes avec flou de mouvement sur ce
fork (cette passe dilate des points en carrés ; donnez-lui des positions indéfinies, elle
dessine des blocs). Ils disparaissent également, et il n'est plus nécessaire de désactiver
le flou de mouvement pour les éviter. Vérifié sur les jeux qui étaient cassés. Si un titre
précis montre encore des problèmes, c'est une cause distincte — signalez-le sur la
communauté.
**Tous les utilisateurs de la v1.2.3 devraient prendre cette mise à jour** : le bug
pouvait en principe toucher n'importe quel jeu, même ceux qui semblaient fonctionner.
### Nouveau : curseur de netteté DLSS
Un curseur **DLSS Sharpening** (0100) dans Paramètres → Graphismes, juste sous la Frame
Generation. Il applique la même netteté adaptative que le filtre FSR, directement sur la
sortie DLSS — le HDR est géré correctement et le coût est négligeable. 0 = désactivé (le
défaut ; les configurations existantes ne changent pas). Autour de 2540 c'est subtil ;
plus haut, c'est nettement plus croustillant mais les halos et le scintillement en
mouvement deviennent plus visibles. Appliqué au prochain lancement, comme les autres
réglages DLSS.
Une case `Advanced motion stack` expérimentale est également présente, **désactivée par
défaut**. Elle améliore le suivi de la caméra : elle lit la caméra même quand un jeu la range
dans un endroit inhabituel, elle rejette les matrices trompeuses comme le ciel ou les reflets,
et elle ne confond plus le tremblement d'échantillonnage du jeu avec du mouvement réel. Elle ne
retire rien de l'image. Elle n'a été testée que sur Xenoblade Chronicles 2, et elle peut au
contraire ajouter du tremblement en mouvement sur d'autres jeux, alors laissez-la éteinte sauf
si vous voulez expérimenter.
### Prérequis
Le DLSS dans tous ses modes — DLAA, Quality, Balanced et Performance — exige une carte NVIDIA
RTX, série 20 ou plus récente. La Frame Generation exige une RTX série 40 ou 50. Si vous n'avez
pas de carte RTX, le NIS est inclus dans ce fork et fonctionne sur n'importe quel GPU, et de
toute façon le correctif de l'écran vert ci-dessus vous concerne.
Les fichiers du moteur DLSS ne sont pas dans le paquet, parce que ce sont des DLL propriétaires
de NVIDIA et que je ne les redistribue pas. Ce que le paquet contient, c'est le dossier `dlss`
à côté de l'exécutable, avec les six fichiers Streamline de NVIDIA, sous licence MIT. Dans ce
même dossier vous ajoutez les vôtres, pris dans un jeu DLSS que vous possédez :
`nvngx_dlss.dll` pour la mise à l'échelle, `nvngx_dlssg.dll` pour la Frame Generation, que le
pilote NVIDIA fournit généralement déjà, et `NvLowLatencyVk.dll` si votre pilote ne le fournit
pas.
### Limite connue : la Frame Generation produit encore des images fantômes
Avec la Frame Generation activée, des images fantômes ou « temporelles » peuvent encore
apparaître — contours dédoublés et traînées sur ce qui bouge. **Désactiver la Frame
Generation les fait disparaître.** C'est le chantier numéro un en ce moment : les images
générées sont construites à partir de vecteurs de mouvement que nous reconstruisons, et
ceux-ci décrivent mieux la caméra que les objets qui bougent individuellement. Si les
fantômes vous gênent plus que la fluidité supplémentaire ne vous apporte, mettez la Frame
Generation sur Off dans les paramètres graphiques.
### Limite connue : le chargement peut se bloquer sur certains jeux
Sur certains jeux, le chargement (ou le menu) cesse parfois d'avancer — l'image
continue de s'afficher, mais le jeu n'avance plus. Fermer et rouvrir l'émulateur règle le
problème. Nous l'avons capturé en direct à plusieurs reprises et il **n'est pas encore
résolu** : le blocage se produit du côté du jeu lui-même, et il est antérieur aux
changements de cette version. Si ça vous arrive, fermer et relancer reste le contournement
pour l'instant.