I'm just wondering if there has been any information regarding the differences between the different 'display modes' (i.e., Direct3D 8/9, DirectX etc.), and if there are any advantages/disadvantages to using any of them?
Printable View
I'm just wondering if there has been any information regarding the differences between the different 'display modes' (i.e., Direct3D 8/9, DirectX etc.), and if there are any advantages/disadvantages to using any of them?
D3D8 and D3D9 are HWA modes. D3D8 is more limited in the shaders it supports but will run on (much) older machines. D3D9 should support everything, and will run on almost anything. Both will be slow if you use a graphics extension which hasn't been converted to HWA, or if you run on a pc with a really terrible graphics chip but decent cpu (e.g. some older laptops).
"DirectX" "DirectX+VRAM" are the old Direct-X modes (direct draw 7?), and don't support shaders, and I don't think they really offer any advantages.
Graphical extensions that aren't optimized for HWA will still run on your CPU instead of GPU, and thus will run at least as slowly in HWA as non-HWA. If a nonoptimized graphical effect is the limiting factor to your performance, then even if HWA speeds up the rest of your game to be amazingly fast, it will still run no faster overall as it is limited by the slowest element.
As dyna pointed out, the only real reason to use D3D8 instead of D3D9 is to allow compatibility with much older machines, but virtually everything modern will run D3D9, so its not really an issue.
Personally, I wouldn't worry about D3D8. I know not everybody has a modern machine, but I don't see that as a reason to limit yourself. I'd just look ahead to the future.Quote:
Originally Posted by Pixelthief
There is no reason at all to use d3d8.
Even very old graphics cards which only fully support d3d7, are usually still d3d9 "compatible", so you don't have to worry about games not running.
I would recommend you use d3d9, but add an option to replace pixel shader effects for compatibility on older hardware.
If you use Direct3D 9 does that require the user to have DirectX 9(is direct3d and directx the same thing?)?
Direct3d is a part of DirectX.
If you use the "standard" runtime, would it run better than the non-HWA MMF2 standard one? Or are they the same.
They are the sameQuote:
Originally Posted by alspal
D3D9 is the safer bet. You have to figure most people who use computers to play games either have a GeForce 7 series / ATI HD1000 series or higher card, which means DirectX 9 compatibility, and anyone using Windows Vista or 7 is already using Direct X 10/11, so really there's no need to display in DirectX 8. Now if there was DirectX 10 compatibility, that would be different, as there are still plenty of people using Windows XP (myself included, for my desktop at least), and rendering using D3D10 would flat out make XP incompatible. Luckily that isn't an option... yet. Oh but the lighting effects we could achieve if it were.
If that's the case, then why are they insisting on keeping HWA and standard MMF2 apart from each other?Quote:
Originally Posted by Shawn
Correct me if I'm wrong, but rendering as standard while using the HWA compiler will still use HWA versions of extensions and a few other subtle beta features. And it is not easily set up to allow you to edit things like ink effects- they're listed as "obsolete" and will be removed when HWA is finalized (well, kept backwards compatible more likely)
DX10 would seem pretty pointless unless we got a real 3D engine.Quote:
Originally Posted by dsilvers
Direct3D 10 supports (in addition to what D3D 9 does): Proper GPU multitasking (irrelevant), cross-process shared surfaces (irrelevant), virtual graphics memory (irrelevant), unified vertex and pixel shaders (irrelevant), geometry shaders (probably irrelevant), HLSL 4.0 (allows truely massive shader programs and has native integer support, otherwise irrelevant).Quote:
Originally Posted by dsilvers
So the only possibly useful thing D3D 10 offers us is Shader Model 4.
Unless you're explicitly making an editor/testing program for shaders, I can't imagine why you'd ever need the bajillion registers or instructions or other bonuses of HLSL 4.0 in MMF2.
I think what we need is OpenGL.
OpenGL is definitely good, especially for Java. Only problem is that some video cards are really bad at rendering OpenGL, but can perform well with Direct3D.Quote:
Originally Posted by Jamie
Really? Which ones?
I don't remember really, I read this somewhere a long time ago. I think it was some performance benchmark tests. Some scored low on OpenGL, but unfortunately I don't recall which video cards.Quote:
Originally Posted by Jamie
If it was a long time ago, it's probably no longer relevant.
Yeah that could very well be. Also, it could have been a budget card as well. So, not really relevant. And for whatever OpenGL you can do with MMF2, I would imagine today's cards are more than capable.Quote:
Originally Posted by Dynasoft
OpenGL is the best.
Really? Thanks! Noone needs Direct X now. :crazy:Quote:
Originally Posted by alspal
Too right. The world would be a better place if Direct3D didn't exist. Ever read John Carmack's rant about it?
Quote:
Originally Posted by Wikipedia
It's not all about how good the API though, is it? John Carmack's point about Direct3D's features being controlled by Microsoft still stands.
Couldn't clickteam just offer both DirectX and OpenGL and a way to change between which you want maybe via events. Then you just set display modes in the options for the game etc.
If OpenGL is added and it is possible being able to use CUDA could be a good idea also. Maybe it could just offer a way to check if they have it at runtime and if not it switches to standard OpenGL or DirectX instead or you do it with custom events. Just a idea really but could be great for games if it's possible.