DDrawCompat ist ein DLL-Wrapper, der darauf abzielt, Kompatibilitäts- und Leistungsprobleme für Spiele zu beheben, die auf DirectDraw und Direct3D 1-7 basieren. Unterstützt teilweise auch GDI. Es ist keine API-Konvertierung erforderlich, der Großteil des Renderings wird weiterhin von den nativen DirectDraw/Direct3D 1-7- und GDI-Bibliotheken durchgeführt.
Windows Vista, 7, 8, 10 oder 11
Zusätzliche Anforderungen nur für Windows Vista und 7 :
WDDM-kompatibler Grafiktreiber – die älteren XPDM-Treiber werden nicht mehr unterstützt (seit v0.3.0)
Desktop Composition muss aktiviert sein (insbesondere für Anwendungen im Fenstermodus)
Laden Sie die neueste Binärversion von der Release-Seite herunter (vermeiden Sie Anhänge mit „debug“ im Dateinamen, es sei denn, Sie wissen, was Sie tun). Entpacken Sie die Datei und kopieren Sie die extrahierte ddraw.dll in das Installationsverzeichnis des Zielspiels, neben der Stelle, an der sich die ausführbare Hauptdatei (.exe) befindet.
Wenn dort bereits eine ddraw.dll-Datei vorhanden ist, handelt es sich wahrscheinlich um einen weiteren DirectDraw-Wrapper, der einige Probleme mit dem Spiel beheben soll. Sie können versuchen, es durch ddraw.dll von DDrawCompat zu ersetzen, aber stellen Sie sicher, dass Sie zuerst eine Sicherungskopie der Originaldatei erstellen.
Sobald Sie das Spiel starten, sollte im selben Verzeichnis eine Protokolldatei mit dem Namen DDrawCompatexename.log (oder ddraw.log in Versionen vor v0.3.0) erstellt werden. Wenn keine Protokolldatei erstellt wird, wurde DDrawCompat vom Spiel nicht erkannt (oder die Protokollierung wurde über die Konfiguration deaktiviert) – schauen Sie im Wiki nach möglichen Lösungen.
Löschen Sie die Datei ddraw.dll von DDrawCompat aus dem Verzeichnis des Spiels. Sie können auch alle verbleibenden Protokolldateien (DDrawCompat-*.log oder ddraw.log) löschen.
Ab v0.4.0 wird die Konfiguration über Textdateien und teilweise über ein Overlay im Spiel unterstützt. Weitere Informationen finden Sie im Wiki.
Es wird nur die neueste Version unterstützt. Bitte geben Sie bei der Meldung von Problemen so viele Informationen wie möglich an, insbesondere den Titel der betroffenen Anwendung(en), das GPU-Modell, die Windows-Version und alle Schritte, die zur Reproduktion des Problems erforderlich sind. Wenn möglich, fügen Sie mindestens die Info-Level-Protokolle bei. Sie können alle persönlichen Informationen aus Protokolldateien entfernen (z. B. den Windows-Benutzernamen aus dem Benutzerkonfigurationspfad). Beachten Sie, dass Debug-Protokolle zusätzliche vertrauliche Informationen enthalten können, z. B. von der Anwendung registrierte Tastendrücke oder von ihr angezeigter Text.
Aus verschiedenen Gründen werden die folgenden Fälle nicht unterstützt:
Spiele, die eine Internetverbindung erfordern
Insider-Vorschauversionen von Windows
Ausführen von Windows in einer beliebigen virtualisierten/emulierten Umgebung, z. B. in einer virtuellen Maschine oder über Wine
Ausführen von DDrawCompat in Kombination mit anderen Wrappern/Hooks, einschließlich Overlays oder Videorecordern (Desktop-Bildschirmrecorder sollten funktionieren, wenn die Einstellung „FullscreenMode=borderless“ verwendet wird, vorausgesetzt, sie können mehrschichtige Fenster aufzeichnen)
DDrawCompat wird in C++ mit Microsoft Visual Studio Community 2022 entwickelt.
Zusätzliche Abhängigkeiten:
Windows 10 SDK & DDK (siehe WindowsTargetPlatformVersion in DDrawCompat.vcxproj für die genaue Version)
Git für Windows (optional, erforderlich für die ordnungsgemäße DLL-Versionierung)
Pull-Requests werden nicht akzeptiert. Bitte verwenden Sie „Probleme“, um Fehler zu melden oder neue Funktionen anzufordern.
Der Quellcode ist unter der BSD Zero Clause License lizenziert.
Binärversionen ab Version 0.3.0 unterliegen derselben Lizenz.
Ältere Binärversionen unterliegen der Microsoft Research Shared Source-Lizenzvereinbarung (nur nichtkommerzielle Nutzung). Einzelheiten finden Sie in der Datei „licence.txt“ in den ZIP-Dateien dieser Versionen.