So I've been bored lately and decided to start hacking on the wined3d module. This is partly due to my distate with a certain commercial Wine variant for games.
I have intermediate OpenGL knowledge and very little Direct3D knowledge, so I have to rely on MSDN for finding OpenGL equivilants in Direct3D.
I've been working on a new control panel for the wined3d module in winecfg. There are simply too many potential options to fit it all on that one tab and I know that audio is getting something similar. I was wondering if Wine has a HIG (Human Interface Guideline) that determines how the layout should go.
This is what I have so far : http://img371.imageshack.us/my.php?image=winecfg8xe.png
The symmetry is off right now, however I am trying to leave room for other buttons incase they are needed.
I am also working on the reporting of texture memory for wined3d. Right now, it reports a default of 64mb. I'd like to add a box that allows the user to override the amount of memory reported and a way to have it automatically detected.
Thanks, Brian Hill
Hi,
I've been working on a new control panel for the wined3d module in winecfg. There are simply too many potential options to fit it all on that one tab and I know that audio is getting something similar. I was wondering if Wine has a HIG (Human Interface Guideline) that determines how the layout should go.
What options do want to add? IMO, the best guideline is to avoid options and try to find it automatically. Most D3D options in the registry exist, because the D3D code is incorrect and needs tweaks for some games -> The best thing is to fix the code so it works without tweaks for all games :)
It's nice to see that more and more people start working on WineD3D :) :)
Stefan
Stefan Dösinger wrote:
What options do want to add? IMO, the best guideline is to avoid options and try to find it automatically. Most D3D options in the registry exist, because the D3D code is incorrect and needs tweaks for some games -> The best thing is to fix the code so it works without tweaks for all games :)
As long as nobody drops out of the blue sky and makes the best thing happen with a touch of h(is/er) magic wand, presenting the available options is a *very* nice thing to do.
If the options are there, I might be able to run my games. I'll be able to report on the mailing list what options I used to get it to run, which should help debug the actual problem.
If the options aren't there, I'll never know that they existed and so I'll probably be inclined to just give up and not try to run whatever game it is I'm trying to run.
Hi,
As long as nobody drops out of the blue sky and makes the best thing happen with a touch of h(is/er) magic wand, presenting the available options is a *very* nice thing to do.
If the options are there, I might be able to run my games. I'll be able to report on the mailing list what options I used to get it to run, which should help debug the actual problem.
If the options aren't there, I'll never know that they existed and so I'll probably be inclined to just give up and not try to run whatever game it is I'm trying to run.
This is all correct, but on the other hand, some users might complain about a too complicated setup. Developers on the other hand just tell users to set an option instead of fixing the code.
I am all OK with options, but before adding an option one should think why it is necessary and if it can be avoided.
On Thu, Feb 02, 2006 at 11:01:55AM +0100, Stefan Dösinger wrote:
What options do want to add? IMO, the best guideline is to avoid options and try to find it automatically. Most D3D options in the registry exist, because the D3D code is incorrect and needs tweaks for some games -> The best thing is to fix the code so it works without tweaks for all games :)
Well, while it's a worthy goal to try to auto-detect everything automatically, I think that to have best performance in all cases, configuration options are needed.
What people could work on is a centralized, WineHQ-managed database of options (some sort of Application Database but automated). Basically, people would connect to this database and get their Wine configuration automatically updated to get best performance on 'officially supported' games / applications.
The only real problem I would see with that scheme would be if multiple applications have the same name (like for example 'game.exe') as this would render the whole 'override' stuff useless.
Lionel
Brain Hill wrote:
This is what I have so far : http://img371.imageshack.us/my.php?image=winecfg8xe.png
The symmetry is off right now, however I am trying to leave room for other buttons incase they are needed.
Just an observation. There is lots of space used for explanations. Wouldn't it be better to place that into a help file and add a Help button to the dialog that opens up that help file (possibly with context sensitive help)?
Rolf Kalbermatter
The top part isn't my work but that might not be a bad idea. I simply offloaded some of the options at the bottom and plan on putting them in a separate window along with other potential options.
Rolf Kalbermatter wrote:
Brain Hill wrote:
This is what I have so far : http://img371.imageshack.us/my.php?image=winecfg8xe.png
The symmetry is off right now, however I am trying to leave room for other buttons incase they are needed.
Just an observation. There is lots of space used for explanations. Wouldn't it be better to place that into a help file and add a Help button to the dialog that opens up that help file (possibly with context sensitive help)?
Rolf Kalbermatter
Ok, after working on the winecfg program for a bit, this is what I have :
http://img434.imageshack.us/my.php?image=winecfg17nf.png
I removed the paragraphs from the window as they took up a considerable amount of space. Perhaps it would be best to document the functions as stated earlier through either the users guide or some kind of built-in help mechanism.
The pixel shader option has been changed from a check box to a drop-down. This allows selecting a version of pixel shaders to use. This is helpful if there is a bug in say a function that's only in PS 1.3 so the game in question does not try to use it.
Graphics card memory allows the user to specify how much graphics card memory the wined3d module should report to programs. Right now, as of the latest cvs version of Wine, it's hardcoded to 64 megabytes plus your available AGP memory. This is a fairly good default as most vid cards today have at least that much but a slight theoretical performance boost can be gained on texture memory intensive games by allowing full use of a graphics cards memory. Ideally, Wine should auto-detect this but the implementation varies by GPU maker. Also, in the case of cards that share graphics card memory with system ram, you may not want a game to use all available texture memory.
I've given the options a default setting as well. Right now, the default settings are hard-linked to specific settings however in the future, it would be nice to have default try to automagically detect what settings are best.
On Fri, 3 Feb 2006, Brian Hill wrote:
Ok, after working on the winecfg program for a bit, this is what I have :
Would it make sense to have a separate tab for DirectX?
Francois Gouget wrote:
On Fri, 3 Feb 2006, Brian Hill wrote:
Ok, after working on the winecfg program for a bit, this is what I have :
Would it make sense to have a separate tab for DirectX?
A new tab is a possibility however there are already a lot of tabs as it is.
Brian Hill wrote:
Ok, after working on the winecfg program for a bit, this is what I have :
Looks good!
Hi,
On Mon, Feb 06, 2006 at 02:10:43PM +0100, Molle Bestefich wrote:
Brian Hill wrote:
Ok, after working on the winecfg program for a bit, this is what I have :
Looks good!
No, it doesn't (quite ;): "64 Mb" is wrong, should be "64 MB", 64 megabytes (although this part might not be part of your new work).
Andreas Mohr