View Full Version : Do we need to support software rendering any more?
Robert Cummings
08-11-2005, 06:10 PM
HW accelerated quads for 2D games are so much nicer. Worth supporting software anymore? should we take responsibility to raise the spec globally for all our sakes?
Anything that accelerates triangles and has a basic dx7 feature set is what I'm talking about. Stats would be welcome as are your thoughts...
I'm half out of the loop since I use cross platform API's on the PC, but didn't DirectX used to support software redering, or is that the point, Direct3D doesn't? I'm talking old DirectX stuff, before shaders in 8/9.
simonh
08-11-2005, 06:28 PM
My opinion: No. Look how nice the effects are in Atlantis with the alpha blended particles, and the full screen rotation effect, and look how well it is selling (no. 2 on Big Fish).
Sure, you may want a fallback software option to eek out a few extra sales, but I would by no means consider it an essential feature.
Bad Sector
08-11-2005, 06:47 PM
My opinion is that software rendering is deprecated. However many people here believe that we should support it, so i'm going to follow this trend for my 2d game engine. Some extra sales won't hurt :-).
And if you have a driver system writing a software rendering driver is not hard :-)
@PoV:
the reference driver that Direct3D uses to perform software rendering is that what the name says: a reference driver only, which can be used as a reference for video card manufacturers and programers which don't have access to some hardware (for example programmers who don't have a GeForce 6800 or 7800 and want to write pixel shaders 3 code).
This drivers tries to emulate as precisely as possible the behaviour of a 3d card, thus the speed goes second. In fact even in my 3200+ computer, the reference drivers is aufully slow even when it comes to simple texturing.
You may manage to get acceptable results by tweaking the configuration you pass to the renderer (f.e. disable bilinear filtering, disable lighting, disable shaders, disable screen output :-P, etc), but a true software renderer will be better.
Ahhh, so that's what that was. Thanks.
Abscissa
08-11-2005, 09:45 PM
Direct Draw has decent (ie: better than D3D Reference Drivers) software support in DX 7. You don't get rotation, but that's not always needed.
Bad Sector
08-11-2005, 11:56 PM
Do you get alpha blending? Because that is usually needed for special effects and i don't remember seing it in DX7 :-)
PeterM
08-12-2005, 01:00 AM
I probably wouldn't ever bother writing a software renderer nowadays, unless it's for Pocket PC or similar.
I'd be careful about using the reference driver on D3D8+ because it's criminally slow. It's not supposed to be used as a software renderer, it's supposed to say "this is how the screen should look on 3D cards that have good drivers".
D3D7 has a non-reference software driver in MMX and non-MMX flavours. Sure, it's a lot slower than hardware, but not as slow as the reference driver.
IGE currently supports D3D7, including software rendering, as well as OpenGL. So pretty much any Windows box will run it.
Off topic:
There's a new release coming today which radically improves performance of (mainly) the D3D back end, and adds profiling support. Hence the performance boost!
From profiling I observed:
Never use std::copy() for copying plain old data.
Visual C++ 7's std::vector::clear() deallocates the vector's memory.
Pete
PeterM
08-12-2005, 01:50 AM
Do you get alpha blending? Because that is usually needed for special effects and i don't remember seing it in DX7 :-)D3D7's software devices support alpha, modulative and additive blending.
I've noticed however that when alpha blending, fully transparent texels end up being rendered as slightly opaque (testing with the MMX device), which can look pretty bad if you're drawing text or sprites with transparent borders. You can fix this in OpenGL by providing a glPixelTransfer alpha bias and scale, but not in D3D7 software AFAIK.
Bad Sector
08-12-2005, 02:40 AM
i'm talking about DirectDraw 7 not Direct3D...
Robert Cummings
08-12-2005, 04:39 AM
Interesting discussion so far.
So the consensus is to not worry about using software rendering at all. Does anyone have any stats to go with their opinions - for example, how many people installing your game without a 3D card?
Ska Software
08-12-2005, 06:35 AM
I dropped software 2 or 3 years ago; before then I had an option to turn off alpha blending effects.
The biggest issue is that some older graphics cards either don't do colorkeying right or don't support it for D3D7 surfaces, but this is becoming too dated to care about. I did get a couple complaints for people getting black boxes around characters in ZSX2, but they all had machines that were too dated for the game to be any fun anyway (this is my opinion--you could argue that the game wasn't fun to start with too! :eek: ).
:edit: - stats: 3 people e-mailed me about the black boxes.
Jim Buck
08-12-2005, 08:43 AM
For anyone who wonders whether or not software rendering is worth considering, read James C. Smith's posts from some time last year about when they decided to implement software rendering in Wik after they shipped without it.
Robert Cummings
08-12-2005, 10:08 AM
Wik was opengl though wasn't it? OpenGL has a bad record for casual customers.
tentons
08-12-2005, 12:59 PM
I'm not interested in supporting software rendering mainly because some of the best sellers on portals (which represent customers with probably the lowest end hardware as compared to the typical "hardcore" gamer) do not support it. If portals feel safe then I figure that there's a good margin of caution and research involved in their decisions, and it's ok to ignore it. One less thing to worry about.
Having said that, it also depends on your target market, I guess.
vBulletin v3.6.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.