Monitorflakern bei 400 fps, Framebuffer zu langsam, AMD Fury

scooter010

Commander Pro
🎂Rätsel-Elite ’16
Registriert
Sep. 2014
Beiträge
2.964
Moin Forum, Rechner siehe Sig.

Ich betreibe meine Fury wieder mit den Stock VBIOS und Stockcklock. Wegen eines anderen Problems, LINK, musste ich die Graka in den 2. PCIe3.0-Slot (8x) stecken. Sollte für LoL ausreichend sein.

Ich hatte vergessen im Crimson die Framerate target control zu aktivieren und dann ingame bis zu 385 fps (lt ingame fps-counter). Monitor läuft natürlich mit 60 Hz. Immer, wenn sich die fps der 400 näherten bzw. ich denke, dass die überschritten wurden (man kann ja den Frameratenverlauf sehen und dann anhand des Bildschirminhalts abschätzen, wie es weiter geht) hatte ich ein Blackscreen für 1,5-5 Sekunden, als würde sich der Monitor neu verbinden. Der ebenfalls angeschlossene zweite Monitor zeigt das Verhalten nicht, der zeigte stoisch den Desktop an. Mein Monitor kann nur 60Hz und wird auch entsprechend angesteuert, ist aber 4k @ 10 bit. Der sekundäre, per HDMI angebunde Monitor ist Full-HD @60Hz@8bit.

Ich kann mir nur vorstellen, dass der Blackscreen daher kommt, dass die interne Busgeschwindigkeit von der GPU zum RAM bzw. Framebuffer nicht schnell genug ist, um 400 fps @ 4k @ 10bit zu übertragen bzw. entsprechend auf 60 Hz zu "skalieren".

Oder gibt es eine andere Erklärung?
 
Zuletzt bearbeitet:
Never touch a running system!Und bei 400FPS schön die Hände auf der Bettdecke lassen!:D

Sorry musste raus!
 
Braucht kein Mensch, ich auch nicht.

Ich hatte vergessen im Crimson die Framerate target control zu aktivieren

Bitte den ganzen Post lesen und konstruktiv antworten oder zumindest konstruktiv spekulieren, oder sich trollen gehen.
Ich will nur wissen, warum der Monitor dann einen Blackscreen macht. Ob das "normal" oder ein (HW-)Fehler bei mir ist.
 
Wunder dich nicht lesen gehört in der heutigen Zeit nicht mehr zu den Stärken!


Hast du schon einmal probiert den zweiten Monitor als Main Monitor zu definieren um zu gucken ob dort das selbe Problem auftritt?
 
Zuletzt bearbeitet:
Nein, habe ich nicht. Will gar nicht wissen, wieviel fps die fury auf full-HD produziert... ich mach mal^^

Also es sind 600 bis 800 fps auf dem Full-HD Monitor als primären Monitor. Jedoch fing nach kurzer Zeit Ingame (LoL, ca. 10 Sekunden) wieder das Flackern an, aber nur auf dem 4k Monitor der ja den Desktop anzeigt, der Full-HD-Monitor mit den 600-800fps hat keine Probleme gemacht.

Zwei Dinge wundern mich:
  1. 4k@10Bit=250-400fps, Full-HD@8bit=600-800fps --- Müssten das nicht über 1k fps sein? Wahrscheinlich begrenzt die CPU... Es ist ein Kern mit 80+ Prozent ausgelastet, der Rest mit 0-30%. Wahrscheinlich also stark Single-Core lastig das Spiel. Dafür spricht auch, dass die Reduzierung aller Einstellungen von "Max" auf "min" keinerlei FPS-Erhöhung brachte. Also CPU oder 8xPCIe3.0
  2. Wieso trotzdem der 4k Monitor flackert, obwohl auf dem Full-HD Monitor die 600-800 fps erzeugt werden. Hier ist es übrigens egal, welche fps grade anliegen, der 4k Monitor blinkt unsteht.

Also bleibt immer noch der Framebuffer... Oder die "Einheit", welche das DP-Signal erzeugt. Oder was total anderes.
 
