Altes Problem: Tearing

  • Hallo,


    gestern habe ich meinen L227WT bekommen mit dem ich auch zufrieden bin. Bis auf eine Kleinigkeit. Ich will versuchen, mein Problem so genau wie möglich zu beschreiben:


    vSync habe ich unter Windows aus gestellt. Ob dadurch wirklich beim Spielen "schnellere" Bewegungen möglich sind, oder nicht, sei mal dahin gestellt ... Fakt ist, dass es mir schneller vorkommt. Bislang bin ich nur das Spielen am CRT-Monitor gewohnt.


    Wenn vSync aus ist, spiele ich in CS 1.6 mit konstanten 100 FPS (die das Spiel über net_graph anzeigt). Die Nebenwirkung ist aber der Tearing Effekt, den ich deutlich spüre.


    Nun kommt das interessante an der Geschichte:
    Wenn ich hingegen Team Fortress 2 spiele, kann ich absolut keine Tearing-Effekte wahrnehmen. Auch hier spiele ich mit konstanten 100 FPS. Beide Spiele ... sowohl CS 1.6 als auch TF2 spiele ich unter 75hz.


    Komisch ist auch, dass ich das Tearing in CS 1.6 nicht so stark wahrnehme, wenn ich beispielsweise im Spectator-Mode (Zuschauermodus) bin. Wenn ich selber spiele schon!


    Mir ist klar, dass Tearing der unvermeidliche Nebeneffekt ist, wenn vSync ausgeschaltet ist. Aber ich verstehe nicht, warum ich diesen Effekt in der Source-Engine nicht wahrnehmen kann, aber in der normalen Half-Life Engine schon, obwohl ich in TF2 beispielsweise die FPS auf 100 begrenzt habe.


    Ein paar Details zu den Spiel-Optionen:
    Auflösung: 1280 x 1024 @ 75hz
    Beide Spiele werden in OpenGL betrieben
    Farbtiefe 23 Bit (ich weiss nicht, ob das eine Rolle spielt)


    Ein paar Fragen hierzu:
    [list=1]
    [*]Hat jemand eine Idee, woran das liegen könnte? Sollte ich CS 1.6 mal in einer niedrigeren Auflösung testen? Und ggf. mal im Direct3D-Mode?
    [*]Tritt Tearing bei unterschiedlichen TFTs unterschidlich stark/schwach auf?
    [*]Was kann ich tun, um den Tearing-Effekt zu minimieren, ohne dabei vSync anschalten zu müssen (ist das überhaupt möglich?)
    [*]Liegt dieser Effekt am Monitor? Liegt es an mir, weil ich evtl. durch den CRT Monitor verwöhnt bin? Liegt es am System (am Ende habe ich meine Hardware aufgeführt)?
    [/list=1]


    Ich hoffe, ich habe das Problem auf den Punkt gebracht und wäre sehr dankbar, wenn ihr mir helfen könntet.


    So, hier noch meine Hardware:


    CPU: Core 2 Duo E6700 @ 2,6 GHz
    Mainboard: ASUS Striker Extreme (nForce 580i SLI)
    Grafikkarte: ASUS EN8800GTX (NVIDIA GeForce 8800 GTX)
    Arbeitsspeicher: Kingston HyperX DDR2-800 4 GB @ 4-4-4-12
    System-Festplatte: Western-Digital Raptor 74 GB 10.000 U/min 4,2ms 16MB Cache
    Spiele-Fesstplatte (im RAID0): 2x Western-Digital WD2500... 250 GB 7200 U/min 8,9ms 16MB Cache


    Gruß,
    fs-86

    2 Mal editiert, zuletzt von fs-86 ()

  • Schalte VSync an und Prerender Frames auf 1 oder 0. Und geh runter auf 60HZ.


    Frameraten von Half-Life Engine kannst du nicht mit der Source Engine vergleichen, du hast in der Half-Life Engine auf jeden Fall viel höhere Frameraten einfach weil die Engine viel älter und weniger anspruchsvoll ist. Da bekommst du selbst mit einer uralten Geforce-Generation noch über 100FPS. Und ob du ohne VSync Tearing bekommst oder nicht bzw. ob es dir auffällt oder nicht, ist reine Glückssache. Vielleicht geht es mit einem ganz anderen FPS-Limit weg, da kannst du sehr lange herumexperimentieren, oder einfach VSync anschalten für ein perfektes garantiert tearningfreies Bild.

  • Zitat

    Original von frostschutz
    Schalte VSync an und Prerender Frames auf 1 oder 0. Und geh runter auf 60HZ.


    Frameraten von Half-Life Engine kannst du nicht mit der Source Engine vergleichen, du hast in der Half-Life Engine auf jeden Fall viel höhere Frameraten einfach weil die Engine viel älter und weniger anspruchsvoll ist. Da bekommst du selbst mit einer uralten Geforce-Generation noch über 100FPS. Und ob du ohne VSync Tearing bekommst oder nicht bzw. ob es dir auffällt oder nicht, ist reine Glückssache. Vielleicht geht es mit einem ganz anderen FPS-Limit weg, da kannst du sehr lange herumexperimentieren, oder einfach VSync anschalten für ein perfektes garantiert tearningfreies Bild.



    Danke für deine Antwort. Also wenn ich dich richtig verstanen habe, liegt das nicht am Monitor selber? Und wie würde das mit "Prerender Frames" funktionieren (wo kann ich diese Option finden)?


    Des Weiteren habe ich gelesen, dass man den Tearing Effekt mit Triplebuffering reduzieren kann. Ich weiss, dass die Half-Life Engine soetwas nicht bietet, allerdings kann man Triplebuffering ja meistens schon im Grafiktreiber selber einstellen.

  • Prerender Frames ist eine Einstellung im NVIDIA-Treiber. Je höher der Wert desto mehr Frames werden im Voraus berechnet (und desto mehr Delay bekommst du deswegen in der Grafikausgabe). Triple Buffering kannst du entweder im Treiber einstellen - aber viele Anwendungen funktionieren mit Triple Buffer einfach nicht - oder du kannst es mit dxoverrider oder wie es heisst, applikationsspezifisch forcieren. Evtl. geht das applikationsspezifische mittlerweile auch schon mit dem NVIDIA-Treiber direkt. Kannst du ja mal ausprobieren.


    Gegen Tearing hilft es allerdings nicht, es könnte allerdings bei VSync gegen FPS-Einbrüche etwas helfen unter Umständen.

  • Zitat

    Original von frostschutz
    Prerender Frames ist eine Einstellung im NVIDIA-Treiber. Je höher der Wert desto mehr Frames werden im Voraus berechnet (und desto mehr Delay bekommst du deswegen in der Grafikausgabe). Triple Buffering kannst du entweder im Treiber einstellen - aber viele Anwendungen funktionieren mit Triple Buffer einfach nicht - oder du kannst es mit dxoverrider oder wie es heisst, applikationsspezifisch forcieren. Evtl. geht das applikationsspezifische mittlerweile auch schon mit dem NVIDIA-Treiber direkt. Kannst du ja mal ausprobieren.


    Gegen Tearing hilft es allerdings nicht, es könnte allerdings bei VSync gegen FPS-Einbrüche etwas helfen unter Umständen.


    Ok danke. Das hat mir schonmal sehr geholfen. Werde ich nachher mal ausprobieren. Allerdings beschäftigt mich die Frage immernoch, ob der Grund für den Tearing-Effekt einfach der Monitor selber ist (Tearing evtl. bei anderen nicht vorhanden?) oder einfach generell auf die Technik der TFTs zurückzuführen ist.