PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm für Game Profile


Tom Servo
2003-06-16, 23:20:18
Hi,

hier (http://home.tiscalinet.de/bertw/proj/tdprof/3dprof_de.html) gibts ein Programm, welches in erster Linie ein komfortabler Programm-Starter sein soll und weniger ein umfangreicher Tuner.

Es geht um einfaches Starten von Spielen z.B. mit vorherigem Mounten eines CD-Images. Die Profile sollen möglichst auf einem Blick erkennbar sein.

Von Hause aus werden GeForce und Radeon Karten unterstützt. Ein Anpassen an neue Grafikkarten oder Treiber ist per Ändern einer Konfig-Datei möglich. Unter den Extra-Tabs für OpenGL und Direct3D sind zahlreiche unsichtbare Comboboxen denen man mit wenigen Text-Zeilen in der Konfigdatei Funktion zuweisen kann.

http://home.tiscalinet.de/bertw/proj/tdprof/img/de/tdprof_shot.png

Weitere Programmeigenschaften:

* Takteinstellung per Profil für Radeon und GeForce bis 4Ti (W2K/XP only)
* Autonome Dekstop Verknüpfungen zum Starten von Profilen.
* Profile können aus dem Tray-Icon gestartet werden
* Registry Editor öffnen mit Sprung zum Video Driver Key
* Editieren der INI Datei eines Spiels mit merken des Dateinamens.
* Öffnen des Windows Explorers im Game Folder
* Registry-Diff Tool zum Auflisten von Änderungen im Video Driver Key zum beobachten von Änderungen durch Control Panel oder Tweaker

Open Source Programm hauptsächlich C# mit kleineren Hilfsprogrammen in C/C++.

Tom Servo
2003-06-20, 16:44:22
Das Programm ist inzwischen benutzbar (unter WinXP). Man kann nun z.B. Verknüpfungen wie tdprof -reg_writes -run "Gothic 2" anlegen und das Profil damit ohne Umwege starten. Es wird dann nicht erst die GUI von tdprof erzeugt.

Ich werde das Erzeugen der Explorer-Verknüpfungen noch automatisieren (Kommandozeile und Icon-Bild), wenn möglich.

Leider hat das Programm noch das Problem, üerberhaupt erst einmal den richtigen Key in der Registry zu finden. Also der Key, wo die Treibereinstellungen zu finden sind (Driver Key?).
Es funktioniert zwar auf meinen beiden XP Installationen aber ich bin mir sicher, dass es auf vielen Systemen nicht läuft.

Momentan ist mir noch nicht bekannt, wie man den Treiber Key unter Windows systemkonform ermittelt. Habe mich vor einiger Zeit mal einen halben Tag ohne Erfolg mit SetupAPI herumgeschlagen, aber scheinbar ist diese API dafür gar nicht gedacht. Was man aber auch erst merkt wenn man dieses Machwerk halbwegs verstanden hat.

Man kann zur Not einen Key selber über die Kommandozeile vorgeben.


Zur Zeit wird der Key noch auf folgende Weise ermittelt, würde mich über einen Pointer auf die richtige Methode freuen.

f()
{
// get driver key for one of Windows 4 and 5 version
if (file_name.IndexOf("win5") != -1) //TODO
{
try
{
//Wrong?: Take data from value @"\Device\Video0"
// in key @"hardware\devicemap\video" as driver key
driver_regkey
= Microsoft.Win32.Registry.LocalMachine
.OpenSubKey("HARDWARE\\DEVICEMAP\\VIDEO")
.GetValue("\\Device\\Video0").ToString();

driver_regkey = driver_regkey.Replace("\\Registry\\Machine\\", "");
}
catch
{
System.Windows.Forms.MessageBox
.Show("use -win98 argument if you have Windows 95/98/ME");
throw new FatalError(); // bailout
}

}
else if (file_name.IndexOf("win4") != -1) //TODO
{
driver_regkey
= "System\\CurrentControlSet\\Services\\Class\\Display\\0002";
}
}

Exxtreme
2003-06-20, 16:50:15
Heute abend werde ich dir mehr helfen können bezüglich der Suche nach dem richtigen Registry-Key.

Als Tipp, schau dir mal die Win32-API-Funktion EnumDisplayDevices (http://msdn.microsoft.com/library/en-us/gdi/devcons_2303.asp) an.

Tom Servo
2003-06-20, 17:09:38
Original geschrieben von Exxtreme
Heute abend werde ich dir mehr helfen können bezüglich der Suche nach dem richtigen Registry-Key.

Als Tipp, schau dir mal die Win32-API-Funktion EnumDisplayDevices (http://msdn.microsoft.com/library/en-us/gdi/devcons_2303.asp) an.

Danke erstmal.

Schon sehr gut, dass ich nun den richtigen Weg kenne.

Mit SetupAPI konnte ich auch die Video-Karte finden und ihren Namen anzeigen, aber das ganze hat irgendwie in einer Sachkgasse geendet. Hatte am Enden dann einen Device-Descriptor und einen rauchenden Kopf.

Exxtreme
2003-06-20, 21:21:32
Hallo Tom,

ich hoffe, du kannst C/C++ -Code lesen. ;)


AnsiString TrTool::Hrhrhr()
{
AnsiString strDeviceMap_temp, strRegKey; //Werden zum Extrahieren des Registry-Schluessels benötigt
DISPLAY_DEVICE *lpDD = new DISPLAY_DEVICE;
lpDD->cb=sizeof(DISPLAY_DEVICE);
lpDD->StateFlags=DISPLAY_DEVICE_ATTACHED_TO_DESKTOP; // Hier wird das aktive Gerät ausgewählt
EnumDisplayDevices(NULL,0,lpDD,0); //Jetzt wird die erste Grafikkarte ausgewählt
strDeviceMap_temp=lpDD-> DeviceKey; // Gib den Registry-Key her, Elender!
if(dwWinVers==VER_PLATFORM_WIN32_NT) {
int iRegKeyLength = strDeviceMap_temp.Length();
strRegKey=strDeviceMap_temp.SubString(18, iRegKeyLength - 17); //Hier wird der "rohe" Registry-Key zurechtgestutzt, damit man was damit anfangen kann

delete lpDD; // Und Tschuess
}

Tom Servo
2003-06-20, 22:17:31
Hallo Exxtreme,

vielen Dank nochmal für den Tip.

Habe inzwischen mit Google eine C#/.NET Wrapper Funktion für EnumDisplayDevices() gefunden. In .NET selber scheints nichts vergleichbares zu geben.

In deinem Code ist einiges anders. Ich hatte DISPLAY_DEVICE_PRIMARY_DEVICE statt DISPLAY_DEVICE_ATTACHED_TO_DESKTOP benutzt (war mir nicht sicher, welches der beiden Flags richtig ist). Ich hatte aus Voodoo Zeiten irgendwie im Hinterkopf, dass 3D Beschleunigung nur mit dem Primären Device funktioniert.

Aber du benutzt auch StateFlags als Input. Ich dachte, es wäre nur zur Ausgabe. In der Doku stehts so drin.

lpDisplayDevice
[out] Pointer to a DISPLAY_DEVICE structure that receives information about the display device specified by iDevNum.

Der Debugger zeigt mir auch an, dass das StateFlag nach Rückkehr aus der Funktion die beiden obigen Flags gesetzt hat. Und er liefert ja auch das Device obwohl die Flags auf Null stehen. Zumindestens macht er das unter WinXP.


Mit beiden Win98SE Rechnern hier schlägt die Funktion immer fehl. Eigenartigerweise steht die Funktion in der MSDN Doku als Win98 supported aber die Struktur DISPLAY_DEVICE als Win98 unsupported. Laut google sollte es auch mit Win98 funktionieren. Muss ich vielleicht wirklich StateFlags setzten, damit es in Win98 klappt?



for (int i = 0; Win32.EnumDisplayDevices(null, i, ref dd_, 0) != 0; ++i)
{
if ((dd_.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) != 0)
{
device_number_ = i; // ???: starts with 0 or 1 ?
return;
}
}

Exxtreme
2003-06-20, 22:21:07
Hmm, also unter Win9x funktioniert es bei mir leider auch nicht. :(

Unter Win2k/WinXP klappt's aber einwandfrei.

Tom Servo
2003-06-20, 23:13:02
Habe da einen sehr umfangreichen MSDN Artikel von 1997 gefunden. Da gehts um Multimonitor-Support in Win98 (Memphis) und Windows 2000 (NT5). Da wird EnumDisplayDevices() auch im Beispielcode mit allen Flags behandelt.

http://www.microsoft.com/msj/0697/monitor/monitor.aspx


Demnach sollte es eigentlich auch mit Win98 funktionieren. Das Benutzen des StateFlags als Input wird dort aber auch nicht erwähnt. Hast du die Funktion augetestet (undokumentiertes Feature) oder steht das irgendwo so beschrieben?

Ich werde das später auch mal mit meiner Radeon 9700 testen. Die hat ja zwei Driver-Keys (die FX 5800 hat nur einen). Bei der Radeon müsste ja dann, je nachdem wo der Desktop gerade ist, ein anderes DISPLAY_DEVICE zurückkommen.

Wäre das nicht auch ein Grund auf PRIMARY_DISPLAY zu testen. Wenn der Desktop auf dem TV ist, dann sind die FSAA/Aniso Einstellung doch trotzdem unter dem Key des Primären Devices abgespeichert?

Tom Servo
2003-06-21, 20:36:51
Habe mal getestet. Vermutlich ist es besser die Flags komplett zu ignorieren und immer Device 0 zu wählen (was dein Code auch macht).
Sowohl FX 5800 als auch Radeon benutzen verschiedene Keys für die beiden Monitor-Anschlüsse. Bei der FX sind es 0000 und 0001 ganz am Ende und bei der Radeon ist IIRC bereits die lange ID-Nummer vorher schon unterschiedlich.
Die 3D Settings sind aber m.W. immer nur im ersten Display des Treibers gespeichert.




Flags:

DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001;
DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002;
DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004;
DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008;
DISPLAY_DEVICE_VGA = 0x00000010;


Single Monitor Betrieb an VGA1:
-----------------------------------------------------------
dd.DeviceName="\\.\DISPLAY1"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0000"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="08000005"


dd.DeviceName="\\.\DISPLAY2"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0001"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="00000000"

-----------------------------------------------------------


Single Monitor Betrieb an TV-Out:
-----------------------------------------------------------dd.DeviceName="\\.\DISPLAY1"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0000"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="08000000"



dd.DeviceName="\\.\DISPLAY2"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0001"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="00000005"

-----------------------------------------------------------

Dual View - Erweiterter Desktop VGA1/TV-Out:
-----------------------------------------------------------
dd.DeviceName="\\.\DISPLAY1"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0000"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="08000005"

-----------------------------------------------------------

dd.DeviceName="\\.\DISPLAY2"
dd.DeviceString="NVIDIA GeForce FX 5800"
dd.DeviceKey="\Registry\Machine\System\CurrentControlSet\Control\Video\{6313A1E3-2698-4C97-95BE-145F27070E4F}\0001"
dd.DeviceID="PCI\VEN_10DE&DEV_0302&SUBSYS_018010DE&REV_A2"
dd.StateFlags="00000001"

-----------------------------------------------------------

Tom Servo
2003-06-25, 01:20:05
Original geschrieben von Exxtreme
Hmm, also unter Win9x funktioniert es bei mir leider auch nicht. :(

Unter Win2k/WinXP klappt's aber einwandfrei.

Jetzt habe ich es auch unter Win98SE zum laufen bekommen. Das Problem war einfach Unicode. Derjenige der die C# Wrapper geschrieben hat, hat .Unicode statt .Auto benutzt und die Funktion ist immer fehlgeschlagen, weil Win98 die Ansi Variante von DISPLAY_DEVICE braucht.

Jetzt funktionierts:


dd.DeviceName="\\.\Display1"
dd.DeviceString="RADEON 9500 PRO / 9700"
dd.DeviceKey="System\CurrentControlSet\Services\Class\DISPLAY\0003"
dd.DeviceID="PCI\VEN_1002&DEV_4E45&SUBSYS_00021002&REV_00\000800"
dd.StateFlags="00000015"

dd.DeviceName="\\.\Display2"
dd.DeviceString="RADEON 9500 PRO / 9700 - Secondary"
dd.DeviceKey="System\CurrentControlSet\Services\Class\DISPLAY\0004"
dd.DeviceID="PCI\VEN_1002&DEV_4E65&SUBSYS_00031002&REV_00\010800"
dd.StateFlags="00000000"


Mit den 4 Digits am Ende des DeviceKey konnte ich leicht den den Software\ATI... Key zusammensetzen.

Exxtreme
2003-06-26, 11:36:10
Original geschrieben von Tom Servo
Jetzt habe ich es auch unter Win98SE zum laufen bekommen. Das Problem war einfach Unicode. Derjenige der die C# Wrapper geschrieben hat, hat .Unicode statt .Auto benutzt und die Funktion ist immer fehlgeschlagen, weil Win98 die Ansi Variante von DISPLAY_DEVICE braucht.

Jetzt funktionierts:


dd.DeviceName="\\.\Display1"
dd.DeviceString="RADEON 9500 PRO / 9700"
dd.DeviceKey="System\CurrentControlSet\Services\Class\DISPLAY\0003"
dd.DeviceID="PCI\VEN_1002&DEV_4E45&SUBSYS_00021002&REV_00\000800"
dd.StateFlags="00000015"

dd.DeviceName="\\.\Display2"
dd.DeviceString="RADEON 9500 PRO / 9700 - Secondary"
dd.DeviceKey="System\CurrentControlSet\Services\Class\DISPLAY\0004"
dd.DeviceID="PCI\VEN_1002&DEV_4E65&SUBSYS_00031002&REV_00\010800"
dd.StateFlags="00000000"


Mit den 4 Digits am Ende des DeviceKey konnte ich leicht den den Software\ATI... Key zusammensetzen.
Cool, wie hast du die ANSI-Version von DISPLAY_DEVICE auswählen können?

Demirug
2003-06-26, 12:13:59
Original geschrieben von Exxtreme
Cool, wie hast du die ANSI-Version von DISPLAY_DEVICE auswählen können?

hehe C# oder besser gesagt .net ist da schlau (wenn man es läst). Wenn das Programm auf einen Unicode system läuft wird die Unicode Funktion benutzt bei einem ANSI-System eben die ANSI-Funktion. Das Konvertieren der Strings geht bei Bedarf automatisch.

Tom Servo
2003-06-26, 17:21:50
Original geschrieben von Exxtreme
Cool, wie hast du die ANSI-Version von DISPLAY_DEVICE auswählen können?

In C# gehts automatisch. Laut Doku bewirkt das Auto Flag, das ANSI auf allen Win9x Systemen benutzt wird. Man müsste dann also dort anscheinend grundsätzlich immer ANSI nehmen.

Wäre das doch nicht so könnte man aber m.E. auch zur Laufzeit probieren, mit welchem Zeichensatz die Funktion nicht fehlschlägt. Die Windows-Funktion wird vmtl. immer fehlschlagen wenn in dd.cb die zum falschen Zeichensatz passende Grösse steht.


Wenn die ANSI Version des struct nicht im Header sein sollte, dann kann man die Unicode Version aus der Doku oder dem Header ändern:



typedef struct _DISPLAY_DEVICE {
DWORD cb;
WCHAR DeviceName[32];
WCHAR DeviceString[128];
DWORD StateFlags;
WCHAR DeviceID[128];
WCHAR DeviceKey[128];
} DISPLAY_DEVICE, *PDISPLAY_DEVICE;


aus der MSDN Doku müsste in ANSI m.E. so aussehen:

typedef struct _ANSI_DISPLAY_DEVICE {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD StateFlags;
CHAR DeviceID[128];
CHAR DeviceKey[128];
} ANSI_DISPLAY_DEVICE, *PANSI_DISPLAY_DEVICE;




Laut C#-Debugger wird cb bei Unicode mit 840 und bei Ansi mit 424 Bytes initialisiert.

Exxtreme
2003-06-26, 17:32:09
Wo finde ich dieses "Auto-Flag"?

Ich hoffe, dies ist nichts NET-spezifisches...

Demirug
2003-06-26, 17:45:28
Original geschrieben von Exxtreme
Wo finde ich dieses "Auto-Flag"?

Ich hoffe, dies ist nichts NET-spezifisches...

Doch das ist .Net spezifisch.

Exxtreme
2003-06-26, 17:47:14
Original geschrieben von Demirug
Doch das ist .Net spezifisch.
*gnarf*

Micro$~1 lässt mich mal wieder im Stich.

Dann werde ich was anderes testen müssen.

Tom Servo
2003-06-26, 18:28:10
Unter C#/.NET hast du diese Funktion normalerweise überhaupt nicht. Man muss sich die Strukturen selber in den Code reinkopieren bzw. notfalls selber einen Wrapper schreiben.

Sieh dann so aus:


[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
public /* struct */ class DISPLAY_DEVICE
{
public int cb;
[MarshalAs(UnmanagedType.ByValTStr , SizeConst=32)]
public String DeviceName;
[MarshalAs(UnmanagedType.ByValTStr , SizeConst=128)]
public String DeviceString;
public int StateFlags;
[MarshalAs(UnmanagedType.ByValTStr , SizeConst=128)]
public String DeviceID;
[MarshalAs(UnmanagedType.ByValTStr , SizeConst=128)]
public String DeviceKey;
public DISPLAY_DEVICE ()
{
cb = Marshal.SizeOf(this);
DeviceName = DeviceString = DeviceID = DeviceKey = ""; //prevent warnings
StateFlags = 0;
}
} //DISPLAY_DEVICE

[DllImport("User32.dll", CharSet=CharSet.Auto)]
public static extern int
EnumDisplayDevices(String lpDevice, int iDevNum,
/*ref*/ [In, Out] DISPLAY_DEVICE lpDisplayDevice, int dwFlags);




Dafür habe ich dann als Entschädigung das Auto Flag.

Du musst dagegen nur die 16bit Zeichen im struct gegen 8bit austauschen. Da du die Daten am Ende sowieso in einen ANSI String reinkopierst ist da überhaupt kein Problem. Du müsstest noch nichtmal ein echtes ANSI Object übergeben sondern bräuchtest nur cb unter Win9X verkleinern und dann den Pointer nach Rückkehr casten.


dd = new DISPLAY_DEVICE;
dd->cb = (win_nt) ? sizeof (DISPLAY_DEVICE) : sizeof (ANSI_DISPLAY_DEVICE);

...

AnsiString s;

if (win_nt)
s = dd->DeviceKey;
else
s = ((PANSI_DISPLAY_DEVICE)dd)->DeviceKey;


edit: Habe den Code etwas geändert. Mir war nicht klar, das AnsiString wohl eine Klasse mit für Ansi und Unicode überladenen Zuweisungen ist. Programmiere selber kaum noch in C++.

Exxtreme
2003-06-26, 20:08:39
Hey. Eigentlich muss ich gar nix umschalten. :up:

Das Win32-API sucht sich auch automatisch die passende Version.

Tom Servo
2003-06-26, 21:25:15
Original geschrieben von Exxtreme
Hey. Eigentlich muss ich gar nix umschalten. :up:

Das Win32-API sucht sich auch automatisch die passende Version.

Wobei das vermutlilch nicht ganz das gleiche ist, weil du ja keine Auswahl zur Laufzeit hast, sondern m.E. verschiedenen Code für Win9x und NT compilieren musst. (sizeof wird ja beim compilieren schon berechnet).

Wegen der anderen Unterschiede (/machine/registry und Software/ATI) kommts darauf aber sicher auch nicht mehr an.

Vielleicht hatte der ATuner die Probleme nicht, weil Delphi das vieleicht so wie C# zur Laufzeit automatisch auswählt.

Wobei C# ja auch erst bein Nutzer JIT compiliert wird. Also vielleicht auch nicht wirklich zur Laufzeit. Naja, Hauptsache es geht.

Exxtreme
2003-06-26, 21:28:12
Ich muss es mal richtig austesten. Mit aths' "Device.exe" klappt's auf meinem Win9x-Rechner.

Ich werde mal kurz ein Tool in C++ schreiben und das verifizieren.

Exxtreme
2003-06-26, 21:42:11
Es klappt... =)

Tom Servo
2003-06-26, 21:53:35
Schön das es funktioniert.

Wobei die Sache m.E. mit der funktionierenden Funktion nun sehr einfach wird und dabei habe ich einige Stunden vorher einen Workaround programmiert den ich dann komplett wegwerfen konnte.

Jetzt habe ich nur noch einen kleine Funktion die hoffentlich nicht wieder zu einfach ist. Ich hoffe ATI hat diesen Key immer an der Stelle bei allen Treibern.


public bool obtain_device_info(string force_driver_key, string force_device_key) {
bool success;

if (force_device_key != null) {
dd_.DeviceKey = force_device_key;
success = true;
}
else
success = (w32.EnumDisplayDevices(null, 0, /*ref*/ dd_, 0) != 0);

if (success) {
driver_key = (dd_.DeviceKey.ToLower().StartsWith(@"\registry\machine\")
? dd_.DeviceKey.Substring(18) // On Windows 5
: dd_.DeviceKey); // On Windows 4
is_ati_radeon = (dd_.DeviceID.ToLower().IndexOf("ven_1002") != -1);
string four_digits = driver_key.Substring(driver_key.Length - 4);

if (is_ati_radeon && Environment.OSVersion.Version.Major == 4)
driver_key = @"Software\ATI Technologies\Driver\" + four_digits;
}

if (force_driver_key != null)
driver_key = force_driver_key;

return success;

}

Omnicron
2003-06-27, 13:28:15
@Tom Servo
SEHR gutes Tool !
Genau sowas habe ich gesucht :up:
Funzt auch prima bei mir (FX5900, WinXP, Deto 44.65).

Nur mal zur Anregung :
Könntest du es nicht noch so machen, das das Tool wartet bis ein Spiel beendet wurde, und dann wieder die vorherigen Einstellungen übernimmt ?
So könnte man z.b. ein Spiel das kein Profil hat direkt nach einem mit Profil ausführen, ohne das man die Einstellungen von Hand zurücksetzen muss.

*EDIT*: Hab als Workaround mal versucht ein "reset" Profil zu erstellen, das ohne Ausführung einer .exe die Einstellungen ändert, das gibt aber leider einen Programmfehler wenns gestartet wird.

Tom Servo
2003-06-27, 16:27:47
Hallo Omnicron,

danke für das Feedback. Schön das dir das Programm gefällt.

Das mit dem Warten auf das Ende des Spiels liesse sich wohl einfach machen, wenn das Spiel nicht selber einen Launcher hat, der das Spiel startet und sich dann beendet. Ansonsten hatte ich den Wunsch nach einer solchen Option auch schon

Notfalls müsste man zum Profil eine Eingabemöglichkeit für den Prozess-Namen des Spiels vorsehen, oder eine fertige Liste mitliefern.


Zusätzlich könnte TDProf ein Undo-Profil anbieten um alles Änderungen des letzten Profils rückgängig zu machen.

Den Crash mit einem Shell Link kann ich nachvollziehen, wenn ich das Profil nach dem Erstellen mit Add dann vergesse mit Save abzuspeichern. Ist natürlich nicht sehr intuitiv, dass MakeLink in diesem Fall überhaupt enabled ist.

Ich hoffe das war jetzt wirklich die Ursache des Problems?

Der über den Link neu gestartet TDProf.exe kennt das Profil noch nicht und fängt das Problem auch nicht gescheit mit einer Felermeldung ab. Ich habe das bereits geändert.

Tom Servo
2003-06-27, 17:02:01
Habe jetzt einen Fehlermeldung eingebaut wenn das Profil nicht existiert.

Ich denke, das es gut wäre Hard-Links und Soft-Links auf Profile zu ermöglichen.

Ein Hard-Link wäre ein Profil das nur für diesen Shell Link gilt. Er wäre dann nicht betroffen, wenn man das Profil in der GUI später ändert oder löscht. Man hätte dann praktisch ein zusätzliches normalerweise in der GUI verstecktes Profil mit dem Prefix "(HL)" oder so ähnlich.

Ein Soft-Link würde wie bisher einfach nur das Profil starten, als wenn man es in der GUI anwählen und starten würde. Wenn das Profil nicht mehr existiert, dann würde es eine Fehlermeldung geben.

Muss mir nur noch überlegen, wie ich das einbaue ohne den User unötig zu belästigen. Am besten wohl so einen Requester "Sollen die Settings bla bla bla" mit Checkbox-Option "Don't show this Window again".

Tom Servo
2003-06-27, 21:59:09
Das mit dem automatischen Restore habe ich eingebaut. Funktioniert aber z.Zt. nur mit den Destop-Verknüpfungen.

Um es abzuschalten kann man in der Verknüfung als zusäztlichen Parameter von TDProf.exe noch -no_restore hinzufügen. Dann beendet er sich wieder sofort nach Game-Start. Ich werde das später noch global in der GUI konfigurierbar machen.

Omnicron
2003-06-27, 22:55:44
Original geschrieben von Tom Servo
Muss mir nur noch überlegen, wie ich das einbaue ohne den User unötig zu belästigen. Am besten wohl so einen Requester "Sollen die Settings bla bla bla" mit Checkbox-Option "Don't show this Window again".

Das solltest du auch für das Anfangs "Safe Mode" Fenster machen, das nervt nämlich auch :bäh:
Die neue Version "1.0.1273.37313" schmiert aber sofort bei mir ab :|
Die Debug-Exe dagegen geht.

Edit: Hab auch mal das NV30 Specfile zum NV35 umgemoddelt und "successfully tested" :D
http://www.geocities.com/atinvflamewar/nvidia-nv35-win5.zip

Tom Servo
2003-06-27, 23:24:41
Danke noch mal fürs Feedback. Den Bug habe ich gerade gefixt.

Das mit dem Safe Mode Fenster kann man natürlich leicht durch eine Vernknüpfung beseitigen die den -reg_writes Parameter als Argument übergibt. Dann hat man Ruhe, ist aber selber schuld falls man an den Specfiles rumschraubt und vergisst den Safe-Mode einzuschalten.

Ich müsste vorher getrennte stable und beta Builds einführen und möglichst die Specfiles mit Prüfsummen schützen.

Der Crash hatte mit der neuen Landespracheneinstellung zu tun. Hat bei mir nicht gecrasht, weil meine options.cfg schon existiert hat.

Die Debug exe scheint etwas überaltert zu sein. Deswegen hat sie funktioniert. Da scheint irgendwas im Makefile nicht zu stimmen.

EDIT: Ich wollte VS7 gestern direkt eine Datei Release\tdprof_debug.exe erzeugen lassen. Das hat aber irgendwie nicht geklappt, weil der Dateiname bei VS für alle Konfigurationen gleich sein muss. Hatte aber das Makefile welches die Distris erzeugt schon vorher nach diesem Plan geändert und hinterher vergessen es anzupassen.

Tom Servo
2003-06-28, 01:05:56
Man könnte natürlich nur das Warn-Fenster wegklickbar machen und trotzdem Read-Only bleiben, falls du das meintest. Der User wäre dann immernoch geschützt.

Ist nur zu befürchten, dass jemand meint das Programm würde ja gar nicht funktionieren.

Ich werde es so ändern, dass ein Tooltip und vielleicht eine Farbe über den Read-Only Status informiert.

Das Warn-Fenster bekommt die Option sich selber zu deaktivieren oder Read-Only abzuschalten.

Das Auschalten geht noch mal im Menü für den Prozess und für das Programm im Settings Dialog.

Wenn das benutzte Specfile den Inhalt ändert oder ein anderes Specfile benutzt wird wird ein Warn-Fenster den User informieren. So brauche ich nur die Checksumme des aktuellen Specfiles speichern.

Tom Servo
2003-06-29, 23:44:14
Beim Build der Distribution werden nun einige Tests mit tdprof.exe durchgeführt (Makefile im Source Archiv). Ich habe damit auch schon Probleme entdeckt, die durch neue Features bzw. Fehlermeldungen entstanden sind. Ich hoffe es läuft nun alles wieder einwandfrei.

Momentan sollten eigentlich keine gravierenden Fehler mehr in TDProf sein. Ich denke, das Alpha-Etikett kann bald weg.

Wäre nett, wenn von mir übersehene ernstere Fehler gemeldet würden. Es gibt aber bei einem erst 4 Wochen alten Programm dieser Größe immer noch einige unfertige Teile und weniger störende Probleme die ich kenne aber wo ich noch keine Zeit hatte.


Neue Features:

Es gibt nun die Möglichkeit die Wirkung eines Profiles auf beliebige 3D Settings zu begrenzen. Also z.B. nur Aniso oder auch nur OGL-Aniso. Vielleicht sinnvoll zusammen mit Desktop-Verknüpfungen.

Die Profile werden jetzt alphabetisch sortiert. Es kommen vielleicht noch andere Sortier-Optionen hinzu und auf jeden Falle eine Suchmöglichkeit über den Anfangsbuchstaben.

Omnicron
2003-06-30, 00:20:08
Hmm also man kann das Autorestore im Optionsmenü nicht generell austellen. (Das Programm wartet trotzdem auf das Ende des Spiels)
Und der Prozess der auf das Ende des Spiels wartet braucht satte 11 MB Ram dafür ! Kann man da nicht noch was drehen ?

Tom Servo
2003-06-30, 01:14:30
Danke für den Bugreport.

Stimmt, da hatte ich vergessen die globale Option neben der Kommadozeilen Option ebenfalls abzufragen. Jetzt sollte es gehen.

Das mit den 11MB ist nicht direkt Schuld von TDProf. Schon eine leere App verbraucht IIRC ähnlich viel. Ich hatte mir auch erst Sorgen gemacht, aber als ich gesehen habe, das ATuner direkt nach dem Starten 9MB belegt, schien mir das für Windows Programme der Normalfall zu sein.

Die Frage ist, wieviel davon wirklich an RAM verbraucht wird, und wieviel im Pagefile ist und wieviel RAM vielleicht mit anderen Apps geshared wird. Kenne mich leider mit Windows nicht so gut aus um das jetzt genauer zu ergründen.

Durch das vorher übliche Quit nach dem Gamestart war das ja auch kein so grosses Problem.

Ich werde versuchen, ob ich die Sache einfach dadurch lösen kann, dass ich den Spielstart eine C Anwendung machen lasse die von TDProf alle Keys mitgeteilt bekommt und dann das Restore selber macht. Eventuell lasse ich die C Anwendung auch TDProf neu starten und so dass der das Restore selber macht.

Tom Servo
2003-06-30, 10:43:55
Es gibt jetzt im Archiv eine C++ Win32 Anwendung welche die Shell-Link Programme startet wenn man es in Options => Settings so eintellt.

Damit sinkt der im Taskmanager sichtbare Speichverbrauch auf 1,2 MB.

Die C++ App macht nichts weiter aussser das Game zu starten und dann zu warten. Nach Ende des Games startet sie TDProf mit der Option -restore_now wodurch die alten Settings dann wiederhergestellt werden.

Bei Games mit Launchern (NOLF, Morrowind, etc) kommt wie bisher vor dem Start des eigentlichen Spiels eine MessageBox die man nach Ende des eigentlichen Spiels wegklicken soll, womit man dann das Restore auslöst.


edit: Glaube aber noch nicht an den Sinn dieser Sache. TDProf selber wird nach einem speicherhungrigen Spiel auch nur noch mit 1.8 MB angezeigt. Habe es zwar noch nicht getestet wenn es auf ein Spiel wartet, aber da nutzt es eine .NET Funktion zum Warten auf das Prozess-Ende des Spiels. Es müsste unter diesen Umständen (Dauerschlaf) weitestgehend ausgelagert werden können.

Tom Servo
2003-06-30, 23:58:09
Habe das mit dem Speicherverbrauch noch mal in Ruhe selber getestet:


Nach dem Start mit GUI: über 10MB
Nach Minimieren der GUI (Taskbar): unter 1.5MB
Nach Wiederherstellen: unter 4M
Beim Starten mit -run Option: über 10MB

So ein Verhalten hatte ich nicht erwartet.

Ich hatte zuerst vermutet, es würde am Garbage Collector liegen, aber das ist wohl nicht so. Ein Aufruf von GC.Collect() vor dem Spielstart und vorm Wait() verbessert jedenfalls nichts.

Omnicron
2003-07-01, 00:52:34
Bei mir geht das Configpanel minimiert auf knapp 700 kb runter, wieder vergrössert sind es knapp 3 Mb.
Vielleicht liegts ja an einer Eigenheit der .NET Umgebung ?
Jedenfalls das mit der TDProfSL.exe funzt super, liegt immer so bei 730 kb, kann keiner mehr was gegen sagen :D

Tom Servo
2003-07-01, 03:22:10
Schön dass es problemlos funktioniert. Könnte ich das Alpha Tag ja wirklich bald abmachen (zumidestens für die getesteten Treiber-Versionen).

Habe es eben auch mal mal hier unter Win9x getestet und es lief dort immer noch ohne Probleme, trotz der vielen Änderungen.

Dank Google bin ich nun wegen dem Speicherverbrauch schlauer:

Beim Minimieren wird der Prozess vom Explorer praktisch raus-gewswapt. Das kann man auch selber durch einen WindowsNT-API-Funktionsaufruf veranlassen. Geht also nicht mit Win9x.

Damit liegt TDProfSL.exe nun bei unter 200KB physikalischen RAM Verbrauch während es wartet. Die herkömmliche Methode liegt nun auch bei unter 1MB.

Bei Spielen mit eigenem Launcher haut die fürs Restore nötige Warte-MessageBox aber bei beiden Exe-Varianten mit etwa 4MB rein.

Ein Starten über die GUI ist jedenfalls vom Speicherverbrauch auch kein wirklicher Nachteil. Dazu muss ich die GUI nur noch in die Taskbar minimieren. Muss aber noch rausfinden wie das geht.

Exxtreme
2003-07-03, 15:38:38
PRL ist wohl "pre-render-limit", oder?

Wenn ja, kann man es auch bei ATi-GraKas einstellen?

Btw. ChrisW heizt dir gut ein. :D

Tom Servo
2003-07-03, 16:20:55
Original geschrieben von Exxtreme
PRL ist wohl "pre-render-limit", oder?

Wenn ja, kann man es auch bei ATi-GraKas einstellen?

Btw. ChrisW heizt dir gut ein. :D

Gibts dort m.W. nicht (vielleicht auch nicht nötig, ich spiele so schlecht, dass ich lange Zeit gar nicht wusste was Mouselag überhaupt ist).

Auf ATI Karten ändert sich das Label dann nach TruFrm.


Der Typ klaut mir mit seinem Geflame die Zeit. Vielleicht werden dadurch aber mehr Leute unsere Programme downloaden.

Tom Servo
2003-07-12, 21:42:32
Neuestes Feature ist die Tatkeinstellung in Profilen. Geht allerdings z.Zt. nur mit ATI Radeons. Das Feature ist recht neu und wird sicher noch verbessert.

Für das Übertakten muss man z.Zt. noch einen anderen Radeon Tweaker installieren oder schon installiert haben der ebenfalls den r6probe Treiber nutzt und eine aktuelle Version davon installiert. Ich habe es mit dem Radeonator 2.0 und meiner Radeon 9700 getestet.

http://home.tiscalinet.de/bertw/proj/tdprof/images/tdprof_r300_shot_extra_clock.png

hasufell
2003-07-12, 22:06:27
kann man auch über dieses Programm die CPU-Priorität zuweisen?

Oder hab ich zu faul gelesen? :bäh:

Tom Servo
2003-07-12, 23:41:35
Momentan ist das nicht möglich. Es wäre allerdings einfach einzubauen, so dass man im Profil eine Prozess-Priorität für das zu startende Spiel vorgeben kann.

Aber würde das Feature wirklich benutzt werden? Vermutlich möchtest du die Priorität des Spiels erhöhen?

Möchtest du das dann grundsätzlich für alle Spiele nutzen oder eher nur für einige wenige Spiele eine andere Priorität einstellen.

Wenn du es für alle Spiele nutzen möchtest, dann hätte es natürlich eher Sinn, es nicht in den Profilen zu speichern sondern als globale Einstellung im Settings-Menü.

hasufell
2003-07-13, 00:30:29
mh, also bei mir ist es doch eigentlich von Spiel zu Spiel unterschiedlich...wenn ich z.b. Starcraft spiele, lass ich ruhig einige Hintergrundprogramme an, die unter Umständen auch Aktivitäten verursachen und ich somit die Prozessorpower etwas verteilt sehen möchte

ebenso bei Counter Strike, hier soll sich der ping verschlechten bei hoher Priorität

bei Spielen wie Gothic2 oder Morrowind will ich dann natürlich mehr Power

also ich wäre dafür, dass man es für jedes Spiel anders einstellen kann...

momentan nutze ich den GameLauncher (http://www.pqtuning-downloads.de/files/win2000GameLauncher.exe)...wenn dein tool jedoch ebenfalls die Prozessorprioritätszuweisung :bigl: beherrscht würde ich umsteigen :)

Tom Servo
2003-07-13, 14:08:49
Im Prinzip ist es jetzt eingebaut. Zu finden im "Profile"-Menü. Ich muss nur noch eine Anzeige einbauen um eine von Normal abweichende Prio in der GUI anzuzeigen, ohne dass man im Menü nachsehen muss.

Aber, bei Morrowind muss man beachten, dass man das Game nicht über "Morrowind Lauchner.exe" startet sondern wenn möglich direkt über "Morrowind.exe"

Ansonsten würde nur der "Morrowind Launcher.exe" mit der eingestellten Priorität laufen, denn der Launcher ist anscheinend der Meinung, Morrowind.exe sollte mit "Normal" laufen, auch wenn er selber z.B. mit "Above Normal" gestartet wude.

Das von dir z.Zt. benutzte Programm hat dieses zusätzliche "Listening" Feature und könnte damit auch solche Sonderfälle abdecken, allerdings auch nur wenn es den eigentlichen Prozess-Namen kennt, welcher ja dann ein anderer ist, als den Prozess den man startet.

Man muss solche Namen vorkonfigurieren oder vom User abfragen oder einfach raten anhand der Strings in Launcher.exe und der vorhandenen EXE Dateien im Game Folder.


edit: Habe noch ein wenige experimentiert. Offenbar werden Prioritäten in Windows nur dann an Child-Prozesse vererbt, wenn sie niedriger als Normal sind. Wenn ein Prozess mit hoher Priorität einen neuen Prozess startet, dann hat dieser aber immer Normal-Priorität.
Der Launcher müsste dann die Prio nachträglich seiner eigenen anpassen, wie es jetzt mein TDProfSL.exe C++-Launcher macht:

SetPriorityClass(procInfo.hProcess, GetPriorityClass(GetCurrentProcess()));

Vielleicht gibt es aber noch ein Flag, womit man auch hohe Prioritäten vererbar machen kann. Hab ich bisher dann aber noch nicht gefunden.

hasufell
2003-07-13, 15:40:55
hey, super :up:

ich werd das tool gleich mal ziehn...das mit Morrowind ja, ich starte es natürlich per Morrowind.exe

unangenehm ist es beim Launcher-Starten z.b. auch, wenn man mit dem Rage3dTweak das leeren des Arbeitsspeichers beim launchen eines Spiels veranlasst...so tut er dies 2 mal

aber diese Einstellung mit der Prozessorpriorität wäre doch z.b. für 3dmark sehr interessant oder? Weil da muss man ja eigentlich per Launcher starten oder ginge das auch direkt?

wie sieht es eigentlich mit der Kompatibilität zu anderen Programmen aus?


ich bekomme folgende Fehlermeldung

http://mitglied.lycos.de/Yan_C_Bin/error.jpg

:kratz2:

Tom Servo
2003-07-13, 16:31:45
Tja, das ist schon ein Problem mit den Launchern. Auch NOLF lässt sich m.W. nur mit Launcher starten.

Das ist ein Problem schon wegen dem automatischen Rücksetzen der 3D Settings. Ich habe das bisher einfach so gelöst, dass ich bei Spielen mit Laufzeit unter 2 Minuten einfach ein Dialog-Fenster öffne, dass erst angeklickt werden muss, damit die Settings zurückgesetzt werden. Das würde auch bei dem Speicher-leeren-Problem helfen (natürlich jetzt nicht bei R3D-Tweak, sondern falls ich das in meinem Programm hätte). Bei den Prioritäten nützt es ja leider nichts, und man müsste wirklich einigen Aufwand treiben um in der Taskliste rumzustöbern. Kommt vielleicht später noch.

Die R6Probe Meldung kommt einfach daher, dass man wie schon geschrieben z.Zt. noch RadeonTweaker 2.0 installieren muss, welcher ein aktuelles R6Probe installiert.

Das wird sich noch ändern, aber das mit dem Umtakten geht ja auch erst seit einigen Tagen.

Wenn man keine Radeon hat oder nicht den Takt ändern möchte, dann braucht man natürlich r6probe nicht.

Tom Servo
2003-07-16, 19:21:42
Habe jetzt das Programm noch etwas entzwanzt und einen Installer geschrieben und auch gleich noch einen für r6probe.sys.

Ich werde an den "Beta-Versionen" nur noch Bugs fixen. Updates mit neuen Featues wirds immer dann geben, wenn sie umfassend getestet sind.

Wer noch Bugs findet, bitte an mich weiterleiten.

Mephisto
2003-07-24, 10:23:30
Verstehe ich das richtig, daß der 3DProf-Launcher quasi auch den Job des aTuner mitmacht? Wenn nein, was kann man damit nicht einstellen?

Tom Servo
2003-07-24, 15:57:22
Original geschrieben von Mephisto
Verstehe ich das richtig, daß der 3DProf-Launcher quasi auch den Job des aTuner mitmacht? Wenn nein, was kann man damit nicht einstellen?

Also der ATuner kann schon Sachen die 3DProf nicht kann:

Gamma Einstellung

AF Optimierung für GF4. Also das heruntersetzen der Qualität für unwichtige Texture-Stages. Funktioniert aber m.W. nur für GF4 und nicht mehr für GF-FX.

Multi-Monitor-Support (weiss jetzt nicht genau was der macht, weil mit dem 44.90 hier der zweite Video Ausgang nicht erkannt wird.)

Verändert bei Radeons nicht nur die Treibereinstellungen sondern auch die privaten Daten des Control Panels, so dass beide Programme immer das gleiche anzeigen.

ATuner kann als Tray-Icon angezeigt werden

ATuner erkennt und untestützt auch alte Treiber Versionen.

ATuner kann automatisch mit Windows gestartet werden.

Weiss nicht, ob das jetzt schon alles war. Mir persönlich fehlt an meinem Programm momentan nur der Clocking Support für NVidia. Wird aber noch länger dauern, weil ich mit Gerätetreiberprogrammierung unter Windows noch keine Erfahrung habe.

Optionen die einfach per Registry-Wert geändert werden sind bei 3DProf alle vorhanden und auch leicht vom User erweiterbar.

Mephisto
2003-07-24, 16:18:08
Von dem, was Du aufgezählt hast, nutze ich momentan nur die AF-Optimierung(Ich nutze den Det. 44.71, DirectX 9.0a, Win XP Pro).

Wenn die Reg-Keys für die AF-Optimierung bereits gesetzt sind, dann würde die Nutzung Deines Programms dies aber nicht beinträchtigen, oder?
Vielen Dank!

Tom Servo
2003-07-24, 16:40:33
Ich nehme an es sollte so gehen wie du sagst.

Im Prinzip könnte man die AF Optimierung wenn nötig auch sehr einfach bei 3DProf hinzufügen, falls dabei nur bestimmte Registry-Werte geändert werden. Das sind dann vielleicht nur ein paar Zeilen im Specfile und man hat dann eine neue Combo-Box welche dann auch im Profil mitgespeichert wird.

Aber teste besser erstmal, ob dir das Programm gefällt. Postitives und/oder negatives Feedback sind willkommen.

edit: 3DProf sollte mit der Treiberversion 44.71 kein Problem haben.

edit: habe mir aber gerade mal specfiles\nvidia-nv25-win5.cfg mit ediff angesehen und es fehlen einige aktuelle Verbesserungen.

Also am besten diese Datei löschen und die nvidia-nv30-win5.cfg entsrpechend umbenennen. Ich werde das aber gleich mal ändern und ein Update nachschieben.

Omnicron
2003-07-24, 16:57:11
Sind die Profil Dateien von den älteren Versionen eigentlich zu den neuen kompatibel, oder gibs dadrin auch Änderungen`?

Tom Servo
2003-07-24, 17:33:42
@Omnicron

btw: Benutzt du eigentlich das Programm noch? Kann man es sinnvoll benutzen oder gibt es Probleme?

Die Profile bleiben immer kompatibel. Sollten sie zumindestens.

Es gab nur mal eine grosse Umbenennung von Optionen die ich aber erst ein paar Stunden vorher eingeführt hatte. Dürfte also niemand gemerkt haben.

Vorher hiess es z.B. OGL_Extra_1 und jetzt wird über das Specfile ein eindeutiger Name gesetzt, wie z.B. OGL_S3TCQuality, der sich nie ändert und für jede Graka können eigene Namen definiert werden. Hier ein Beispiel:


[OGL_Extra_1_Values]
id="OGL_S3TCQuality"
gui_label="S3-TCQ", gui_tooltip="S3 Texture Compression Quality: Standard Quality; Force DXT1 to DXT3"
name="std", regval="OGL_S3TCQuality", value="hex:02,00,00,00"
name="DXT3", regval="OGL_S3TCQuality", value="hex:03,00,00,00"
;nv25/28 only;name="DXT1dith", regval="OGL_S3TCQuality", value="hex:01,00,00,00"


Bleibt damit immer alles kompatibel.

@Mephisto:

Habe ein Update nachgeschoben.

Da ich aber nicht genau wusste welche Modi auf der GF4 möglich sind, wollte ich da nicht zuviel abschalten und habe erstmal alle bei der FX möglichen FSAA Modi aktiviert gelassen.

Wenn du feststellst, dass 3DProf dir Antialiasing Modi anbietet welche ATuner nicht zeigt, dann wäre es sinnvoll die dazugehörigen Einträge in der Datei specfiles\nvidia-nv25-win5.cfg zu deaktivieren.
Oder sag mir einfach bescheid, dann mache ich das. Leider habe ich keine GF4 mehr zum testen und bei den vielen FSAA Modi sehe ich nicht mehr durch was nunn auf welcher Karte inoffiziell alles geht.

Wenn du es selber machen möchtest:
Man muss dazu nur ein Semikolon an den Anfang einer Zeile setzen, dann wird diese ignoriert (auskommentiert). Man kann die Zeile natürlich stattdesse auch einfach löschen.

Hier ein Beispiel um den Direct 3D 12x FSAA Modus zu deaktivieren.


[D3D_FSAA_Mode_Values]
name="App", regval="D3D_70835937", value="hex:01,00,00,00", regval_2="D3D_08285629", value_2="hex:93,62,32,06"
name="none", regval="D3D_70835937", value="hex:00,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="2x", regval="D3D_70835937", value="hex:01,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="Quincunx", regval="D3D_70835937", value="hex:02,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="4x", regval="D3D_70835937", value="hex:03,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="4x 9-tap", regval="D3D_70835937", value="hex:04,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="4xS", regval="D3D_70835937", value="hex:05,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="4x Supersampling", regval="D3D_70835937",value="hex:0A,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="6x", regval="D3D_70835937", value="hex:06,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="8x", regval="D3D_70835937", value="hex:07,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
;;;####deaktiviert####;;;name="12x", regval="D3D_70835937", value="hex:08,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"
name="8xS", regval="D3D_70835937", value="hex:09,00,00,00", regval_2="D3D_08285629", value_2="hex:90,59,01,57"

Tom Servo
2003-07-24, 17:42:10
Wenn ich jetzt allerdings auf die blöde Idee komme "4x Supersampling" zu kürzern in "4x Super, " dann würde das Profil nicht mehr recht funktionieren. Es würde in diesem Fall dann "4x Supersampling" rot in der ComboBox erscheinen um anzuzeigen, dass man stattdessen einen gültigen Wert aus der Liste wählen sollte.

Ich glaube ich habe tatsächlich irgendwann das Zahlenformat der LOD Werte geändert, um es kompatibler mit anderen Grakas zu machen. also "+1" statt "+1.000"

Das würde man dann wie gesagt an der roten Schrift sehen.


edit:
Ich hoffe die Beispiele aus den Dateien schrecken niemanden ab. Man kann das natürlich auch ignorieren. Ich werde da auch noch einige Verbesserungen vornehmen und evlt. sogar einen speziellen Editor zum Ändern ins Programm einbauen. Wobei man normalerweise auch nichts ändern muss. Ich würde mich natürlich freuen, wenn jemand z.B. eine Datei für die Radeon 8500 anpasst. Sicher wird es da doch Unterschiede zur 9700 geben.

Mephisto
2003-07-24, 18:24:11
Hallo Tom,
vielen Dank erst einmal für Dein Programm, welches ich gerade heruntergeladen habe, und für Deine ausführlichen Erklärungen! :)

Ich werde sobald wie möglich die für mich interessanten Anwendungfälle testen und Dir dann Feedback geben.

Omnicron
2003-07-24, 18:38:24
Original geschrieben von Tom Servo
@Omnicron

btw: Benutzt du eigentlich das Programm noch? Kann man es sinnvoll benutzen oder gibt es Probleme?


Ich benutze es eigentlich jeden Tag und bin voll Zufrieden damit. :D
Das einzige was ich davon verändert habe, ist ein extra nv35.cfg zu machen, mit den neuen Namen für die Intellisample Einstellungen.

Tom Servo
2003-07-27, 03:43:30
Original geschrieben von Omnicron
Ich benutze es eigentlich jeden Tag und bin voll Zufrieden damit. :D
Das einzige was ich davon verändert habe, ist ein extra nv35.cfg zu machen, mit den neuen Namen für die Intellisample Einstellungen.
In der neuesten Testversion habe ich die Syntax dieser Dateien endlich mal bereinigt (die alte Syntax funktioniert natürlich trotzdem noch). Ausserdem gibt es nun auch ein include Kommando.

Da man Labels mehrfach definieren kann und das letzte immer alle vorherigen komplett überschreibt kann man eine Datei includieren und dann die gewünschten Labels komplett neu definieren.

Damit hat man dann immer den aktuellen Stand bei den Sachen die man nicht geändert hat.

Für das mit dem Intellisample könnte man eine Datei "usr-specfiles\nvidia-nv30-win5.cfg" mit folgendem Inhalt anlegen:


;;comment: file "usr-specfiles\nvidia-nv30-win5.cfg" to redefine item names.

include("specfiles/nvidia-nv30-win5.cfg")

[D3D_QualityEnhancements_Values]
name="Quality", rv("D3D_QualityEnhancements"="hex:00,00,00,00")
name="Balanced", rv("D3D_QualityEnhancements"="hex:0a,00,00,00")
name="Aggressive", rv("D3D_QualityEnhancements"="hex:14,00,00,00")

[OGL_QualityEnhancements_Values]
name="Quality", rv("OGL_QualityEnhancements"="hex:00,00,00,00")
name="Balanced", rv("OGL_QualityEnhancements"="hex:0a,00,00,00")
name="Aggressive", rv("OGL_QualityEnhancements"="hex:14,00,00,00")



Vielleicht führe ich auch noch Alias-Namen ein, damit man die Namensänderungen des Herstellers mitmachen kann, ohne die Namen auch in den gespeicherten Profilen updaten zu müssen. Ist aber vielleich auch schon wieder zuviel des Guten.

edit:
Es gibt jetzt auch if/elif/else/endif Kommandos womit man abhängig von der Treiberversion Teile der Datei deaktvieren kann.


;;comment: file "usr-specfiles\nvidia-nv30-win5.cfg" to redefine item names.

include("specfiles/nvidia-nv30-win5.cfg")

if(driver_short_version >= 4403)

[D3D_QualityEnhancements_Values]
name="Quality", rv("D3D_QualityEnhancements"="hex:00,00,00,00")
name="Balanced", rv("D3D_QualityEnhancements"="hex:0a,00,00,00")
name="Aggressive", rv("D3D_QualityEnhancements"="hex:14,00,00,00")

[OGL_QualityEnhancements_Values]
name="Quality", rv("OGL_QualityEnhancements"="hex:00,00,00,00")
name="Balanced", rv("OGL_QualityEnhancements"="hex:0a,00,00,00")
name="Aggressive", rv("OGL_QualityEnhancements"="hex:14,00,00,00")

endif

Tom Servo
2003-07-29, 06:46:49
Das mit der Aniso-Performance Optimierung habe ich jetzt mal reingemacht. Kann im Profil gesetzt werden. Werde die Art der Einstellung aber vielleicht noch ändern oder zumindestens die Liste nach Nützlichkeit sortieren. Ist momentan etwas sehr lang, obwohl noch nichtmal alle möglichen Einstellungen drin sind.

Auf meiner GF FX hat die Einstellung zwar keine Wirkung, aber die mit RivaTuner geänderten Werte werden erkannt und umgekehrt. Wird also wahrscheinlich funktionieren.

hasufell
2003-07-30, 06:04:45
hey tom!

würdste dich net mal trauen das Programm ohne .NET zu schreiben?

Weil ich denke einige Probleme resultieren daraus, die Frage is natürlich ob es ohne .NET nicht übler is? Weil alles im allem läuft dein Prog eigentlich super.

Lediglich den Ramfrei ;) würd ich mir noch wünschen :)

Tom Servo
2003-07-30, 14:41:19
Original geschrieben von hasufell
hey tom!

würdste dich net mal trauen das Programm ohne .NET zu schreiben?

Weil ich denke einige Probleme resultieren daraus, die Frage is natürlich ob es ohne .NET nicht übler is? Weil alles im allem läuft dein Prog eigentlich super.

Lediglich den Ramfrei ;) würd ich mir noch wünschen :)

Würde ich auf .net verzichten, könnte ich auch die Programmiersprache C# nicht mehr benutzen. Es wäre also ein komplettes rewrite nötig.

Ich bin froh, dass ich endlich mal eine vernünftige API und Programmiersprache zur Verfügung habe. Mein letztes Programm war in Perl/Tk und dagegen ist C# wirklich eine Wohltat. Ich kann mir auch nicht wirklich vorstellen, dass .NET dein System instabil macht. Eher denke ich, es liegt an einem Programmierfehler von mir oder das dein System einfach einen Knacks hat, der im Normalbetrieb nicht auffällt.

Ist erstaunlich wie stabil z.B. mein System lange Zeit laufen kann und irgendwann merke ich doch, dass es mit manchen Spielen doch Probleme macht die man durch Runtersetzen von RAM Timings, runtertakten des FSB, oder erhöhen der CPU oder DIMM Spannung lösen kann. Dabei bin ich schon lange von FSB145 auf FSB133 runter.

Ich denke du solltest das mal systematisch durchtesten bevor du .NET vielleicht fälschlicherweise die Schuld gibst. Wäre schön wenn alles von Microsoft so gut wäre, IMHO.


Das mit dem RAM freimachen funktioniert bei mir recht gut. Auch wenn das Programm auf jeden Fall noch verbessert werden müsste. Es bringt natürlich nur etwas, wenn man nicht bereits vor Aufruf 256MB frei hat. Dann passiert gar nichts. Erkennt man auch daran, dass es sehr schnell geht.

Kannst du mir mal sagen, wieviel RAM du gerne freigemacht haben möchtest. Ich meine, es hätte doch sicher keinen Sinn immer maximal alles frei zu machen, wenn mann dann ein Spiel startet was gar nicht soviel braucht. Dadurch würde man m.E. doch nur unötig lange warten müssen.

Man könnte das auch so machen, dass man per Spiel vorgeben kann wieviel RAM freigeschaufelt wird. Nur würde das Programm durch solche Features irgendwann zu kompliziert. Überlege jetzt schon, ob ich die exotischen Features nur in einem Experten-Modus sichtbar machen sollte. Man könnte es vielleicht auch nur global einstellbar machen.

edit: Hatte übrigens auch mal Gothic 2 hier intensiv getestet (das ganze DragonIsland Kapitel). Keine Instabilität hier. Lief alles prima. Also erstmal keine Idee ausser den Code öfter mal durchzusehen um vielleicht dort Fehler zu entdecken. Weiss ja nicht, ob du es man getestet hast mit Quit-Option und dergeleichen. Wäre sicher nicht verkehrt.

hasufell
2003-07-31, 03:34:57
hmm...also an meinem Sys an sich liegts bestimmt net

ich bin da sehr pingelig, wenn es darum geht sein OS in der Hand zu haben

also bei mir ist es ja so, ich lasse icq und emule im Hintergrund noch laufen und ich denke beim beenden des Spiels hat sich dann möglicherweise irgendein Vorgang verhangen...

es passiert wirklich nicht oft und Gothic 2 hab ich leider schon von der Platte runter (hast dus schon fertig? bist ja kurz vorm Ende :) )

das letzte was mir aufgefallen ist, war, dass einmal ein Start von tdprof irgendwie fehlschlug...ich habs dann nochmal gestartet und dann öffneten sich 2 Fenster


wegen dem Ramleer...naja...so viel wie möglich eben und ich warte gern
das von Spiel zu Spiel einstellen zu können wie die Prozessorpriorität wäre natürlich auch sinnvoll

Tom Servo
2003-07-31, 07:44:09
Wenn sich 2 Fenster geöffnet haben, dann ist der Start m.E. anfangs nicht direkt fehlgeschlagen, sondern Windows hat wohl etwas länger gebraucht (vielleicht direkt nach dem Booten passiert?)

OK, das mit dem EMule hatte ich verdrängt. Hätte ich ja auch probieren können. Bin aber jetzt mit Gothic 2 erstmal durch. Ich denke aber, das man nie sicher sein kann, ob am eigenen System was nicht in Ordnung ist. Man kann Fehlerfreiheit nunmal generell nicht beweisen. Habe auch schon seit Ewigkeiten keinen Windows Absturz mehr gesehen, aber das heisst nicht, dass nicht doch irgendwas nicht stimmt.


Wenn du gerne wartest, dann brauche ich mich ja nicht zu beeilen. ;)

Habe es in die letzte Testversion einstellbar im Profil eingebaut.

Das Programm was den Speicher "leert" ist aber noch extrem primitiv und muss noch geändert werden. Es hat auch noch einen hart-codierten Timeout von 15 sekunden eingebaut. Spätestens dann beendet sich.

Von der GUI aus kann man es mittels Abort Knopf aber auch schon früher killen wenn man nicht länger warten möchte.

http://home.tiscalinet.de/bertw/proj/tdprof/images/tdprof_shot_free_ram.png

Tom Servo
2003-08-03, 18:26:14
Mal wieder was neues. Auf Anregung von Hasufell gibts nun eine Funktion welche versucht die 3D API herauszufinden und dementsprechend z.B. automatisch alle OpenGL Einstellungen disabled wenn ein Spiel nur Direct3D benutzt.

Neu ist auch ein eingebautes Registry Diff Tool. Gedacht zum Anpassen an neue Treiberversionen oder Grafikkarten.

Es listet Änderungen im Treiber Key und dessen Subkeys auf. Man kann also direkt beobachten welche Änderungen z.B. das Control Panel vornimmt, wenn man bestimmte Optionen ändert.

hasufell
2003-08-07, 18:05:06
tolle Arbeit Tom!

ich werd dein Tool nochmal einem Härtetest unterziehen :)

Gast
2003-08-10, 13:29:05
hmpf das Programm geht bei mir nicht.

http://docterdee.piranho.com/Clip.jpg < fehler meldung

Tom Servo
2003-08-10, 13:58:46
Danke fürs Testen.

Leider muss ich sagen, dass diese Windows-"Fehlermeldung" mir momentan nichts sagt.

Hast du auch die .net Runtime installiert? Link auf meiner Webseite ganz unten.

Kannst ja auch mal tdprof_debug.exe starten, ob das eine andere Fehlermeldung bringt. Eigentlich sollten .NET Fehlermeldungen ganz anders aussehen, als das was dein Windows da anzeigt.

edit: Laut Google fehlen dir wahrscheinlich wirklich nur die entsprechenden DLLs aus der .net-Runtime von Microsoft. Da .net noch relativ neu ist, sind die bei älteren Windows Versionen nicht mit dabei, können aber bei Microsoft downgeloadet werden.

Gast
2003-08-10, 14:25:31
Ja lag wohl an dem .Net

//Feature request ;)
würde es gehen 3DProf im hintergrund laufen zu lassen und das es die Games automatisch detected wenn man sie startet. Wär mir persönlich viel lieber :)

Tom Servo
2003-08-10, 17:19:33
Original geschrieben von Gast
Ja lag wohl an dem .Net

//Feature request ;)
würde es gehen 3DProf im hintergrund laufen zu lassen und das es die Games automatisch detected wenn man sie startet. Wär mir persönlich viel lieber :)

Danke für deine Rückmeldung.

Sicher ein gutes Feature, aber 3DProf ist eher ein Launcher. Man kann damit also verschiedene Profile für ein und das gleiche Spiel haben. Also z.B. für den Multiplayer-Modus eine andere Konfiguration als für den Singleplayer-Modus eines Spiels.

Es gibt auch Aktionen die vor dem Spielstart durchgeführt werden sollen (z.B. das ISO mounten).

Das passt alles nicht so gut zusammen auch wenn man es trotzdem irgendwie passend machen könnte und es sicherlich manchmal auch die weitaus bessere Lösung wäre. Da der Aufwand aber hoch ist, möchte ich das zur Zeit lieber nicht in Angriff nehmen.

Immerhin kann man aber Destkop Verknüpfungen erzeugen die den Game-Start auch so recht komfortabel machen. Ich habe dabei nur die Spiele auf dem Desktop die ich z.Zt. regelmässig spiele. Alle anderen lösche ich vom Desktop und kann sie später mit dem MakeLink Button jederzeit neu erstellen.

Ich könnte aber zusätzlich noch eine Menüoption einbauen, welche einen Ordner auf dem Desktop oder im Startmenü mit Verknüpfungen für alle Profile erzeugt.

Gast
2003-08-10, 17:43:54
Nunja wär halt besser für leute die MP Spiele spielen und lieber mit HLSW oder ASE connecten

Tom Servo
2003-08-10, 18:05:26
Da gabs IIRC glaube ich mal einen Thread, wo Radlinker User auch dieses Problem hatten. Und es war wohl auch so lösbar, ohne das Radlinker Prozesse erkennen muss.

Wenn ich mich jetzt nicht täusche, dann ist es nur nötig, dass du Argumente an das Game übergeben kannst.

Im Prinzip ist das mit 3DPRof sogar jetzt schon möglich, aber vermutlich müsste ich das erst noch testen und evtl. anpassen.

Gedacht war es so:

tdprof.exe -run "High Quality" -alt_exe "D:\Sierra\Half-Life\hl.exe" -alt_args "-game cstrike -console ..."

oder

tdprof.exe -run "Counter Strike" -alt_args "-game cstrike -console ..."

Damit werden dann die im Profil definierten Argumente komplett ersetzt. Sinnvoller wäre für diesen Zweck aber eine zusätzliche -add_args Option um Argumente (wie den Server) einfach hinten ranzuhängen.

tdprof.exe -run "Counter Strike" -add_args "-console ..."


Oder einfach eine Unix-like "--" Option welche alle Argumente dahinter als Game-Argumente kennzeichnet, egal wieviele.

tdprof.exe -run "Counter Strike" -- -console ...

Gast
2003-08-10, 21:32:27
oha überkompliziert ;) Naja ich hoff das wird es jemals geben. Aber das Programm an sich ist schon Gold wert.

Tom Servo
2003-08-10, 23:33:43
Original geschrieben von Gast
oha überkompliziert ;) Naja ich hoff das wird es jemals geben. Aber das Programm an sich ist schon Gold wert.


Nunja, es liest sich kompliziert, aber in Wirklichkeit ist es noch viel komplizierter.

Leider hat HLSW da einige Eigenheiten, wodurch eine solch einfache Sache erstmal unmöglich gemacht wird:

- Eigene Argumenten kann man zwar angeben (nötig für z.B. ein -run "UT2003"), aber dieses werden irgendwo in die Mitte der Kommandozeile geklatscht. Das wäre alleine noch kein allzugrosses Problem.

- Man kann zwar ein Verzeichnis und eine EXE-Datei angeben, aber bei UT2003 wird dann die EXE-Datei in Verzeichnis\system\ gesucht und nicht in Verzeichnis\ selber.

Das einzige was mir dazu noch einfällt, wäre eine kleine EXE Datei die man per Knopfdruck im Game-Directory erzeugen kann. Man hätte dann bei UT2003 z.B. 2 zusätzliche Dateien im System-Directory:

UT2003-tdprof.exe
UT2003-tdprof.ini - enthält Namen des Profils, Install-Dir von 3DProf

In HWSL müsste man dann bei Dateinamen statt UT2003.exe eben UT2003-tdprof.exe angeben und das wäre dann auch schon alles.

bluey
2003-08-11, 13:34:13
hmm, wie wär es mit einen Symbol in der Symbolleiste mit denn man schnell zwischen denn Profilen wechseln kann? *vorschlag* :D

Tom Servo
2003-08-11, 16:41:29
Original geschrieben von DocterD
hmm, wie wär es mit einen Symbol in der Symbolleiste mit denn man schnell zwischen denn Profilen wechseln kann? *vorschlag* :D

Das mit dem Tray-Icon muss ich mir mal überlegen. Bisher wollte ich keins haben, aber damit ein Profil auszuwählen wäre nicht schlecht. Wofür willst du es denn genau haben? Um Spiele damit direkt zu starten oder nur die 3D Einstellungen zu ändern?

Oben hatte ich da auch einen ähnlichen Vorschlag gemacht mit einem Ordner im Startmenü. Das hätte immerhin den Vorteil, dass man keinen Prozess am laufen haben müsste, während für das Tray-Icon entweder tdprof.exe oder ein wenigstens ein extra Prozess laufen müsste.

In ein Tray-Icon könnte man natürlich noch zusätzliche Funktionen einbauen.

Das mit HLSW läuft hier inzwischen recht gut. Man muss in den HLSW Einstellungen den Namen der Game-exe-Datei gegen TDProfGD.exe austauschen. Muss ich aber noch zu Ende implementieren. Momentan muss man TDProfGD.exe noch per Hand ins Game Directory kopieren und die dazugehörige TDProfGD.ini per Hand schreiben.

Ich hoffe das ist dann am Ende auch benutzbar. Ein Überwachen der laufenden Prozesse wäre sicherlich deutlich komfortabler in diesem speziellen Fall.

bluey
2003-08-11, 17:26:47
um zwischen denn Profilen zu wechseln. Vieleicht dann per doppel Klick auf das Symbol das Spiel zu starten? BTW eine Tripple Buffer Option würd sich auch anbieten für dein 3DProf da nich jedes OpenGL es unterstütz. Könnt man es dort schön einstellen.

Tom Servo
2003-08-11, 19:35:09
Original geschrieben von DocterD
um zwischen denn Profilen zu wechseln. Vieleicht dann per doppel Klick auf das Symbol das Spiel zu starten? BTW eine Tripple Buffer Option würd sich auch anbieten für dein 3DProf da nich jedes OpenGL es unterstütz. Könnt man es dort schön einstellen.

Gut dann mache ich es so. Entweder mit Doppelklick, oder Modifier-Taste wie z.B. Shift oder vielleicht auch getrennte Menüs für beide Funktionen.

Über OpenGL Triple Buffer hatte ich im Forum auch schon gelesen und es klang nach einer guten Sache im Zusammenspiel mit VSync.

Weiss jetzt momentan nur nicht wo man das genau einstellt. Habe zur Zeit die GeForce FX drin und finde dort weder im Control Panel noch bei RivaTuner diese Option.´

Oder gehts nur mit der Radeon?

btw: Das mit HLSW ist jetzt in der Unstable-Version enthalten. Habe es erfolgreich getestet mit Half-Life, Q3A und UT2003. Im Profile Menü ganz unten kann man die Dateien im Game-Folder erzeugen und dann TDProfGD.exe in HLSW unter Einstellungen|Spiele als Datei eintragen.

bluey
2003-08-11, 19:45:06
ok danke :)

Wegen Tripple Buffering (http://www.rage3d.com/board/showthread.php?s=&threadid=33699972&highlight=triple+buffering)

Tom Servo
2003-08-11, 20:12:15
Danke für den Link. Kann es leider z.Zt. nicht selber auf meiner Radeon testen, aber folgendes müsste funktionieren:

Für Windows 2000/XP


;; Als Datei "usr-specfiles\ati-r300-win5.cfg" abspeichern

[OGL_Extra_2_Values]
id="OGL_EnableTripleBuffering"
gui_label="3Buf", gui_tooltip="Triple buffering enable. If VSync is enabled then triple buffering can enhance frame rate."
name="Off", rv("OpenGL\OGLEnableTripleBuffering"="dword:00000000")
name="On", rv("OpenGL\OGLEnableTripleBuffering"="dword:00000001")

include("specfiles/ati-r300-win5.cfg")



Für Windows 9x/ME:


;; Als Datei "usr-specfiles\ati-r300-win4.cfg" abspeichern

[OGL_Extra_2_Values]
id="OGL_EnableTripleBuffering"
gui_label="3Buf", gui_tooltip="Triple buffering enable. If VSync is enabled then triple buffering can enhance frame rate."
name="Off", rv("OpenGL\OGLEnableTripleBuffering"="dword:00000000")
name="On", rv("OpenGL\OGLEnableTripleBuffering"="dword:00000001")

include("specfiles/ati-r300-win4.cfg")

Tom Servo
2003-08-12, 03:36:14
Das Tray-Icon ist in der letzten unstable Version jetzt drin. Ist aber noch verbesserungsbedürftig.

bluey
2003-08-13, 12:33:49
Eine Autostart funktion fehlt noch und 3DProf sollte ausgeblendet sein auf dem Desktop wenns schon in der Tray Leiste vertreten ist. ;D

Tom Servo
2003-08-14, 04:54:36
Autostart ist jetzt auch drin. TDprof.exe wird damit als Tray-Icon beim Widows-Start (bzw. beim Einloggen) gestartet. Die Einstellung ist User abhängig.

Das mit dem Window verstecken habe ich zwar jetzt verbessert, aber
das Main-Window bzw. Taskleisten-Symbol bekommst du momentan trotzdem nur durch Doppelklick auf das Tray Icon weg (und umgekehrt). Das ändere ich aber noch.




btw: Habe jetzt auch den Grund gefunden, warum das GUI Autorestore öfter mal eine Exception tief in einer Microsoft DLL verursacht hat. Weiss aber nicht, ob den Fehler ausser mir überhaupt schon mal jemand gesehen hat.

bluey
2003-08-14, 11:04:49
3DProfGD + ini > Create

bekomm eine Fehlermeldung

//

Informationen über das Aufrufen von JIT-Debuggen
finden Sie am Ende dieser Meldung, anstatt in diesem Dialogfeld.

************** Ausnametext **************
System.IO.FileNotFoundException: Die Datei etc/TDProfGD.exe konnte nicht gefunden werden.
Dateiname: etc/TDProfGD.exe
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
at TDProf.GUI.FormMain.menu_prof_tdprofGD_create_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
tdprof
Assembly-Version: 1.0.1321.5128
Win32-Version: 1.0.1321.5128
CodeBase: file:///G:/Tools/3dprof/tdprof.exe
----------------------------------------
System.Windows.Forms
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
mscorlib.resources
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_de_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 1.0.5000.0
Win32-Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_de_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht von diesem Dialogfeld behandelt.

Tom Servo
2003-08-14, 12:38:05
Original geschrieben von DocterD
System.IO.FileNotFoundException: Die Datei etc/TDProfGD.exe konnte nicht gefunden werden.


Danke für den Bugreport.

Die Datei war nur in der MSI-Installer Version enthalten fehlte aber in der zip Distribution. (Hatte da nicht den gleichen Pfad in der IDE wie im Makefile. Ist mir allerdings noch ein Rätsel, warum Make da keine Fehler gemeldet hat.)

bluey
2003-08-14, 13:00:53
ahh und nochwas

Die Image Funktion ist ne gute Idee bloss bringt leider bringt nicht soooviel bei Spielen mit mehr als 1CD.

Und noch nen kleiner Bug:

P.S.: Nicht auf das JK3 achten :/

Tom Servo
2003-08-14, 19:24:40
Man kann absichtlich nur 1 CD mounten, damit die GUI nicht zu kompliziert wird. Ich habe z.B. nur ein einziges Spiel, welches 2 CDs zum Spielen (!) braucht (Grim Fandango) und IIRC konnte man dort trotzdem nicht beide CDs gleichzeitig in verschiedene Laufwerke einlegen. Kann mich da aber auch irren.

Ich ging davon aus, dass man notfals eine .bat Datei erstellen könnte und dass mein Programm vielleicht ähnlich kompliziert zu benutzen wäre wie eine .bat Datei, wenn ich mich bei den Featuren nicht zurückhalte.

Wegen des Screen-Shots: Falls du die beiden gleichnamigen Menü-Punkte meintest, so war das Absicht. Der obere Punkt enthält Profile ohne EXE-Datei und der untere Profile mit EXE-Datei. Mir ist nun leider kein Name für die Menüs eingefallen der diesen Unterschied verdeutlicht. Vielleicht wars keine so gute Idee von mir.

bluey
2003-08-14, 19:31:15
nene es müssen nicht beide gemounted sein. Kannst du es nicht so einrichten. Das beim starten eines Spiels mit 3Dprof er fragt welche Image von einer kleinen Auswahlt gemounted werden soll?

Tom Servo
2003-08-14, 20:00:33
Ich werde Mehrfachauswahl im Filerequester (und beim Drag'n'Drop) einbauen. Das ist ja eigentlich gar nicht kompliziert zu benutzen sondern eher Standard-Verhalten.

Wenn mehr als ein Image gewählt wurde, dann wird eine Liste der Images als ComboBox anstatt wie bisher als einzeilige TextBox angezeigt.

Man kann dann ein Image auswählen und dann für dieses Image die Daemon-Drive-Nummer einstellen. Wenn zwei Images dieselbe Nummer benutzen, dann wird beim Start nachgefragt, welches Image gemountet werden soll, andernfalls werden alle gemountet.

Zusätzlich wäre dann vielleicht auch ein Apply + Run Menü ohne Mount im Tray Icon Menü nützlich, falls man sich sicher ist, dass noch das richtige Image gemountet ist, was ja sehr oft der Fall ist.

Dann bräuchte man noch eine Möglichkeit, das Image zu wechseln, falls das während des Spiels nötig wird.

edit: Teilweise geht es jetzt schon (also Mehrfachauswahl bis maximal 4 Images durch FileRequester und Drag'n'Drop). Kann man aber bisher nur alle gleichzeitig mounten. Das mit der Auswahl zum Start oder während des Spiels geht noch nicht.

Tom Servo
2003-08-16, 02:50:21
Das Mehrfach-Mounten ist nun im Prinzip fertig. Wenn man mehr als ein Image auf das selbe daemon-tools Laufwerk legt, dann erscheint vor dem Mounten ein Dialog.

Es ist dabei egal ob man den "IMG" Button gedrückt hat, oder das Spiel über den 3-in-1 Button, das Tray-Icon-Menü oder eine Desktop Verknüpfung gestartet hat.

Um während des Spiels die CD zu wechseln, muss man zur Zeit den IMG Button drücken. Hier ist natürlich noch ein Problem, falls man die GUI nicht zu laufen hat (Start über eine Desktop Verknüpfung).

Momentan kann man auch nur 4 Images je Profil haben. Ist vielleicht etwas wenig? Man könnte ja theoretisch ein Profil anlegen, was nur fürs Mounten da ist (3D Settings kann man deaktivieren).

Damit man mehr speichern kann, müsste ich dem Dateiformat mit dem die Profile gespeichert werden erst noch Listen beibringen.

Dann fehlt auch noch eine Möglichkeit einzelne Images aus der Liste zu löchen bzw. hinzuzufügen.

Im Tray-Icon-Menü gibts jetzt außerdem noch ein Menü zum Mounten wo man ein Image aus einer Liste aller dem Launcher bekannten Images auswählen kann.

bluey
2003-08-17, 00:56:48
sind die neuerungen schon in der aktuellen Beta enthalten?

Tom Servo
2003-08-17, 01:47:44
Ist jetzt in der beta Version drin. Bis vorhin war sie nur in der unstable Version. Wollte erstmal mit der Radeon testen, weil ich deren Config Files etwas umgebaut hattte.

huha
2003-08-19, 18:53:48
Ich hab zwar dein Programm noch nicht ausprobiert (einfach aus dem Grund, weil ich kaum Spiele hab) aber was mir desöfteren v.a. während längerer Spiele negativ auffällt, ist die Sache mit dem RAM.
Könntest du vielleicht noch eine Funktion einbauen die folgendes macht:



Generelle Einstellungen der Funktion
Intervall: [10-180] Minuten
Freizumachender RAM [1-100] %
Nicht starten über [1-100] % belegtem RAM


Einstellungen im Spielprofil:
[Checkbox] Automatisches RAM-Freimachen aktivieren



Für was soll das gut sein? Manche Spiele fressen einfach Unmengen von RAM, den sie dann nicht mehr korrekt freigeben. V.A. unter nicht-NT-Betriebssystemen ein großes Problem. Diese Option würde jetz alle [Intervall] Minuten einen RAM-freimach-Prozess starten, der auf einer eher niedrigen Priorität läuft und das Spiel so wenig wie möglich stört.
Dieser Prozess würde n Prozent RAM freimachen (oder es wenigstens versuchen)
Würde der Anteil des freien Arbeitsspeichers vor dem Freimachen über x Prozent liegen, würde der Prozess gar nicht erst starten.
Im Spielprofil kann man dann einstellen, ob die Funktion überhaupt aktiviert werden soll (für schnelle Games nicht so empfehlenswert, für ruhige RAM-Fresser (RTS) schon eher.)

-huha

bluey
2003-08-20, 12:56:25
Hmm weis nicht ob das jetzt hier rein gehört, aber als Q3 Spieler ist mir das ziemlich wichtig. Ich besitze eine Logitech Maus und habe die aktuellen Treiber drauf. Laufen auch ganz gut. Dabei benutzte ich die Option > Beschleunigung in Spielen abstellen.

Mein Problem ist. Wenn ich mit 3DProf Q3 starte wird anscheinend diese Option einfach übergangen und ich in Q3 mit dieser Beschleunigung zu kämpfen hab.

Hab selbst ein wenig herum versucht. Hab aber leider nur heraus gefunden wo die GameProfiles von denn Spielen in den Logitech Treibern installiert sind.

HKEY_LOCAL_MACHINE\SOFTWARE\Logitech\MouseWare\CurrentVersion\GamingCompatibilit y

Ich hoffe du kannst das irgendwie Bugfixen. Denn 3DProf für mich das Tool um zwischen MP und SP Spielen an AA und AF zu wechseln ohne mich extra durch Menüs zuklicken.

Tom Servo
2003-08-20, 14:15:36
@DoctorD

Habe auch eine Logitech hier, aber ist nur eine normale 3 Tasten Maus. Muss ich mal sehen, ob diese Mouseware damit auch läuft.

@huha

Momentan ist leider selbst die normale RAM Befreiungs Funktion beim Spielstart noch sehr primitiv (evtl. auch unbrauchbar). Man müsste noch das zuständige C++-Programm verbessern.

Die von dir genannte Funktion ist eigentlich einfach zu realisieren, aber ob es das Spiel nicht doch mehr stört als es nützt müsste man probieren.

Nur ist die Prozess Priorität m.E. nicht unbedingt ein Mittel um zu gewährleisten, dass das RAM freimachen dann passiert, wenn es gerade nicht stört.

Wenn z.B. das Spiel keine RAM mehr hat, dann steigt ja m.E. nicht die CPU Last sondern es gibt viele Festplattenzugriffe (per DMA) und gerade jetzt sollte ein RAM Freimach-Prozess nicht dazwischenfunken.

Man muss bedenken, dass diese RAM-frei-Sache nichts anderes macht, als Windows zum Auslagern von physischen Speicher zu überreden. Und das sollte möglichst nicht gemacht werden, wenn anderweitig auf das Pagefile zugegriffen wird.

Man müsste m.E. das Freimachen so steuern, dass es nur abläuft, wenn die Festplatte gerade sowieso nicht benutzt wird. Da es kaum Rechenzeit braucht, sollte es das Spiel nicht stören.

Leider habe ich von Windows-Internas kaum Ahnung, und kann deswegen auch komplett daneben liegen.

bluey
2003-08-20, 15:39:07
btw Servo
Wegen Priorität Funktion. Gibt es eigentlich ne möglichkeit ohne einem exteren Programm die Priorität festzulegen? Also per Verknüpfung oder sonstwas?

Tom Servo
2003-08-20, 17:13:07
Verstehe jetzt nicht, was gemeint ist. Müsstest du genauer erklären, von welchem Prozess du die Priorität ändern möchtest und wann.

Falls jetzt noch von 3DProf die Rede ist: Man kann eine Prioritäts-Klasse im Profil einstellen. Sofort nach dem Starten des Spiels wird dann die Priorität des Spiel-Prozesses entsprechend dieser Einstellung gesetzt.

edit: Meinst du jetzt, ob man die Priorität z.B. in einer Windows-Explorer Verknüpfung einstellen kann? Weiss nicht ob das geht.

Hätte man ein Kommando RunPrio.exe dann könnte man das dann vor den Programm-Namen setzen.

Vorher: C:/Programme/x/y.exe
Nacher: RunPrio.exe -High C:/Programme/x/y.exe

Sowas wirds sicher geben, falls Windows sowas nicht anbieten sollte.

Tom Servo
2003-08-27, 20:39:48
In der unstable Version ist jetzt Clocking auch für nVidia Karten bis zur GF4Ti möglich. (Mit GeForce FX ist nur ein Anzeigen der Frequenzen aber keine Änderung möglich.)

Ist aber noch experimentell und läuft auch z.Zt. nicht unter Windows 9x/ME.

hasufell
2003-09-05, 23:49:53
Original geschrieben von DocterD
btw Servo
Wegen Priorität Funktion. Gibt es eigentlich ne möglichkeit ohne einem exteren Programm die Priorität festzulegen? Also per Verknüpfung oder sonstwas?
versteh ich auch net ganz

vielleicht hast du ja bock auf das (http://www.windows-tweaks.info/html/prozessorprioritat2.html)...

Tom Servo
2003-09-26, 01:21:18
Neueste Änderungen in der "unstable" Release:

- Detonator 51.57 Support (nur W2K/XP)
- Der Taktraten Logger für FX Karten ist jetzt per Menüpunkt aus 3DProf aufrufbar. (nur W2K/XP)

x-dragon
2003-09-26, 20:43:18
Der Link bei deinem ersten Posting funktioniert zumindest aktuell nicht, gibts noch einen anderen?

Tom Servo
2003-09-26, 22:52:51
Hallo X-Dragon,

danke für den Hinweis.

Hatte meine Homepage umgebaut, wodurch die meisten der Links jetzt ungültig sind, auch wenn man natürlich noch über die Index-Seite hin findet.

x-dragon
2003-09-26, 23:35:31
Kein Problem, wollte ja nur mal die aktuelle Version runterladen. Ist die Sprachumstellung auch noch in Arbeit? Bei mir funktioniert sie zumindest nicht (naja die Umstellung im Menu schon) =).

Omnicron
2003-09-27, 00:28:01
Hi ich habe wieder eine Anregung.
Mit Hilfe von Clockgen ( http://www.cpuid.com/clockgen.php ) kann ich meine CPU mittels Verknüpfung einfach über/untertakten. Auf dem Desktop takte ich auf 2200 Mhz, beim Zocken auf 3000Mhz, leider aber immer manuell.
Wäre es nicht möglich noch selber Programme anzugeben, die vor dem Start bzw. nach Ende eines Spiels ausgeführt werden ?

Tom Servo
2003-09-27, 02:08:06
@X-Dragon

Die Spracheinstellung beinflusst z.Zt. einige Fehlermeldungen. Alles weitere ist zur Zeit noch nicht implementiert. Auch ein Manual fehlt. Ich werde das aber jetzt doch mal in Angriff nehmen. Wäre wirklich nötig.

@Omnicron

Da man dieses ClockGen-Programm mangels Kommandozeilen-Parametern kaum sinnvoll integrieren kann (anders als daemon-tools) wäre dieses Feature zum ausführen von irgendwelchen Dateien vor und nach dem Start hier m.E. wirklich genau das Richtige.

Werde es einbauen.

Tom Servo
2003-09-27, 16:59:51
@Omnicron

Habe es jetzt als ersten Schritt erstmal auf eine recht primitive Art und Weise eingebaut. Weiss nicht, ob das für diesen Zweck schon nutzbar ist.

Man kann global unter "Menü: Settings => Pre/Post-Commands" jeweils ein oder mehrere Kommandozeilen angeben, welche dann vor bzw. nach jedem Spiel (also für alle Profile mit Spiel) ausgeführt wird.

Wird dann später noch verbessert:
- durch zusätzliche profil-eigene Einstellungen
- Auswahl der Kommandos mittles Datei-Browser
- Fehlermeldungen bei nicht existierenden Dateien

Da ClockGen mein Mainboard nicht unterstützt, konnte ich es damit nicht ausprobieren. Müsste aber eigentlich gehen.

Tom Servo
2003-09-28, 17:45:07
Habe jetzt auch Kommandos für Profile hinzugefügt.

Gibt aber z.Zt. noch ein paar Einschränkungen:

- Alle "After-Game" Kommandos funktionieren nur bei aktiviertem Auto-Restore.
- Die "After-Game" Kommandos des Profils gehen noch nicht zusammen mit TDProfSL.

edit: habe jetzt alle Kommando-Einstellungen in einem eigenen Editor-Fenster zusammengefasst (Menü: Profiles => Commands...). Ist m.E. übersichtlicher. Damit es trotzdem nicht zu umständlich wird, kann man direkt in diesem im Fenster nochmal das Profil auswählen.

Omnicron
2003-10-01, 02:21:22
Hi, habe leider ein kleines Problem :
Ich stelle generell bei den Settings das Tool zum vorher/nachher starten ein.
Ich starte ein Spiel direkt im Config Tool, beende es wieder - alles klappt super. In die Options.cfg wird auch das Nachher Tool geschrieben.

Wenn ich aber ein Spiel per 3DProf-Verknüpfung starte, erscheint beim beenden des Spiels diese Fehlermeldung, das Nachher-Tool wird nicht ausgeführt, und wird auch in der options.cfg gelöscht. Teste das morgen noch genauer.

Tom Servo
2003-10-01, 03:21:39
Habe den Bug gerade mit dem Debugger gefunden. Danke fürs Reporten.

Allerdings tritt der Bug nur auf, wenn man die TDProfSL.exe Option verwendet.

Wie ich oben schon schrieb, kannst du dann damit z.Zt. nur globale Nachher-Kommandos benutzen. Zur Zeit kennt TDProfSL.exe nicht den Namen des Profils und deshalb können beim Restore die im Profil gespeicherten Kommandos nicht gefunden werden. Muss das erst noch ändern, was aber keine grosse Sache ist.

Den Bug fixe ich aber gleich.

Omnicron
2003-10-01, 17:22:09
Egal ob ich die Autorestore / TDProfSL verwende, die Nachher-Exe wird nicht ausgeführt, und auch aus dem Profil gelöscht. Allerdings tritt die Fehlermeldung nicht mehr auf.

Tom Servo
2003-10-01, 18:51:32
Original geschrieben von Omnicron
Egal ob ich die Autorestore / TDProfSL verwende, die Nachher-Exe wird nicht ausgeführt, und auch aus dem Profil gelöscht. Allerdings tritt die Fehlermeldung nicht mehr auf.

Hier geht's zwar, aber ist natürlich immer noch alles experimentell. Muss ich nochmal alles überprüfen. Ist zwar ein einfaches Feature, aber der ganze Code zum Spielstarten ist inzwischen doch ziemlich umfangreich und das kann zu Fehlern führen.

Mögliche Fallen beim Gebrauch wären:

- Profil wurde nicht mit "Save" Button abgespeichert vor dem Anklicken der Verknüpfung

- TDProfSL war vielleicht doch noch aktiv (warum auch immer). Kann man zweifelsfrei sehen an der Titelzeile des Fensters was aufgeht bei Spielen mit Launcher (oder unter 2min Laufzeit). Dort steht entweder TDProfSL oder 3DProf

Tom Servo
2003-10-01, 21:32:19
TDProfSL kommt nun ebenfalls mit Nach-dem-Spiel-Kommandos klar. Die Bugs suche ich heute nicht mehr, habe morgen viel Stress auf Arbeit, deswegen heute keine Nachtschicht. Vielleich nochmal testen, ob es nicht vielleicht wirklich am "Save" Button lag.

Hatte heute auch schon mit dem Eindeutschen der GUI angefangen. Gibt jetzt im Language-Menü zusätzlich den Menüpunkt "Auto."

Omnicron
2003-10-02, 20:00:53
Also manchmal gehen die generellen Nachher Kommandos bei mir überhaupt nicht, nach einigen Versuchen gehen die Vorher Kommandos nicht mehr, die Nachher aber schon.
K.A. warum, vielleicht noch ein Bug versteckt.

Es geht nur ohne Probleme wenn ich die generellen Kommandos deaktiviere und für jedes Profil die Kommandos einzeln einstelle.
Wenn ich die gen. Kommandos leer habe, aber trotzdem aktiviere, wird das Nachher Kommando des Profils 2 mal ausgeführt.

Tom Servo
2003-10-02, 22:43:12
Danke für den Bugreport. War sehr hilfreich.

Der Bug war, dass der OK Button des Commands-Dialog die globale Konfiguration nicht nach options.cfg gespeichert hat. Als die Einstellung noch im Settings-Dialog angesiedelt war, ging es, weil der OK Button dort speichert.

Der Bug ist jetzt behoben und das Speichern der Profil-Kommandos mit automatisiert. Weil die Sache aus der GUI heraus funktioniert hat, sollte es jetzt dank der korrekt gespeicherten Konfig-Dateien alles gehen.

Omnicron
2003-10-03, 01:15:05
Ja jetzt geht es sehr viel besser, aber anscheinend ist immer noch ein Bug drin. Wenn ich ein Kommando mit Leerzeichen im Pfad habe, muss ich dieses in Anführungsstriche setzen, damit die Datei gefunden wird.
Bsp. "C:\Action Games\Tron.exe"
Das funktioniert als Vorherkommando, aber komischerweise nicht als Nachherkommando, d.h. wird nicht ausgeführt.

Tom Servo
2003-10-03, 15:27:04
Danke für den Bugreport.

Ist ein Problem beim einlesen der Konfigdatei. Der Parser konnte nichts mit \" anfangen. Hatte das nur für die globale Konfig-Datei hinzugefügt und den Parser für die Profile ganz vergessen.

Das heisst, die Profil-Kommandos sind nur korrekt solange das Programm nicht neu gestartet wird.

Ich hätte das Feature zumindestens nach den Änderungen systematischer testen sollen. Hatte es anfangs ja auch gemacht, bei den globalen Kommandos im Settings-Windows, wie man am Screenshot sieht.

Omnicron
2003-10-10, 22:39:32
Hi, hab gerade gemerkt dass das Tool unter D3D kein 2xAA mehr einstellen kann.
Weder wenn ein Profil gestartet wird, noch wenn ich es bei "Jetzt" umstelle. Alle anderen Modi darüber gehen, aber wenn ich 2xAA auswähle stellt es sich sofort auf "App" zurück.
Hab keinen neuen Treiber (immer noch 45.33) installiert, mit den vorherigen TD Versionen klappte 2xAA auch.

Tom Servo
2003-10-10, 23:56:48
Das klingt nach einem Fehler verursacht durch die neue Deto-50 Unterstützung.

Habe zwar gerade die Radeon eingabaut aber sollte es trotzdem nachvollziehen können, wenn ich die Deto-40-FSAA Werte auf einen leeren Extra-Slot lege. Aber das funktioniert dort problemlos mit FSAA-2x/App.

Sollte also eigentlich dann auch bei dir gehen, wenn du die neueste 3DProf Version downloadest. Vielleicht mal probieren?

Eine andere Möglichkeit wäre:

IIRC hattest du mal geschrieben, dass du ein eigenes Specfile benutzt, wegen der umbenannten Quality-Settings.

Das wäre ein mögliche Fehlerquelle, da ich wohl neulich Teile der ursprünglichen Specfile-Syntax abgeschaltet habe, wegen möglicher Mehrdeutigkeiten.

Also mal diese Datei löschen und für eigene Änderungen am besten eine Datei unter usr-specfiles anlegen und dort mit include die Original-Datei laden gefolgt von den gewünschten Änderungen / Erweiterungen:


;; Abspeichern als "usr-specfiles/nvidia-nv30-win5.cfg"
include("specfiles/nvidia-nv30-win5.cfg")

if(true)

[D3D_QualityEnhancements_Values]
name="Quality", rv("D3D_QualityEnhancements"=hex:00,00,00,00)
name="Balanced", rv("D3D_QualityEnhancements"=hex:0a,00,00,00)
name="Aggressive", rv("D3D_QualityEnhancements"=hex:14,00,00,00)

[OGL_QualityEnhancements_Values]
name="Quality", rv("OGL_QualityEnhancements"=hex:00,00,00,00)
name="Balanced", rv("OGL_QualityEnhancements"=hex:0a,00,00,00)
name="Aggressive", rv("OGL_QualityEnhancements"=hex:14,00,00,00)

endif

Tom Servo
2003-10-11, 00:00:47
... falls es wirklich an der Syntax liegt, müssten die Werte unter "Hilfe => Registry Werte" unvollständig oder falsch sein.

Die richtigen Werte für D3D-FSAA wären folgende:

Omnicron
2003-10-11, 21:10:54
Thx es geht wieder, lag wohl an dem Custom Specfile.

eXar
2003-10-15, 12:57:31
was ich mir persönlich wünschen würde. Wär ein schöneres Design ála rTool. Was ich auch nicht so toll find. Im Trayicon > Profil > Einstellung anwenden (non exe) (exe). Ich find diese beiden sollten zusammen gepackt werden. Weils sonst ein wenig verwirrend wird.

sonst ein 1A tool.

aths
2003-10-15, 20:09:46
rTool hat teilweise Design-Ideen vom aTuner übernommen.

Tom Servo
2003-10-16, 04:37:42
Original geschrieben von eXar
was ich mir persönlich wünschen würde. Wär ein schöneres Design ála rTool. Was ich auch nicht so toll find. Im Trayicon > Profil > Einstellung anwenden (non exe) (exe). Ich find diese beiden sollten zusammen gepackt werden. Weils sonst ein wenig verwirrend wird.

sonst ein 1A tool.


Danke fürs Feedback.

Bei dem Tray-Menü muss ich noch überlegen wie man das am besten macht. Die Trennung hatte ihren Sinn, da man bei "Einstellungen anwenden" idR ein "non-exe" Profile auswählen möchte während für "exe" Profile eher das "Starte Profil" Menü verwendet wird.

Ich könnte das m.E. selten benutzte "Einstellungen anwenden (exe)" einfach zum Untermenü von "Einstellungen anwenden (non-exe)" machen. Das "(non-exe)" würde aus dem Namen dann natürlich verschwinden.

Werde es dann noch konfigurierbar machen, so dass man auch ein gemeinsames Menü haben kann. Ist sehr einfach, da die fehlenden Einträge alle schon (unsichtbar) vorhanden sind.


Die trostlose Anordnung der Combo-Boxen in Reihen und Spalten ist Folge der Konfigurierbarkeit auf neue Treiber und/oder Chips. Und auch dass man Profil und Treibereinstellung zugleich im Blick haben soll.

Möglich wäre ein Chip-spezifisches Tab welches zusätzlich ein alternative GUI bereitstellt. Wäre recht einfach da nur ein Aufsatz auf die originale GUI.

Ich könnte auch alternative GUI-Elemente in der Konfig erlauben, was aber schon deutlich mehr Aufwand wäre. Und man wäre damit immer noch stark eingeschränkt bei der Gestaltung.

bluey
2003-10-18, 22:54:10
Also ich gib auch mal meinen Senf dazu.

Für mich stellt 3DProf das Tool dar für Gamers! Es ist soviel möglich damit. Ob es das schnelle einstellen für AF für jedes Spiel einzeln oder die schnelle CFG änderung in Quake3. 3DProf macht es möglich. Hör bloss nicht mit der entwicklung deines Tools auf sonst reiß ich dir denn Kopf ab ;D

Das einzige was ich mir persönlich Wünsche ist halt eine schönere GUI (Darunter ein schöneres Symbol für 3DProf :P). Das wärs eigentlich schon.

btw irgendwie bin ich nen bisschen Stolz das alle meine Wünsche realisiert worden sind hrhr ^^

Edit: Eine kleine Bitte. Wenn man ein TDProfGD.exe erstellt für einen Server Browser. Wärs schön wenn diese das selbe Symbol wie die Orginal ***.exe hätte. Sieht halt nen bisschen unschön im All Seeying Eye aus. Und im Überblick erkennt man nicht sofort welches Spiel was ist. Wenn alle denn selben Datei Namen haben.

und nen kleines Häckchen mit dem man die Autostart Funktion vom Deamon Tool Laufwerk ausstellen kann. Denn manchmal ist es nervig wenn das Autostart Menü und das Spiel gleichzeitig starten.

Edit2: Ich glaub ich hab noch 2 Bugs gefunden. Das erste wäre Profil > Einstellung (non Exe) ein Spiel zur Auswahl steht wird obwohl ich eine Exe angegeben hab.

Das andere wäre das unter CD Images > Mount Image in Laufwerk 0 > Mehrfach die Selben ISOs angezeigt werden. Bei mir zB steht dort 6x Jedi Academy ISO Datei.

Was auch noch schön wär. Eine art CPU Bremse. Ist mir gerade so aufgefallen als ich mein altes Jedi Knight 1 spielen wollte. Leider läuft das Spiel viel zu schnell auf meinem PC.

Tom Servo
2003-10-19, 10:46:34
Danke für das Feedback.

Das Programm ist zwar momentan wirklich nicht gerade hyper-erfolgreich, aber ich stelle es nicht ein, wo ich doch gerade erst vor 4 Monaten damit angefangen habe.

Durch neue Features wirds auch immer mal wieder interessant. Habe auch gerade in letzter Zeit wieder einiges dran gemacht, besonders bei der deutschen Lokalisierung.

Bei der GUI gibts vielleicht eine alternative GUI für die 3D Settings. Die Combo-Box-Wüste dürfte doch das Hauptproblem der GUI sein, oder?


Wenn man ein TDProfGD.exe erstellt für einen Server Browser. Wärs schön wenn diese das selbe Symbol wie die Orginal ***.exe hätte. Sieht halt nen bisschen unschön im All Seeying Eye aus. Und im Überblick erkennt man nicht sofort welches Spiel was ist. Wenn alle denn selben Datei Namen haben.


Das mit dem Symbol ändern, müsste ich erstmal rausfinden wie das geht. Ich könnte ausserdem den Original-Exe Namen benutzen mit irgendeinem Suffix oder Prefix (z.B. q3a.exe => q3a-3DP.exe) statt TDProfGD.exe.


nen kleines Häckchen mit dem man die Autostart Funktion vom Deamon Tool Laufwerk ausstellen kann.


Das geht leider nicht so einfach, weil daemon.exe diese Option nicht als Kommandozeilen-Parameter bereistellt. Man kann darüber nur mount/unmount und die Kopierschutz-Emulation steuern. Ich habe hier autostart in Windows abgeschaltet. Weiss noch nicht ob ich da irgendwas machen kann.


Das erste wäre Profil > Einstellung (non Exe) ein Spiel zur Auswahl steht wird obwohl ich eine Exe angegeben hab.


Anscheinend wird dieses Tray-Menü nur einmalig beim Programmstart aufgebaut. Wenn du zu einem Profil eine Exe hinzufügst wo vorher keine war, dann würde dieser Effekt eintreten und erst beim nächsten Starten wäre das Menü wieder korrekt. Werde das ändern.


Das andere wäre das unter CD Images > Mount Image in Laufwerk 0 > Mehrfach die Selben ISOs angezeigt werden. Bei mir zB steht dort 6x Jedi Academy ISO Datei.


War mir nie aufgefallen. Das war zwar einfach zu beheben, aber auch hier wird das Menü nicht upgedatet, wenn man ein neues Image im Haupt-Fenster hinzufügt oder entfernt.


Eine art CPU Bremse. Ist mir gerade so aufgefallen als ich mein altes Jedi Knight 1 spielen wollte. Leider läuft das Spiel viel zu schnell auf meinem PC.
Habe ich jetzt behoben.


Man könnte ein existierendes CPU-Bremse-Programm verwenden (sollte es doch geben). Muss man dann vmtl. als EXE angeben und das Spiel dann als Parameter. Ausserdem hat man noch die Vorher/Nachher Kommandos mit denen man beliebige externe Kommandos einbinden kann.
Wundert mich aber das dieses Spiel das nötig haben soll. Eigentlich sollte man das doch nur für Uralt-DOS-Spiele brauchen. Vielleicht hilft ja das Aktivieren von VSync?

Tom Servo
2003-10-24, 16:55:25
Das mit dem Spiele-Icon für TDProfGD.exe war gar nicht so einfach.

Ist jetzt in unstable Version enthalten, funktioniert aber nur mit Win2K/XP, und nicht mit Win9x/ME.

bluey
2003-10-24, 18:05:18
ich hatte ein paar seiten vorher das Problem mit der Maus acc. beschrieben. Schau mal hier Tom.
http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=63649

vllt wäre es möglich, eine option einzubauen die die Maus Acc ein und ausschalten jeweils pro Spiel. Evt würde der Author dabei helfen.

bluey
2003-10-28, 17:58:05
Mir ist 3DProf abgeschmiert.


http://mitglied.lycos.de/masterokd/Clip.jpg

http://mitglied.lycos.de/masterokd/Clip_2.jpg

Tom Servo
2003-10-28, 20:22:30
Danke für den Bugreport.

Muss leider zugeben, dass ich aus der Fehlermeldung momentan nicht recht schlau werde. Ist nicht direkt ein Fehler in meinem Programm, sondern stammt aus dem Framework, könnte aber vielleicht indirekt durch einen Programmier-Feler ausgelöst werden. Muss ich mich auch erstmal schlau machen.

Ist das direkt nach dem Starten passiert oder erst später? Und passiert das regelmässig oder eher einmalig?

Vielleicht nächstesmal besser die Fehlermeldung per Text-Copy&Paste aus dem Fenster rauskopieren? Könnte ich dann einfacher weiterverarbeiten. :)

Sorry, dass ich leider noch nichts wegen der Maus-Beschleunigung gemacht habe. Falls du mir die konkreten Registry-Werte sagen könntest (falls es auf diese Weise wirklich funktioniert), wäre es innerhalb eines Tages drin.

edit: Das mit dem Text-Copy&Paste geht gar nicht. Mein Fehler. Ist ja eine gewöhnliche MessageBox die sowas gar nicht kann.

bluey
2003-10-28, 20:32:39
also das mit dem Bug ist einfach so aufgetaucht. War bissher nur einmal. Und mit der Maus beschleunigung mach ich mich mal schlau.

bluey
2003-11-01, 23:55:29
kleiner Bug: Wenn man ein neues Profil erstellt kann man nicht sofort die TD3profGD erstellen. Man muss erstmal 3dprof neu starten dafür.

Tom Servo
2003-11-02, 14:34:57
Danke für die Info. Habe den Bug vorhin gefixt.

Bei der Sache vorher habe ich leider nichts rausbekommen. Hätte gehofft, mit Google was zu finden. War vielleicht auch nur eine Fehlfunktion von Windows.

Werde aber bei Gelegenheit das reporten solcher Fehlermeldungen vereinfachen.

bluey
2003-11-08, 00:23:25
konnte denn Bug oben nen paar mal reproduzieren. Er passiert immer wenn ich ein Theme in WinXP oder einer der Optischen Features in XP ändere.

Tom Servo
2003-11-08, 04:08:45
Kommt der Fehler zuverlässig bei jeder solchen Änderung oder nur manchmal? Auf meinem PC gibt es keinen Fehler beim Wechsel WinXP-Luna <-> Windows-Classic. Habe es ein paarmal probiert, weiss aber nicht, ob das schon hätte den Fehler bringen müssen.

Vermutung: Soweit mir bekannt, muss man für viele Windows-Themes bestimmte Nicht-Microsoft-Patches installieren. Vielleicht kann es damit zusammenhängen. Hast du sowas installiert und wenn ja, was genau?

bluey
2003-11-08, 12:11:42
ja hab eine gepatchte UXTheme.dll drauf. Liegt vllt daran.

bluey
2003-11-08, 22:43:39
btw 3DProf ist nun bei denn Omega Treibern dabei. Ich hab Omega ne Mail geschrieben weil ich 3Dprof so toll fand <: und nun ist es dabei. Schick war :D

Tom Servo
2003-11-09, 00:06:38
God bless you. :)

Hätte ich das gewusst, hätte ich sicher vorher noch mal intensiv Bugs gesucht. Aber Exxtreme hat wohl auch vorher nichts gewusst, als sein rTool mit drin war.

Gast
2003-11-09, 05:04:14
hi jungs!

habe heute auch die neuen omega driver 2.496c mit wincatalyst 3.9 gesogen und bin auch auf 3dprof gestossen :)

habe jetzt hier im forum nicht alles gelesen wollte aber wissen wer schon vorgefertige files für ne ati radeon 9800pro se hat, also configs für verschiedene games oder tipps und so weiter. können auch internetseiten sein

währe euch dankbar
greez

Tom Servo
2003-11-09, 15:36:41
Vorgefertigte Profile wie bei einigen anderen Tweakern gibt es für 3DProf nicht. Ich überlege schon längere Zeit, das importieren von Radeonator-Profildateien einzubauen. Wäre einfach, aber bin mir noch nicht klar ob das was bringt.

Ich selber benutze selten mehr als die üblichen 3D Einstellungen: FSAA, Aniso, VSync. Zumindestens darüber gibt es Artikel auf 3DCenter.de.

Die Funktion der anderen 3D Settings müsste ich in den Tooltips noch vollständiger erklären. Bin bei vielen Optionen noch nicht zu gekommen und teilweise sind sie mir selber nicht bekannt. Sollte ich aber mit Google oder Foren-Suchfunktionen genug Infos finden können.

Benutzbar sind Extra-Optionen momentan leider nur, wenn man vorher z.B. in einem Forum erfahren hat, das man bei einem Spiel eine bestimmte Option setzten sollte. Oder durch Ausprobieren.

In naher Zukunft wird es dann hoffentlich auch fertige Profile geben und auf jeden Fall bessere Tooltips.

Gast
2003-11-09, 17:46:55
kann mir mal jemand erklären, wie man das teil benutzt? ich kann zwar profile erstellen, aber die haben alle immer dieselben einstellungen. wie mach ich das, das jedes spiel eigene einstellungen hat? Und was hat der schalter :prf zu bedeuten, den kann man ja auch deaktivieren, wofür is der gut?

Gruß

Tom Servo
2003-11-09, 18:26:12
Es gibt zwar leider noch kein Manual, aber wenn du mit der Maus über ein Label gehst, sollte ein Tooltip aufgehen und Hilfestellung geben.

Jede Einstellung ist doppelt vorhanden. Oben die aktuelle Einstellung im Grafikkarten-Treiber. Unten steht die dazugehörige gewünschte Einstellung für das Profil.

Um im Profil z.B. Direct3D-FSAA-2x (AntiAliasing 2x) einzustellen, ändert man die Einstellung in der zweiten AntiAliasing-Box von oben gesehen. Für OpenGL-FSAA-2x wäre es die unterste AntiAliasing-Box.

Durch links/rechtsklick auf die Labels kann man eine Reihe oder Spalte deaktivieren. Wenn das Profil z.B. gar kein OpenGL benutzt, dann kann man alle OpenGL Einstellungen im Profil deaktivieren. Man kann aber auch ein Profil FSAA-2x/Aniso-2x anlegen, wo dann alle anderen 3D Einstellungen deaktiviert sind. So kann man eine Desktop-Verknüpfung 2x-2x haben und weitere Verknüpfungen wie z.B. Core350-RAM310 die dann eben nur genau diese Sachen ändern so dass man sie durch nacheinander anklicken kombinieren kann.

Sind die oberen Boxen grau hinterlegt und nicht änderbar muss man erst den Safe-Mode ausschalten im Optionen-Menü.

http://home.tiscalinet.de/bertw/proj/tdprof/img/de/tdprof_r300_shot_main.png

Gast
2003-11-09, 18:30:14
achso.. jetzt hab ichs kapiert, ich hab immer im ersten feld meine einstellungen gemacht, kein wunder das dann überall das gleiche steht.

Danke für deine hilfe, ich wär sonst warscheinlich an dem teil verzweifelt.

Gruß

Tom Servo
2003-11-09, 18:42:10
Vielen Dank für das Feedback.

Ich werde versuchen den Einstieg zu erleichtern. Vielleicht reichen ja schon ein paar mitgelieferte Profile als Beispiel.

Ein kurzes Tutorial oder Tip-of-the-Day wären auch wohl auch gut.

Gast
2003-11-09, 19:14:52
so jetzt wo ich weiss wie das teil funktioniert, muss ich sagen:

das tool is echt geil, sowas hab ich schon ewig gesucht, bugs hab ich bis jetzt auch noch keine gefunden.

Klasse arbeit, mach weiter so.

Tom Servo
2003-11-10, 17:08:21
Danke. Ich hatte noch ein paar kleinere Bugs in der Liste aber die sind jetzt auch gefixt.

Nochmal zu den Optionen. Auf Rage3D gibts eine uralte FAQ wo zumindestens die Funktion der Optionen erklärt wird:

http://www.rage3d.com/radeon/reg/index.shtml

bluey
2003-11-10, 19:10:56
Ist mir heute passiert.


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Thread.Sleep(Int32 millisecondsTimeout)
at System.HandleType.Add(IntPtr handle)
at System.Windows.Forms.UnsafeNativeMethods.BeginPaint(HandleRef hWnd, PAINTSTRUCT& lpPaint)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
tdprof
Assembly Version: 1.0.1407.38257
Win32 Version: 1.0.1407.38257
CodeBase: file:///G:/Tools/3dprof/tdprof.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.947
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
tdprof.resources
Assembly Version: 1.0.1407.38257
Win32 Version: 1.0.1407.38257
CodeBase: file:///G:/Tools/3dprof/de/tdprof.resources.DLL
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
MenuImageLib
Assembly Version: 1.0.1405.6158
Win32 Version: 1.0.1405.6158
CodeBase: file:///G:/Tools/3dprof/MenuImageLib.DLL
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.


ich hab CoD gestartet und während 3DProf denn Ram frei gemacht hat, kam diese Meldung.

Gast
2003-11-11, 16:36:57
HIILFE !!!
Ich habe 3dprof benutzt, um ein par einstellungen für tactical ops zu machen, und jetzt kann ich vsync nicht mehr einschalten (??). ob ich's nun im treiber einstelle oder im spiel selber, es geht einfach nicht mehr. dummerweise habe ich 3dprof wieder deinstalliert und die configs gelöscht.
ich habe eine radeon 9700pro, und ich vermute,das irgendwo in der registry noch etwas steht, was das vsync verhindert. ich habe mittlerweile mehrfach die ati-treiber de- und reinstalliert, ohne effekt. axo, 3dprof kam mit den neuesten omega-treibern.
bitte bitte hilfe, weil ohne vsync kein zocken :(

Tom Servo
2003-11-11, 21:31:17
@DoctorD
Habe bisher durch Testen leider nix rausgefunden. Ist leider wieder so ein Fehler, den es gar nicht geben dürfte. Habe deshalb angefangen den betreffenden Code zu überarbeiten. Wenn es einen Fehler gibt, werde ich den dabei finden.


@Gast

Sorry, habe dein Posting nicht gleich gefunden (wurde von einem Mod verschoben, also wirst du die Antwort auch kaum finden)

3DProf schreibt nur wenig in der Registry herum. Die Werte die es kennt sind zu sehen im Menü "Hilfe | Registry Werte". Was das Control-Panel bei VSync ändert und was 3DProf macht kannst du mit "Tools | Registry Diff" vergleichen.

Vermutlich wird es alles nix mit 3DProf zu tun haben, aber du könntest alle verdächtigen Werte nun per Reg-Edit löschen oder einfach den Treiber deinstallieren und neu installieren.

(Der Basis-Schlüssel ist über das 3DProf-Tools-RegEdit Menü erreichbar.)

Ich schau mir die Sache gleich nochmal genauer an...

edit: Bei ATI Treibern ist es oft so, dass Einstellungen ignoriert werden und nach einem Rechner-Neustart geht alles wieder. Bei FSSA ist das ein häufiges Problem, aber bei VSync weiss ich nicht. Habe ich fast immer aus und würde es auch nicht so leicht merken.

bluey
2003-11-15, 12:17:37
bin nicht sicher ob es an meinem Monitor liegt. Aber immer wenn ich ein Profil Anwende ändern sich meine Monitor verhältnise (Breite usw). Empfind ich als ziemlich lästig.

Tom Servo
2003-11-15, 16:19:42
Danke fürs reporten. Mit meinem TFT merke ich sowas nicht selber.

Es dürfte daran liegen, dass bei ATI-Apply-Direct3D (auch auslösbar über den Tools-Menüpunkt), kurzzeitig die Bildfrequenz auf 60 oder 70 Hz geändert wird. Dadurch schaltet vmtl. der Monitor auf die Monitor-Einstellungen (Höhe, Breite) für diese Frequenzen.

Das war eigentlich nur Experimental-Code. Hätte ihn besser gleich sofort mit #if DEBUG auskommentiert, statt mich darauf zu verlassen, dass ich daran denke ihn wieder rauszunehmen.

Habe es in der unstable-Version gerade gefixt.

bluey
2003-11-15, 16:32:52
Super ist nun weg !

bluey
2003-11-16, 23:25:40
wegen der Mausbeschleunigung.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LMouFlt2\Parameters\Optical Mouse12\0000

dort kann man die Mouseaccel einstellen. Um sie zu deaktiviren muss der wert Acceleration auf off gestellt werden. Eine Option unter Profil wär wunderbar (: bzw sollte diese wieder auf denn alten Wert gestellt werden durch die automatische Wiederherstellung.

HKEY_LOCAL_MACHINE\SOFTWARE\Logitech\MouseWare\CurrentVersion\GamingCompatibilit y

Dort werden die Spiele Profils für die Logitech Mouseware gespeichert. Wärs möglich dort immer einen neuen Eintrag zusetzen beim Adden eines Profil? Um aktiv zuwerden muss die em_exec.exe neugestartet werden.

Tom Servo
2003-11-17, 14:38:06
Das mit GamingCompatibility habe ich erstmal auf die Schnelle eingebaut. Geht allerdings (erstmal?) nicht ganz automatisch, weil es die Sache deutlich kompliziert hätte.

Es gibt nun einen Menüpunkt der durch sein Häkchen immer anzeigt ob eine EXE in der GamingCompatibility steht. Durch anklicken des Menüs kann man die EXE zu GamingCompatibility hinzufügen/entfernen.


Die andere Sache mit "Acceleration"="Off" ist ein Problem. Der von dir genannte Wert wird nur abgefragt wenn der Mouse-Treiber geladen wird (Also wenn man z.B. die Maus kurz mal vom USB abmacht).

Es gibt allerdings alle diese Werte nochmal unter HKEY_CURRENT_USER:

HKCU\SOFTWARE\Logitech\MouseWare\CurrentVersion\
Control Center\Schemes\.Default\Devices\OpticalMouse6\0001\
Usability\Acceleration

Dort kann man den Wert ändern und dann em_exec.exe restarten.

Man müsste allerdings erstmal den Pfad ermitteln, der ja je nach Mouse-Modell und Anzahl der Mäuse unterschiedliche ist.

Es scheint aber nicht nötig zu sein, da die Mouse-Ware eigenen Erkennung durch die GamingCompatibility hier bei mir einwandfrei funktioniert. Habe die neueste Version 9.78 (mw978deu.exe) ausprobiert. Hast du diese Version schon mal probiert?

bluey
2003-11-18, 12:47:39
Also ich konnte jetzt "mein" Problem heraufinden. Es lag daran das die vielen DLL einträge in denn GameProfiles von Logitech anscheinend nicht gerade gut gewählt waren (Maus geschwindigkeit hat sich beim Surfen einfach so geändert usw). Hab jetzt alle *.dll gelöscht und nun läufts super.

bluey
2003-11-30, 12:46:25
Also was mir noch gefallen würde wäre eine getrennte D3D und OpenGL leiste. Ein Beispiel wäre:

Ich benutzte 3DProf um einstellungen für Call of Duty (MP) zB zu übernehmen. Call of Duty ist ein OpenGL Spiel. Leider muss man in 3DProf auch D3D einstellungen vornehmen. Wenn ich zB nun connecte mittels eines Serverbrowsers kommt nun dazwischen die D3D einstellungs übernahme die ich als recht lästig empfinde, weil sie ja eigentlich unnötig ist für ein OpenGL Spiel.

Also mein vorschlag wäre ein kleines Häckchen neben OpenGL und D3D, wo man einstellen kann was für ne "Sorte" das Spiel ist.

btw: irgendwie startet 3DProf beim booten nichtmehr minimiert.

Tom Servo
2003-11-30, 17:34:35
Danke für die Anregung. Woltte den ATI-3DE-Apply auch demnächst abschaltbar machen, da vielleicht nicht immer nötig.

Du meinst, du musst für COD auch D3D Einstellungen vornehmen? Welche denn? Oder verstehe ich das jetzt falsch?

Würdest du alle D3D Einstellungen deaktivieren (Rechtsklick auf das Zeilen-Label), dann wäre der ATI-Reset auf jeden Fall weg (wenn es funktioniert ;)).

Zumindestens in der aktuellen Version, da ich das neulich erst neu implementiert habe, damit es auch für nicht aus dem Fenster gestartete Spiele funktioniert. Bugs waren auch einige drin.

Wegen minimiert starten:

Habe da neulich was umgebaut, wodurch sich das Verhalten ändern könnte. Allerdings sollte in beiden Fällen minimiert gestartet werden (entweder zur Tray oder zur Taskleiste). Gar nicht minimiert, wäre ja ein offenes Fenster? Ist das 3DProf-Fenster wirklich nach dem Booten offen auf dem Destop?

Neuerdings steht im Registry-Eintrag nicht mehr die -iconic Option sondern die -tray Option. Falls du noch die alte Option hast, einfach den Autostart im Menü kurz deaktvieren und gleich wieder aktivieren.

bluey
2003-12-09, 14:32:00
Also ich hab mir die aktuelle Version vor ein paar Tagen installiert. Leider startet 3DProf immer in der Taskleiste beim Booten und nicht in der Tray leiste wie ich es mir wünschte.

Aber da wär nochwas.
Seitdem ich vor ein paar Tagen die unstable Version runtergeladen hab kann ich mein Rechner nichtmehr herunterfahren ohne 3DProf zu beenden(bin erst nach vielen suchen auf 3dprof gekommen). Das wärs eigentlich.

Edit das mit dem Herunterfahren schien doch eine Makke meines PCs zu sein.

Tom Servo
2003-12-09, 18:17:59
Eigentlich sollte es so sein, wie im letzten Posting von mir geschrieben. Du müsstest einmal das Häkchen beim Menüpunkt "Optionen | Mit Windows Starten" kurz wegmachen und wieder aktivieren. Danach sollte er wieder im Tray starten.

TrippleM
2004-01-15, 19:52:51
Hallo Tom,

hab' mir gerade die 1.3.8 Version Deines Tools gezogen.
Die alte Version (1.3.2) und R6Probe deinstalliert.

Was hat es mit deb drei Felder im Bereich "Taktfrequenzen" auf sich? Die Darstellung scheint ja wohl nicht zu stimmen.

Cat 3.10 unter W2K

THX
TrippleM

Tom Servo
2004-01-15, 22:27:17
Hallo TrippleM,

danke für das Feedback. Sieht so aus wie geplant. Das sollen Symbole sein für Min, Exclusiv-Or, Max. Vielelicht nicht so gelungen. Habe da auch so meine Zweifel. Die neueste Version hat immerhin Tooltips.

Diese Min/Max- und Enable/Disable-Buttons sind eine reine Bedienungshilfe für die vorhandenen Controls (Slider und Checkboxen).

Man sollte im Settings Dialog Minimum und Maximum passend zur Karte einstellen, damit es überhaupt einen Sinn hat die Slider auf Minimum/Maximum zu setzen.

http://home.tiscalinet.de/bertw/proj/tdprof/img/de/tdprof_shot_settings_clocking.png

Die neuen Clock-Presets sind aber wohl eine bessere Vereinfachung der Bedienung, so dass die Min/Max Buttons wohl nicht unbedingt drinbleiben.

http://home.tiscalinet.de/bertw/proj/tdprof/img/de/tdprof_r300_shot_extra_clock.png

TrippleM
2004-01-16, 07:02:51
Hi Tom,

hatte den ersten Button in der Reihe als "K" interpretiert ;)...
Damit konte ich absulut nichts anfangen.

Nach Deiner Erklärung ist das klar. Die Clock-Presets find ich auch besser, weil schneller. Und mit vier Presets sollte ja wohl wirklich jeder hinkommen.

THX
TrippleM

bluey
2004-01-23, 00:33:30
Passierte als ich auf dem Link zum Thread hier klickte (Benutzte Mozilla Firebird 0.7). Ich Poste es trotzdem weil ich nicht weiß ob es ein Problem von 3DProf oder von Mozilla ist.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception: Es wurde versucht, auf ein Token zuzugreifen, das nicht vorhanden ist
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
at TDProf.GUI.FormMain.menu_help_visit_thread_3DC_en_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
tdprof
Assembly Version: 1.2.1480.2136
Win32 Version: 1.2.1480.2136
CodeBase: file:///G:/Tools/3dprof/tdprof.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
tdprof.resources
Assembly Version: 1.2.1480.2136
Win32 Version: 1.2.1480.2136
CodeBase: file:///G:/Tools/3dprof/de/tdprof.resources.DLL
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
MenuImageLib
Assembly Version: 1.0.1480.2136
Win32 Version: 1.0.1480.2136
CodeBase: file:///G:/Tools/3dprof/MenuImageLib.DLL
----------------------------------------
System.Runtime.Serialization.Formatters.Soap
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.runtime.serialization.formatters.soap/1.0.5000.0__b03f5f7f11d50a3a/system.runtime.serialization.formatters.soap.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.

Tom Servo
2004-01-23, 04:56:38
Ich vermute, du müsstest diese Fehlermeldungen genauso erhalten, wenn du den URL (siehe unten) nach 'Start | Ausführen' kopierst und dann startest.

Im Programm-Code wird beim Anklicken des Menüs nur folgendes gemacht:

Process.Start("http://www.3dcenter.de/vbulletin/showthread.php?s=&threadid=105737");


Kann also eigentlich kein Fehler in 3DProf sein.
Kommt die Meldung auch mit den anderen URLs in 3DProfs Hilfe Menü, also dem Rage3D Thread oder der Home-Page?
Vielleicht findest du auch was passendes mit Google. Der Windows-Error-Code für diese Fehlermeldung ist 1008. Habe auch schon gesucht, aber ich weiss immer noch nicht, was mit "Token" gemeint sein soll.

bluey
2004-01-24, 19:44:23
Ja hast recht! Wenn ich per Ausführen die URL angebe bekomm ich eine ähnliche Fehler meldung (Irgendwas über Token). Liegt wohl daran das ich Mozilla Firebird benutzte und XP (wie verwunderlich) ihn nicht mag?

Tom Servo
2004-01-24, 19:53:06
Weiss nicht woran es liegt noch was in diese Zusammenhang mit Token gemeint sein könnte, aber mit Mozilla 1.5 habe ich das Problem nicht.

Ist vielleicht eher ein Windows Problem. Ich würde probieren z.B. den IE testweise auf Standard Browser zu stellen. Wenn der Fehler dann immer noch da ist, dann ist es ein Windows Problem.

TrippleM
2004-01-26, 19:16:08
Hallo Tom,

es gibt ja immer noch Games, Mafia ist ein Beispiel, die nach Spielende die Desktop-Auflösung nicht wieder korrekt herstellen.

Gibt's vieleicht eine Möglichkeit so etwas in Dein Tool einzubauen?

THX
TrippleM

Tom Servo
2004-01-26, 22:49:47
Hi TrippleM,

ist mir selber nie aufgefallen. Vielleicht weil ich fast immer in Destkop Auflösung spiele. Ich vermute mal, es passiert aber auch sonst nur ab und zu? (Habe es mit Mafia kurz getestet und es hat funktioniert.)

Bin mir momentan nicht sicher ob sich das zufriedenstellend einbauen lässt. Man kann zwar sehr leicht die Auflösung nach Ende des Spiels kontrollieren und nötigenfalls zurück-ändern, aber dann ist es vielleicht schon zu spät, weil die Desktop-Icons bereits alle verschoben sind.

Tom Servo
2004-01-27, 01:54:59
... Habe das mal eingebaut. 3DProf merkt sich die Auflösung vor dem Start des Games und setzt sie (wenn verändert) nach dem Game zurück. Zur Zeit nur Breite und Höhe. Sollte vielleicht auch Farbtiefe mit einbeziehen.

Funktioniert bei aktiviertem AutoRestore für GUI Version (Starten über MainWindow, Tray-Menü, Hotkey) und bei Non-GUI Version (Starten über Desktop Link, TDProfGD) wenn man TDProfSL nicht aktiviert hat.

Es soll später so optimiert werden, dass beim Restore der ATI Blackscreen und das Rücksetzen der Auflösung gemeinsam erledigt werden (ist die gleiche Windows Funktion).

Wann passiert das eigentlich, dass Mafia die Auflösung nicht zurücksetzt? Kann das verursacht sein durch 3DProf selber (vielleicht wegen des ATI Blackscreens beim Auto-Restore) oder passiert das auch ohne 3DProf?

bluey
2004-01-27, 14:45:51
Neuerdings beim Booten erscheint mir diese meldung http://home.arcor.de/collinso/bugreport/3dprof01.jpg

Sie kam zum ersten mal, nachdem ich meinen PC per reset neubooten musste.

Btw Das Problem mit denn Token liegt wohl daran das ich denn IE6 Teilweise von meinem System per LiteXP verbannt habe.

Verdauga Greeneyes
2004-01-27, 14:49:19
Not relevant to the topic, but you can get a screenshot of just the active window by using Alt + Print Screen ;) Might save you some webspace.

Tom Servo
2004-01-27, 15:46:08
@DocterD

Erscheint 3DProf dann nach dem Booten trotzdem im Tray? Laut deinem Screenshot ist es so. Oder hattest du den dann nachträglich per Hand gestartet?

Dann würde er aus irgendeinem Grund 2 mal als GUI Version gestartet. Aber die Version welche den Fehler erzeugt, könnte auch ein Profil-Link sein, welcher aus irgendeinem Grund gleichzeitig gestartet wird.

Schau am besten mal mit Regedit in den Schlüssel:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Vielleicht ist da irgendwas verdächtiges (also mehrfaches Starten von tdprof.exe zu sehen.)

Wenn nicht, dann einfach mal den "Starten mit Windows" Menü-Eintrag deaktivieren und dann neu booten um zu sehen ob 3DProf trotzdem als GUI Version gestartet wird.

Tom Servo
2004-01-27, 16:37:47
Mit Version 1.3.22 gibt es vielleicht eine bessere Fehlermeldung. Habe das (eigentlich unbeabsichtigt) exclusive öffnen der Konfigdateien geändert.

Falls wirklich die GUI Version doppelt gestartet wird, dann müsste nun "3DProf is already running" kommen.

Falls die GUI Version nur einmal gestartet wird, und gleichzeitig ein Profil-Link, dann müsste das jetzt funktionieren.

Falls irgendein Fremdprogramm die options.cfg blockiert, dann würde sich nichts ändern.

TrippleM
2004-01-28, 07:35:30
Hi Tom,

meine Desktopauflösung ist 1280x960, zocken tue ich in 1024x768 unter W2K. Es liegt nicht an Deinem Tool, denn ein normaler Start zieht auch diesen Effekt nach sich.

Es passiert wirklich nur gelegentlich und ist seit Installation Deiner Version 1.3.22 bei MAfia nicht aufgetreten. Auch bei Vietcong scheint's zu funktionieren -allerdings der letzte Kandidat auf meiner Liste ist die Demo zu Midnight Club II. Dort lande ich nach Spielende bei der 1024er Auflösung.

Vieleicht sollte ich auch mal nen neue Treiber aufspielen?! Nutze noch den Cat 3.6. Werd' mal schauen.

Schon mal Dank für Deine Arbeit.

TrippleM

bluey
2004-01-31, 23:12:27
Ich hab einen weiten Bug entdeckt: 3DProf schaltet aus mir unerklärlichen Gründen nach beendigung von einem Spiel (in diesem Fall Quake3) denn Monitor auf 60 HZ. Das Problem liegt divinitiv an 3DProf. Denn ohne gibt es keine Probleme.

Das andere oben Geschilderte Problem hatte sich durch eine Komplette neuinsterllation erledigt.

€dit: Ich hab meine Profile.cfg hochgeladen. Vieleicht liegt der Fehler daran glaub ich aber weniger.
http://home.arcor.de/collinso/bugreport/profiles.cfg

BTW: Wie wäre es mit einer Hotkey Funktion in 3DProf der das Spiel zwingt sich zu Minimieren? Sowas ist schon lästig bei Q3 basierenden Spiele zB.

Tom Servo
2004-02-01, 00:23:04
Was war denn nun eigentlich mit dieser eigenartigen Fehlermeldung beim Booten? Hat sich das geklärt?

Das mit den 60Hz: Ich konnte das mit der vorletzten Testversion reproduzieren (war ein unerwartetes Verhalten der Windows-API). Bei der Test-Version 1.3.25 von gestern abend ist es aber (hier) behoben. Welche Version hast du? Kannst du mit dem Menü 'Hilfe | Über 3DProf' sehen.

Das mit dem Hotkey gibts wohl schon in einem anderen Programm: http://www.fileplanet.com/files/130000/130005.shtml
Weiss jetzt nicht ob ich sowas nachbauen kann.

bluey
2004-02-01, 00:37:07
Das Problem mit dem Booten konnte ich durch eine reinstallieren von 3DProf beheben (kA woran das lag). Ich wert erstmal jetzt mein 3dprof updaten.

Danke

€dit: Das 60hz Problem ist nun weg :)

bluey
2004-02-03, 10:54:40
Feature Request:
Kannst du noch eine Funktion unter Files einbauen. Um kleine neben Programme zustarten.
Ich hab jetzt diesen Q3 Minimizer und ich möchte das der Automatisch beim Connecten zu einem Server per HLSW startet und beim beenden automatisch geschlossen wird.

Tom Servo
2004-02-03, 12:25:30
Zumindestens das Starten geht doch schon, wenn ich das Problem jetzt richtig verstehe?

Über das Menü "Profile | Kommandos" kannst du beliebige Komanndos vor und nach dem Spiel starten. Das autom. Beenden geht momentan nicht. Könnte man aber auch einbauen.

bluey
2004-02-05, 14:21:26
Was ich mir noch wünschen würde. Mehrere INI Datein per 3DProf anzugeben. Ich hab zB meine Q3.CFG drinne würde aber auch gerne meine Script.cfg durch 3DProf abrufen. Vieleicht wär ein unterverzeichnis angebracht.

TrippleM
2004-02-17, 21:00:54
Hallo Tom,

wollre mal nach einer neuen Version stöbern - und siehe da die Download-Seite ist blank.

Wo dran liegt's? Hab' mit IE und Firebird getestet und von zwei verschiedenen Internetzugängen.

Hast Du das Projekt etwa aufgegeben?!

Gruß
TrippleM

mapel110
2004-02-18, 11:06:46
http://home.tiscalinet.de/bertw/proj/tdprof/3dprof_download_de.html
Mozilla 1.7alpha zeigts an.

TrippleM
2004-02-18, 11:16:04
Hi mapel110,

gerade von der Arbeit aus probiert und es funzt ...

Dann werd' ich mir die neueste Version mal anschauen.

Danke
TripleM

Tom Servo
2004-02-19, 00:40:16
[Hatte keine Mail-Benachrichtigung bekommen. Vielleicht versehentlich abbestellt durch Klicken in die falsche E-Mail]

Die letzten Versionen waren ziemliche Null-Nummern. Blackscreen ausgebaut (1.3.29), eine Stunde später wieder eingebaut (1.3.30), nVidia Performance Graph eingebaut (1.3.31).

Eingestellt ist das Projekt nicht. Hatte jetzt nur ein paar Wochen keine grosse Lust mehr.

L4gW4g0n
2004-03-13, 23:15:20
Hi

also ich nutze das Programm wirklich gerne ;)

aber seit Version 1.3.30 gibt es da ein Problem mit den Nvidia Treibern.
(könnte man vielleicht auf der Seite ältere Versionen die nicht "stabiel" waren auch zum Download anbieten? sind ja keine großen Dateine... Ich hab nämlich die alte Version die ich auf meiner Platte hab überschrieben beim download der neuen Version. So hatte ich keine möglichkeit wieder eine Funktionierende Version zu bekommen)
Naja viel Klatsch ^^ jetzt mal zu dem Problem!
Seit 1.3.30 (war die letzte funktionierende) kann das Tool die im Treiber eingestellten Einstellungen nicht mehr auslesen.
Die Einstellungen können auch nicht mehr geändert werden. Die Felder die eigentlich für die Werte vom Treiber sind sind einfach weiß. :-(

Dass in lezter Zeit die Entwicklung etwas langsamer voran ging ist ja O.K. dafür habe ich auch Verständnis ;) aber ich will wieder die version 1.3.30 ;D ;D

So hoffentlich kann der Fehler einfach lokalisiert und behoben werden! *glückwünsch*

cu

Tom Servo
2004-03-14, 16:33:49
Danke fürs Reporten.

Der Fehler ist offenbar beim aufräumen des Codes entstanden. Ist mir aber nicht aufgefallen, weil er bei der Radeon (welche ich z.Zt. nutze) nicht auftritt (wegen anderer Registry-Datentypen).

Bin gerade dabei es zu beheben. Wird in 1.3.39 wieder funktionieren.

Auf meiner Webseite sind nur 20MB Platz.
Habe aber erst vorgestern den Downloadbereich so geändert, dass alle Dateinamen die Versionsnummer beinhalten. Das sollte schon helfen.
Alte Dateien sind damit auch manchmal verfügbar, aber zur Zeit nur in der Text-Liste sichtbar wo das Alter der Datei steht. Wird aber noch nach HTML geändert.

bluey
2004-04-10, 18:15:53
der Fehler das sich die Monitor HZ beim D3D Applyn ändert ist wieder vorhanden. Find ich sehr störend weil sich dadurch meine Monitor ausrichtungen verändern.

Edit:
Wenn ich Trueform von Anschalte im Profil bekomme ich folgende Fehlermeldung

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at TDProf.DriverSettings.ConfigItems.is_alias(String name, String alias)
at TDProf.GUI.FormMain.combos_prof_modes_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ComboBox.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
tdprof
Assembly Version: 1.2.1561.29958
Win32 Version: 1.2.1561.29958
CodeBase: file:///G:/Tools/3dprof/tdprof.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
tdprof.resources
Assembly Version: 1.2.1561.29958
Win32 Version: 1.2.1561.29958
CodeBase: file:///G:/Tools/3dprof/de/tdprof.resources.DLL
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
MenuImageLib
Assembly Version: 1.0.1561.29957
Win32 Version: 1.0.1561.29957
CodeBase: file:///G:/Tools/3dprof/MenuImageLib.DLL
----------------------------------------
System.Runtime.Serialization.Formatters.Soap
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.runtime.serialization.formatters.soap/1.0.5000.0__b03f5f7f11d50a3a/system.runtime.serialization.formatters.soap.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.

Tom Servo
2004-04-11, 13:08:40
Danke. Das mit der Ausnahmefehler-Meldung ist jetzt wieder in Ordnung. Da hatte ich ein neues Feature nicht ausreichend getestet. Trat übrigens nicht nur bei Truform sondern bei vielen anderen Controls auf.

Die Bildfrequenz ändert sich hier beim D3D-Apply nicht. Der Code der D3D-Apply-Funktion scheint auch der selbe zu sein wie in älteren Versionen. Vielleicht fällt mir später noch was ein.

bluey
2004-04-11, 20:17:23
jedenfalls ändern sich beim D3D Applyn meine Bildschirm verhältnisse. Nach dem nächsten Applyn ist wieder alles normal. Sehr sehr nervig. Es war bissher nich wirklich nervig weil ich grösstenteils nur OpenGL Spiele zocke.

TrippleM
2004-06-03, 21:14:43
Hallo Tom,

bei der aktuellen stabilen Version funktioniert die automatische Wiederherstellung bei nicht von der GUI gestarteten Progemmen nicht :(.

Wenn ich über eine Desktop-Verknüpfung ein Profil starte, bleiben danach die im Profil definierte Einstellungen erhalten.

Der entsprechende Haken unter Optionen -> Einstellungen -> automatische Wiederherstellung kann ich zwar aktivieren, nach Bestätigen mit OK und Wiederaufruf ist der Haken (ich mein den mittleren der drei) wieder Weg.

Werd' jetzt mal Deine aktuelle Version 1.3.55 probieren.

Bis dahin
TrippleM

EDIT

Bei Version 1.3.55 – Deine aktuelle Testversion – klappt's auch nicht. Die Version 1.3.44 hat das Problem nicht.

Vieleicht hilft's Dir ja ...

Tom Servo
2004-06-04, 05:03:30
Danke fürs Reporten.

Das Restore für non-GUI wird im Einstellungs-Dialog nicht richtig angezeigt. Ist scheinbar immer ausgeschaltet, auch wenn im Config-File aktiviert. Da muss ich irgendwann mal eine Codezeile aus Versehen gelöscht haben.

Habe bei 1.3.56 jetzt einige Bugs beseitigt. Bin mir aber nicht sicher ob das wirklich das Problem war. Hier scheint aber jetzt alles zu funktionieren.

TrippleM
2004-06-05, 11:05:55
Danke Tom, funktioniert bestens :).

Gruß
TrippleM

bluey
2004-06-09, 16:47:46
seit der neusten Version kann ich nichtmehr mit 3DProf und einen Filebrowser connecten.

Tom Servo
2004-06-10, 00:35:41
Danke. Habe es in 1.3.57 behoben. Die Parameter wurden nicht mehr ans Spiel weitergereicht.

Beim Aufräumen des Codes geht leider oft war kaputt. War aber nötig, das mal komplett neu zu machen.

TrippleM
2004-07-02, 07:48:26
Hi Tom,

benutze augenblicklich die Version 1.3.57.

Habe einige Spieleprofile dahingehend geändert, dass bei Beendigung das Programm MultiRes ausgeführt wird.

Seither gibt es beim Starten eines Games via Shortcut einen Init-Fehler. Es spielt keine Rolle, ob der Start von MultiRes an ein bestimmtes Profil gebunden ist oder global definiert ist. Habe auch probeweise vesucht die automatische Wiederherstellung zu deaktivieren, leider ohne Erfolg.

Gruß
TrippleM

Tom Servo
2004-07-02, 13:13:22
Hallo TrippleM, leider konnte ich das Problem bis jetzt noch nicht reproduzieren.

Ein anderes Problem mit MultiRes scheint aber zu sein, dass es nicht zurückkehrt, wenn das Profil direkt aus der GUI gestartet wird und nicht als Shell-Shortcut. Hatte dabei folgendes probiert: J:\Programme\MultiRes\MultiRes.exe /1:1280,1024
Ich musste MultiRex.exe mit dem Taskmanager killen, damit 3DProf wieder aufwacht.

Das mit der Fehlermeldung kann ich mir bis jetzt noch nicht erklären. Ich hoffe ich finde später noch was.


Ist da vielleicht doch irgendwas als Vorspiel-Kommando eingetragen? Sind die Fehler weg, wenn MultiRes als Nachspiel-Kommando entfernt wird?

Kommt der Fehler auch mit normalen Kommndos wie Notepad oder Calc statt MultiRes?

Welche Paramer benutzt du mit MultiRes.

Was steht in der Fehlermeldung?

TrippleM
2004-07-02, 14:04:43
Hi Tom,

werd' ich alles über's Wochenende testen und mich dann melden.

Danke im voraus
TrippleM

TrippleM
2004-07-03, 22:25:15
Hallo Tom,

also folgendes:

Die Fehlermeldung bringt folgenden Text
-
Init error
error: #4205
Generic ... (hier wird nicht mehr angezeigt, weil die Box zu klein ist)
-
Bestätigen kann ich nur OK

Das mit MultiRes lag an meinen Parametern. Die Fehlermeldung scheint also von MultiRes zu kommen.
Ohne die Übergabe von ':1' für die Definition des Monitors erhalte ich obige Meldung. Ist auch reproduzierbar, probier's einfach mal aus. Scheint aber nur nach einem Neustart und direktem Aufruf eines Games/Profils via Shortcut zu passieren, bin mir aber nicht vollkommen sicher.
Dabei wundert mich, das MultiRes doch eigentlich erst nach Ende des Games aufgerufen wird - wie kommt dann eine Fehlermeldung beim Start des Spiels. Hat's was damit zu tuen, dass es zu dem Zeitpunkt schon resident im Speicher ist?!

Vorspiel-Kommando oder ähnliches ist nicht definiert und mit anderen Programmen wie Notepad klappt's auch.

Mit dem Aufruf wie von Dir beschrieben funktioniert es tadellos und das ist genau was ich erreichen wolte.

Dank Dir
TrippleM

Tom Servo
2004-07-05, 11:10:15
Bin mir fast sicher, dass 3DProf diesmal unschuldig ist.

Bei anonymen Fehlermeldungen kann man mit dem Tasmanager solange verdächtige Prozesse killen, bis das Error-Fenster zugeht. Dann sollte man sehen, welche Prozess das Fenster geöffnet hatte.


Ich konnte die Fehlermeldung jetzt noch nicht reproduzieren. Kann gerade Windows nicht neustarten. Sollte aber eigentlich nicht möglich sein, dass die Nachspielkommandos beim Spielstart ausgeführt werden. Wenn doch müsste man es wirklich sehen, wenn man Notepad statt MultiRes einträgt.

Das mit dem Hängen von MultiRes ist auch ein Problem. Habe deshalb mal ein internes Kommando in 1.3.69 eingebaut mit dem man auch die Auflösung ändern kann:

:Resolution 1024x786@85
oder auch
:Resolution 1024x786@85,32bpp
:Resolution 1024x786@85Hz,16bpp
:Resolution 2:1024x786@85 (Display-Nummer geht z.Zt. noch nicht)

Kann man einfach irgendwo als Vorspiel-/Nachspiel-Kommando eintragen.

TrippleM
2004-07-05, 13:12:39
Hi Tom,

werd' ich nachher mal ausprobieren.

Gruß
TrippleM

TrippleM
2004-07-06, 07:42:41
Hi Tom,

Deine neue Version funktioniert wunderprächtig.

Wenn ich Zeit habe, versuche ich noch mal ein bischen zu testen, um dem Fehler auf die Schliche zu kommen.

Bis dahin
TrippleM

TrippleM
2004-07-07, 12:47:11
Hi Tom,

habe mit dem Zusammenspiel 3DProf und MultiRes noch ein wenig experimentiert.

Problematisch ist es wohl in einem Profil eine Wiederholfrequenz für den Bildschrim zu definieren, wenn in MultiRes die Option "Lock Refreshrates" aktiviert ist. Dann kommt die schon beschriebene Fehlermeldung.

Ist diese Option deaktiviert funktioniert es auch mit dem Aufruf von MultiRes als Nachspiel-Kommando.

Allerdings ist mir Deine Variante lieber. Da kann ich auf MultiRes (fast) verzichten ....

Gruß
TrippleM

bluey
2004-07-16, 22:35:53
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception: Das System kann die angegebene Datei nicht finden
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
at TDProf.GUI.FormMain.menu_tray_profs_editGameIni_Any_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.NotifyIcon.WndProc(Message& msg)
at System.Windows.Forms.NotifyIconNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
tdprof
Assembly Version: 1.2.1657.25490
Win32 Version: 1.2.1657.25490
CodeBase: file:///G:/Tools/3dprof/tdprof.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
tdprof.resources
Assembly Version: 1.2.1657.25490
Win32 Version: 1.2.1657.25490
CodeBase: file:///G:/Tools/3dprof/de/tdprof.resources.DLL
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
MenuImageLib
Assembly Version: 1.0.1657.25448
Win32 Version: 1.0.1657.25448
CodeBase: file:///G:/Tools/3dprof/MenuImageLib.DLL
----------------------------------------
System.Runtime.Serialization.Formatters.Soap
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.runtime.serialization.formatters.soap/1.0.5000.0__b03f5f7f11d50a3a/system.runtime.serialization.formatters.soap.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.




kommt wenn ich eine Profile Game.ini öffnen möchte.

Tom Servo
2004-07-17, 11:45:15
In Version 1.3.72 ist jetzt eine Fehlermeldung eingebaut, falls die Game.ini nicht existiert.

Weiss jetzt nicht warum sie nicht existiert. Die neue Fehlermeldung enthält den Dateinamen. Vielleicht liefert das dann einen Hinweis.

Ich schau mir das Tray Menü aber nachher auch nochmal genauer an. Da scheint es auch ein Update-Problem zu geben. Neu hinzugefügte Game.ini werden dort nicht angezeigt. Erst nach dem Neustart des Programms.

bluey
2004-08-17, 09:49:20
Könntest du Monitor Herz unter OpenGL bis auf 120 HZ erweitern?

Tom Servo
2004-08-17, 13:51:45
Könntest du Monitor Herz unter OpenGL bis auf 120 HZ erweitern?

Ja. In 3DProf-1.3.78 ist jetzt ein neuer Eintrag für 120 Hz in der ATI Konfigurations-Datei.

bluey
2004-10-02, 15:25:11
Ist 3DProf eigentlich mit dem aktuellen Catalyst Kompatible?

Tom Servo
2004-10-02, 18:18:12
Ist 3DProf eigentlich mit dem aktuellen Catalyst Kompatible?

Wenn das CCC installiert ist, braucht man mindestens 3DProf-1.3.82 (http://home.tiscalinet.de/bertw/proj/tdprof/3dprof_download_de.html).

Einige der 3D-Optionen sind mit installierten CCC aber wohl noch ganz oder teilweise fehlerhaft (OGL-VF, OGL-VSync, D3D-Gamma).

Es gibt auch ein paar neue Optionen die in 3DProf noch nicht drin sind (Catalyst AI, Main3D). Habe mich jetzt erstmal nur um die CCC-Kompatibilität gekümmert.

bluey
2004-10-07, 10:33:24
Also ich hab jetzt die aktuelle Version installiert. Aber komischer Weise ist alles vergraut. Liegt das daran das ich kein CCC installiert habe? Ich bin nicht wirklich scharf drauf...

Tom Servo
2004-10-07, 13:33:25
Um genaueres zu sagen bräuchte ich eine genaue Fehlerbeschreibung.

"Vergraut" kommt normalerweise duch den "Safe Mode" (abschaltbar im Optionen-Menü).

Die CCC Konfiguration ließe sich testweise per Hand zwangsweise deaktivieren im Konfig-File specfiles\ati-r300-win.cfg (http://home.tiscalinet.de/bertw/proj/tdprof/misc/ati-r300-win.cfg.txt)

Die Zeile: if.CCC($CCC$ && driver_version >= 8.05)
ändern zu: if.CCC(false)

Sollte aber eigentlich automatisch funktionieren.

edit: Ob die CCC Konfiguration aktiv ist, lässt sich auch sehen im Menü "Hilfe | Registry Werte". Wenn da bei D3D_FSAA_Mode was von hex:30,00 steht, dann ist es CCC.

Omnicron
2004-10-07, 13:58:35
Einmal :massa: an Tom für sein Tool, bin jetzt seit über einem Jahr zufriedener User. :smile:

bluey
2004-10-07, 16:34:12
Mein Fehler, hab 3dprof einfach rübergebügelt und vergessen denn Safemode abzustellen.

Omnicron
2005-01-21, 01:41:52
Hi, wäre es möglich einzubauen das ein Profil die "Negative LOD Bias=Clamp/Allow " Einstellung berücksichtigt?

Tom Servo
2005-01-21, 10:02:43
Bei meiner GF-FX mit Treiberversion 67.66 gibts diese Option scheinbar nicht. Existiert vielleicht nur für GF6 Karten. Der Treiber müsste es von der Version ja anbieten.

Die Registrywerte für diese Option habe ich mit Google auch nicht gefunden. Müsstest du mal mit 3DProfs Menü "Tools | Registry Diff" die Änderungen beim Ändern dieser Option anzeigen lassen und hier den Text rein-pasten.

Omnicron
2005-01-21, 18:34:12
Hier, Wechsel von 'Clamp -> Allow':

** Key: "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\{4BAFACAD-8E39-467C-AE71-369643A9D52A}\0000"
*** Value Changed: "D3D_16579523"=hex:00,00,00,00 [Old data was hex:01,00,00,00]



Zurück 'Allow -> Clamp':

** Key: "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\{4BAFACAD-8E39-467C-AE71-369643A9D52A}\0000"
*** Value Changed: "D3D_16579523"=hex:01,00,00,00 [Old data was hex:00,00,00,00]

Tom Servo
2005-01-21, 19:59:25
Im Prinzip funktioniert es mit der Konfiguration unten, aber ich bin mir jetzt nicht sicher ob 3DProf deine Karte korrekt als nv40 erkennt. Wäre nötig damit er diese nv40-spezifische Option auch aktiviert.

Könntest du bitte mal in 3DProfs Menü "Hilfe | Geräte Information" nachsehen was dort hinter "Spec-Name: " steht. Sollte bei korrekter Erkennung "nvidia-nv40" sein.



if.nv40(driver_short_version >= 6704 && spec_name == "nvidia-nv40")
[D3D_Extra_4_Values]
id="D3D_LODNegativeClamp"
gui_label="LODClmp", gui_tooltip="Negative LOD Clamping. If checked, setting a negative LOD bias by an application will have no effect. Can be useful to avoid texture shimmering."
if.Win32NT(Win32NT)
name="_default", rv("D3D_16579523"=undef:dummy), parent="Off", flags=(hidden)
name="Off", rv("D3D_16579523"=hex:00,00,00,00)
name="On", rv("D3D_16579523"=hex:01,00,00,00)
endif.Win32NT
endif.nv40

Omnicron
2005-01-21, 21:26:39
Hi, steht leider nur 'nvidia'.
(Nutze 1.3.86)

Tom Servo
2005-01-22, 11:59:20
3DProf-1.3.87 sollte die Karte nun als nv40 erkennen. Die neue Option sollte im "Direct 3D" Tab rechts neben "TblFog" zu finden sein.

Beim ersten Start müsste sich 3DProf melden um die existierenden "nvidia" Profile automatisch an "nvidia-nv40" zu binden.

Omnicron
2005-01-22, 17:07:39
Hi, die Karte wird jetzt richtig erkannt, aber ich finde die Option nicht.

http://img52.exs.cx/img52/903/zwischenablage012ms.gif

Tom Servo
2005-01-22, 20:13:27
Sollte aber eigentlich funktionieren (alles getestet) aber auf dem Screenshot fehlt sie. Hast du vielleicht einen älteren Treiber als 67.04 oder funktioniert es vielleicht mit der 3DProf-ZIP-Distribution?


Siehst du unter Quality die neue Option "Beste Qualität"?

Wenn nein, dann hast du wahrscheinlich irgendwo eine alte User-Konfigurationsdatei.

Wenn ja, dann wird die Datei "specfiles\nvidia-common-win.cfg") korrekt geladen. Dort befindet sich die Option:


if.nv40(driver_short_version >= 6704 && spec_name == "nvidia-nv40")
;if.nv40(true)
[D3D_Extra_4_Values]
id="D3D_LODNegativeClamp"
gui_label="LODClmp", gui_tooltip="Negative LOD Clamping. If checked, setting a negative LOD bias by an application will have no effect. Can be useful to avoid texture shimmering."
if.Win32NT(Win32NT)
name="_default", rv("D3D_16579523"=undef:dummy), parent="Off", flags=(hidden)
name="Off", rv("D3D_16579523"=hex:00,00,00,00)
name="On", rv("D3D_16579523"=hex:01,00,00,00)
endif.Win32NT
endif.nv40


Um rauszufinden warum die Option nicht eingelesen wird, kannst du die if-Bedingungen versuchsweise durch true ersetzen und 3DProf neustarten:


Original: if.nv40(driver_short_version >= 6704 && spec_name == "nvidia-nv40")
Alle Treiberversionen: if.nv40(true && spec_name == "nvidia-nv40")
Alle Chips: if.nv40(driver_short_version >= 6704 && true)
Immer: if.nv40(true)

Wenn das nicht hilft, kann man auch Fehler einbauen:
Original: if.nv40
Fehler: if.nv40XXX

Das muß beim Start von 3DProf eine Fehlermeldung erzeugen:

Can't continue: Parse error: Non matching if / endif label

File Name: specfiles/nvidia-common-win.cfg
Line Number: 726
Line Content: endif.nv40


So kann man sicher sein, dass 3DProf diese Stelle der Datei überhaupt einliest. Sonst hätte es keinen Zweck den Fehler an dieser Stelle zu suchen.

Omnicron
2005-01-22, 21:25:09
Hi, jepps habe den 67.03. :)
Habe 'driver_short_version >= 6704' in 6703 geändert und nun funktioniert es.

bluey
2005-01-28, 16:20:15
Ich weiß zwar nicht ob du aufgehört hast denn 3DProf weiterzuentwickeln. Aber es wäre schön support für Catalyst AI und Geometry Instancing zu bekommen. Glaub das könntest du dafür gebrauchen.

http://www.driverheaven.net/showthread.php?t=65478

Tom Servo
2005-02-05, 10:52:41
@Omnicron
Dann ändere ich das in der nächsten Version auch auf 6703.

@DocterD

Die von dir genannten Optionen wollte ich vor einiger Zeit hinzufügen, aber mir war nicht ganz klar, ob die ohne ein installiertes CCC überhaupt funktionieren und nicht vom Treiber ignoriert werden.

Anhand des von dir geposteten Links müsste es so aussehen:


[D3D_Extra2_7_Values]
id="CatalystAI"
gui_label="CatAI", gui_tooltip="Catalyst AI: Off/Standard/Advanced"
name="Off", rv("CatalystAI"=hex:30,00)
name="Standard", rv("CatalystAI"=hex:31,00), text="Std", text.de="Std"
name="Advanced", rv("CatalystAI"=hex:32,00), text="Adv", text.de="Adv"

[D3D_Extra2_8_Values]
id="GeometryInstancing"
gui_label="GeoInst", gui_tooltip="Geometry Instancing"
name="Off", rv("GI"=hex:30,00,00,00)
name="On", rv("GI"=hex:31,00)


Man kann diesen Konfigurations-Block bei Bedarf deaktivieren falls CCC nicht installiert durch Einschließen in ein "if($CCC$) ... endif".