Zuletzt bearbeitet:
Die Anbindung des Framebuffers ist breit genug. Wenn die begrenzt bricht die Bildrate ein, da es ein sequenzieller Vorgang ist und nicht einfach Frames verworfen werden. Wenn ein Bild gerendert ist wird der Front- und Backbuffer getauscht (queue flip) und erst dann folgt der scanout des Monitorsignals. Das heißt das Bild ist bereits mit vollem Datensatz fertig in den Buffer gewandert. Wenn auf dem "Hinweg" die Bandbreite reichte, dann ebenso auf dem "Rückweg". Phänomene wie du es beschreibst sind meistens eher dem Kabel zuzuschreiben, da bei hoher Auslastung die Signale ggf. gestört werden und die Fehlerkorrektur überfordert wird (LVDS Signal transmitting hat unter 4k afaik eine andere Kodierung - nachgelesen: Kodierung bleibt 8B/10B). An welchem Anschluß hängt besagter Monitor?
Inwiefern der Display-scanout von Monitor A den Monitor B beeinflusst ist mir indes unbekannt, da dies wenig bis gar nicht dokumentiert ist.
Eine weitere Möglichkeit wäre der Treiber als Ursache. Den könntest du ja mal vollständig löschen und einen anderen testen.
Letzte Idee: eine Eigenheit der Grafikengine des Spiels.

Edit: noch als Anmerkung: Auch wenn der Monitor out of sync ist scant dieser ja nicht öfter als 60 mal pro Sekunde aus. Unterschied ist halt nur das mitten im scanout die Bildinformation wechselt. Also kommt man automatisch auf nicht mehr als 25,48 GBit/s. Also bliebe nur noch Fehlinterpretation der Differenzsignale die eventuell zu schnell wechseln und zu falschen Informationen werden (Fehlerkorrektur versucht die Daten richtig zu interpretieren...?). Alles rein spekulativ meinerseits.
 
Zuletzt bearbeitet:
Der Monitor hängt am DP-Anschluss der Graka und ist mit Mini-DP am Monitor angeschlossen. Ich tippe auch auf eine nicht optimale Signalübertragung und somit aufs Kabel. Wenn mann ein wenig am Kabel "wackelt" wird der Monitor auch schon kurz schwarz, sprich der Mini-DP ist sehr empfindlich, daher wird auch im Normalzustand die Signalübertragung nicht optimal sein, vor allem, da Mini-DP im Gegensatz zu DP keine Arretierung besitzt.

Da 4k @ 60Hz @ 10 Bit die maximale Datenrate von DP1.2 zu ~95% ausreizt (konnte den Monitor auf 61Hz übertakten, bei 62 gab es Bildfehler, die ich auch DP schiebe). Wieso ist nur die Fehlerkorrektur überfordert? Läuft die in der GPU? In Witcher 3, DA:I usw. bin ich ebenfalls im GPU-Limit, dort ist alles normal.

Weiterhin hatte ich das noch mit Minimalen Details auf dem Full-HD Monitor getestet. Dort war ich im CPU-Limit, die GPU hatte also genug Rechenzeit... Bei der "erweiterten Anzeige", werden beide Monitore Synchron berechnet (Ein großes Bild und beim Transfer an den jeweiligen Monitor bekommt jeder nur einen Teil) oder unabhängig? Ich hatte aber auch schon das Phänomen, dass wenn ich den Full-HD Monitor im HDMI-Port der Graka stecken habe, kann Handbrake nicht mehr auf Intel QSV zugreifen. Ziehe ich den HDMI-Monitor ab (aus machen reicht nicht) muss ich nur die Anwendung neu starten und es geht...
 
Es handelt sich um unabhängig berechnete Viewports. Deshalb steigt selbst auf dem Desktop die VRAM-Belegung mit zwei Monitoren.
Genau genommen ist es auch keine Fehlerkorrektur, sondern Interpretation der Signale. Wenn diese zu stark rauschen muss die Logik entscheiden ob 0 oder 1.
 
Zu deinem Edit in #7: Wieso stört das nicht den HDMI-Monitor? Ich dachte, der Framebuffer "verblockt" sich während er ausgelesen wird, oder nicht?

Ich habe jetzt nochmal getestet, wenn ich den 4k monitor auf full-hd stelle, dann ist alles gut...
 
Zuletzt bearbeitet:
Wenn du den Bildschirm klonen würdest, greifen beide auf den selben Speicherinhalt zu. Wenn du erweiterst, dann wird eben nur an Monitor 1 oder 2 gesandt (statt 1 und 2). Klon doch einfach mal und schau ob beide flickern. Hast dein 4k Monitor noch einen normalen Displayport?
 
Zurück
Oben