1 votes

Comment débloquer le taux de rafraîchissement de Sierra pour d'autres résolutions inférieures à 4k ?

J'avais un MacBook Pro 2017, utilisant un USB-C vers HDMI qui peut supporter 4K@60Hz.

J'ai couru CoreDisplay pour activer le 60Hz pour la résolution 4K :

enter image description here

Mais la fréquence de rafraîchissement est toujours bloquée à 30 Hz pour les autres résolutions. Existe-t-il un moyen de débloquer 60Hz pour 2560x1440 ?

enter image description here

1voto

user288716 Points 13

HDMI 2.0 4K60Hz pourrait utiliser le sous-échantillonnage chromatique (YCbCr422 10bpc). https://www.rtings.com/tv/learn/chroma-subsampling

Vous pouvez forcer le RGB en remplaçant l'EDID (ce qui vous limite à 8bpc). https://www.mathewinkson.com/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor

La norme DisplayPort 1.2 est préférée car elle dispose d'une bande passante légèrement supérieure et permet d'utiliser le RGB 10bpc sans nécessiter de contournement.

2560x1440@60Hz HiDPI utilise une résolution mise à l'échelle de 5120x2880. Cela signifie que MacOS dessine dans un tampon d'image de 5120x2880 et que la carte graphique met à l'échelle le tampon d'image à la base des résolutions mises à l'échelle qui est de 3840x2160 dans votre cas (SwitchResX peut modifier la base des résolutions mises à l'échelle). Par défaut, les résolutions mises à l'échelle sont créées avec une seule fréquence/temps de rafraîchissement. Je pense que le timing utilisé pour la résolution de base est le dernier timing intégré ayant la même résolution que la résolution de base mise à l'échelle. C'est pourquoi 3840x2160 30Hz est choisi pour le timing.

MacOS 10.14.6 comporte une nouvelle préférence cachée permettant d'activer plusieurs taux de rafraîchissement pour les résolutions mises à l'échelle (y compris les résolutions HiDPI).

sudo defaults write /Library/Preferences/com.apple.CoreDisplay multiRefreshRateScaledModes -bool true

Chaque résolution mise à l'échelle (et sa résolution HiDPI correspondante) aura alors tous les timings que la résolution de base mise à l'échelle a. https://www.tonymacx86.com/threads/adding-using-hidpi-custom-resolutions.133254/post-1999528

Pour les anciennes versions de MacOS, je suppose que vous aurez besoin de code pour créer des résolutions mises à l'échelle avec des timings spécifiques, et des correctifs à CoreDisplay pour les autoriser. Le code pour certaines versions de MacOS (mais pas toutes) qui pourrait faire cela se trouve dans IOGraphicsLib.c à opensource.apple.com.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X