Jump to content

  • Log In with Google      Sign In   
  • Create Account

DX Version Suggestions


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
16 replies to this topic

#1 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 07 February 2000 - 02:55 PM

I would like to make a suggestion to you programmers - I''ve been noticing this bad trend that is driving me nuts. DON''T MAKE YOUR GAME USE DX7 IF IT DOESN''T NEED THE NEWEST FUNCTIONS! Sorry for yelling, but jeez - I refuse to force somebody to always have the newest version of DX installed when it''s not needed. What possible functions (in 2d I''m talking) do you need that V5 doesn''t provide? You need to understand that newer DX drivers are either buggy, not supported yet, or I just don''t care to have to download 10 megs worth of shit to try something that in the end might trash my system and make me reinstall Windows to go back to a working version of DX (which I''ve done a couple of times). Anybody tired of DX7a yet? Jim

Sponsor:

#2 null_pointer   Members   -  Reputation: 289

Like
Likes
Like

Posted 08 February 2000 - 02:00 AM

What language!!

Hmm...reasons for requiring end users to use DX7...

1) DX7 is faster (sometimes as much as 40%).
2) People use other things than DirectDraw when writing games.
3) You can use your DX6-compatible video drivers with DX7.
4) Newer versions of DX fix bugs found in previous versions.

Did I miss anything? Ah, yes. DX7 sports very different interfaces. It''s much easier to use, and it''s hard to learn to code both the old version and the new version. Most people just learn the latest.

When a newer version of DX comes out, I download it anyway. No problems. Just get over it!

Oh yeah, and I''m not tired of using DX7.a yet. Maybe by the time DX8 comes out...

- null_pointer


#3 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 08 February 2000 - 03:31 PM

> 1) DX7 is faster (sometimes as much as 40%).

This is the biggest misconception people have about DX. It does not make it faster because of the newest version. If a card uses a hardware blitter, it''s a VERY good guess that it''ll use the same methods in the next version. Do you think newer DX versions somehow magically alters your video card hardware? Maybe the software rendering changes, maybe it doesn''t. I''m sure that Microsoft doesn''t pay their employees to sit down an rewrite the blitting code for every single DX version.

>2) People use other things than DirectDraw when writing games.

That has absolutely nothing to do with this - who cares what you use it for.

> 3) You can use your DX6-compatible video drivers with DX7.

What? Are you saying I can use DX6 for my DX7-required apps?

> 4) Newer versions of DX fix bugs found in previous versions.

And they also create new ones.


> Did I miss anything? Ah, yes. DX7 sports very different interfaces. It''s much easier to use, and it''s hard to learn to code both the old version and the new version. Most people just learn the latest.

Ok, I would like to to explain this. As I mentioned in my first message, it was in regards to 2d. Does the bltfast interface change? No. Does blt? No. Maybe new functions come with every new release, but who doesn''t use bltfast?

DX uses COM. COM is built around reusable components that ALWAYS stay the same. The calls don''t change.

To understand what I''m talking about, look at Starcraft. A newer (kinda) game that used the min usable version of DX -- 3. They could have went with 5, but why? They had the functions they needed.





Jim Adams
Game-Designer/Author
tcm@pobox.com
http://www.lightbefallen.com
http://www.basicelectronics.com


#4 Zer   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 February 2000 - 02:53 AM

Yes, but Blizzard has the unique property of not being a "stupid newbie" developer, unlike a lot of people who seem to think using DX7 for DirectDraw is a good idea. My game uses DDraw, DSound, and DInput, and it only requires DirectX 3.

I should point out that there are no speed increases in newer versions, largely because if someone has DX7, their DX3 calls are going to thunk upwards (whatever the word for that is). You only really need 3 for 2D work. For 3D work, DX7 is understandable though.

#5 Spellbound   Members   -  Reputation: 122

Like
Likes
Like

Posted 09 February 2000 - 04:00 AM

Blizzard probably had another reason for using DX3 for Starcraft (Though I was aware that they did) and that''s because Windows NT only support DX3 and will never get a higher version.

Personally I use the DX7. Though even if you develop with DX5 the enduser still get''s performance increase if they install DX7 drivers.

#6 null_pointer   Members   -  Reputation: 289

Like
Likes
Like

Posted 09 February 2000 - 10:11 AM

1) DX7 is faster than DX6 (one reason for end users to upgrade -- it''ll (most likely) make their other games faster).

2) People use other things than DirectDraw when making games (like Direct3D, DirectInput, etc. -- a reason for developers to use the latest version).

3) You can use your DX6-compatible drivers with DX7 eliminating the need to upgrade video drivers, sound drivers, input drivers, modem drivers, etc. (and making the end user''s upgrade hassle-free). You were talking about drivers, weren''t you?.

4) Newer versions fix bugs found in previous versions (why wouldn''t anyone upgrade?).

And that crack about COM? Did you see the DX7 docs about IDirectDraw7, IDirectDrawSurface7, IDirect3D7, etc. You can''t get pointers to previous interfaces through those objects -- they''re incompatible.

And most of the new bugs are with the new code (the latest version) and won''t affect games that use previous interfaces (like those in DX2, DX3, DX5, etc.).

Welcome to the real world! Why would ANYONE not upgrade to DX7? (That''s what you were ranting about, after all!)


- null_pointer



#7 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 11 February 2000 - 05:34 PM

I''m afraid you need to re-read the first post - it does NOT say anywhere in it about not installing and using DX 7 run-time. It says about using the newest for the software development and function usage. If you program something that uses the blt function, why the hell do you need to use DX7 SDK? It exists in earlier versions and it is downright stupid to insist the end-user require 7 in order to use the functions that they could of used with DX3.

Other DX modules like DI, DP, etc also exist in earlier version, and as a matter of fact, not much has changed about those either.

Now, you also need to show me how DX7 is faster. In which aspects? Software rendering methods, hardware, which is it?

All in all, you have mistakenly assumed I meant the run-time libraries.


#8 null_pointer   Members   -  Reputation: 289

Like
Likes
Like

Posted 14 February 2000 - 01:43 AM

You were ranting about using the newest version of DX for development, requiring end users to always upgrade to the newest version of the run-time libraries.

I simply said (twice): who wouldn't upgrade to the latest version of the run-time libraries anyway?

This has everything to do with the post, because if end users used the latest version of the run-time libraries, there would be no inconvenience to them to use apps requiring the latest version.

(end of problem)

Do not try to make me sound like an idiot again. I don't like it. And by doing so, you only show your own lack of intelligence. Shooting down people's posts blindly is not a good way to communicate (which is the purpose of this forum!). If you have something to say, and you expect people to listen, say it nicely .


- null_pointer


Edited by - null_pointer on 2/14/00 7:52:53 AM

#9 SiCrane   Moderators   -  Reputation: 9676

Like
Likes
Like

Posted 14 February 2000 - 05:18 AM

quote:
Original post by null_pointer
I simply said (twice): who wouldn''t upgrade to the latest version of the run-time libraries anyway?


Actually null_pointer, I won''t upgrade to DX 7. DX 7 on my computer is unstable. It''s a driver problem with my sound card (which is no longer supported), so I can either stay with DX 6 and not buy a new sound card, or buy a new sound card and upgrade. Money''s tight right now, so new hardware is out. Guess I''m stuck with DX 6. Which makes me an end-user who won''t play DX 7 requiring games.

#10 trixter   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 February 2000 - 05:32 AM

null_pointer, even if most people upgrade to the latest run-times that doesn''t mean everyone will. more people will have at east dx6 than dx7 and more people will have at least dx5(all win98 users) than dx6 or dx7 and more people will have at least dx3 than dx5,6,or7. if you want the least chance of someone having to download dx drivers.. use the earlier sdk that supports everything you need. you can use the lastest if you feel like it. it''s all up to you.



#11 Tenshi   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 February 2000 - 05:54 AM

Also, if you develop with Visual Basic, only DirectX 7 has Microsoft''s official support (ie., it is standardised). Otherwise, requiring the user to have the lowest version of DirectX would allow the most users to enjoy your DirectX application without the hastle of upgrading (and as mentioned, NT users are currently limited to DX3 anyway).

#12 Omo   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 February 2000 - 06:30 AM

Egads...tempers are flaring. Jim, it seems as if you are really only using 2D then probably *you* dont need to force end users to use a later version of DX. However, tossing out 3D for the moment, there *have* been significant changes to other areas of DX, DPlay for instance.

Generally speaking, I end up upgrading DX only when I need a feature that the current version doesnt have, or there have been bug fixes or improvements in features I need. Then I require my users to upgrade too.

As for speed improvements, well...maybe not in 2D, but in 3D it is rather significant. You can measure the differnces with a stopwatch.

I havent had any problems with 7a (that I am aware of).

Omo



#13 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 17 February 2000 - 02:14 PM

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

You were ranting about using the newest version of DX for development, requiring end users to always upgrade to the newest version of the run-time libraries.
-------------------------------

I was ranting about NOT forcing end-users into installing the latest version of DX. Get it right please.

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

I simply said (twice): who wouldn''t upgrade to the latest version of the run-time libraries anyway?

This has everything to do with the post, because if end users used the latest version of the run-time libraries, there would be no inconvenience to them to use apps requiring the latest version.
(end of problem)

Do not try to make me sound like an idiot again. I don''t like it. And by doing so, you only show your own lack of intelligence. Shooting down people''s posts blindly is not a good way to communicate (which is the purpose of this forum!). If you have something to say, and you expect people to listen, say it nicely .
-------------------------------

I''ll be nice about this...

I don''t need to try and make you sound like an idiot, and I have never outright said anything like that. It''s childish for you to say that I have been (and that I''ve done it more than once). If you wish to communicate as well, then don''t just start spouting factless information without something to back it up.

If a program that does NOT use the newest features, as I have said before, then why force the upgrade? You keep dancing around this question, and you''re getting upset in the process.

I am a very intellegent person, and I have made a clear explanation of what I have meant (as others have understood from their posts). It just seems you are ''blindly'' replying without giving any clear or factual information based on what I have said.

From a business point-of-view, forcing this is a problem. Number one, compatable issues - some hardware just simply won''t work right. As others have mentioned, some DX versions just don''t work right for them. Don''t believe me? Do a search - go to gateway, dell, hp, packard bell, etc and so a search on their tech sites for related DX problems. Go to ATI or other hardware manufacturers and do a search. Problems exist. Having the newest version of DX does not help all the time.

As mentioned before, if you are only using simple functions, such as blitting, or directinput device reading, then you simple do not have to use the newest version. DX 3 has many of the functions, and NT users can use them.
This brings up another problem - users of hardware that takes advantage of DX, such as newer video caption devices, will not work with DX 5+ on NT - you MUST use 3. They are smart and understand that. It''s business - you have to do it. Why leave out a large portion of the market?

Next, why force somebody to download the newest version that can span over 10 megs? If you make your game available for download, then that end-users doesn''t have the cd handy to install dx.

Has anybody had to re-installed windows yet because of a messed up install of DX? It sucks - plain and simple. There''s no easy way to fix it.

Next, let''s look at other things, such as d3d. Of course there''s the newest features, but did you think that maybe some of the newest hardware can''t support those features yet, or that your target audience may not have the newest cards? It''ll default to software methods, which may be slow. Why not just step down a bit and go for something that is easier, faster, and more cost efficient to get out?

If you haven''t got the point yet, you probably never will. You need to look at this from a business point of view as well and understand the industry. Look at the smart companies that are doing exactly what I have said - they know what they''re doing, and will continue to do so.


Jim


#14 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 17 February 2000 - 02:16 PM

I would also like to say that Tenshi has the first best answer that I didn''t think about - VB support.


Jim


#15 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 17 February 2000 - 07:58 PM

Allrighty. I''m going to try to make this as two sided as I can, as that is what this whole topic is based off of. As I understand it, Jim was simply telling us programmers not to use DX7 if we don''t need to. Hmmm... That does sound reasonable.

The only thing I don''t understand about that request is whether Jim is taking into account that this is something that is talked about in the game development pipeline - actually, it''s a big thing that is talked about in my experience. If you are, Jim, then I think you should reevaluate the entire request. I suppose it would be a bit fairer to everyone to assume that they are intelligent enough to consider the different advantages of versions, and that they do make their final decision based on discussions with the team and the marketing people.

Now to address the bit where you limited your request to those making 2d games. I have made 2d games in the past, and I do see your point very clearly. If you are using DirectDraw, you only really need DX3. I haven''t seen any real changes in the versions of DirectDraw. Now, it is very true that DirectPlay 6.1a is a heckuvalot better than that in 3, but that too runs on NT. DirectInput is fine on NT. DirectSound? Yep. The only thing that is lacking turns out to be Direct3D (pretty much sucks before DX6), DirectMusic, dadida. But, as I mentioned before, this is all considered in the game development pipeline.

Ok, so now I''m going to do my best to justify claims for DX7. Now, I know Jim''s not going to like it, but I''ll have to use his own arguments against him. First of all, at one point Jim said that DX7 may have some new features to use, but the hardware may not support those features. In my experience, I''ve never seen the case where one couldn''t work around a problem they know is there. Probably the best thing about DX is that it tells you what''s going on, and you can do things such as query devices and such. By doing this, you get information on what the device can and cannot do, as well as finding out whether you''d have do do it in software or hardware. It may be too much to ask, but do you think it would kill to check those flags and adjust accordingly? I''ve not worked on a project that didn''t have such adjustment capabilities. Actually, I suppose if I get back to the original post, Jim''s only concerned about 2d stuff. More about that....

Jim, you''re right in the fact that there have been no real improvements on DX''s part in 2d stuff, with the exception of overlays and minor bug fixes. They pretty much finished that a few years ago. I think you already know this. Anyway, how can anyone combat an argument like that, when you first of all ask people not to use an API that has made leaps in areas other than 2d functions, and then you limit the discussion of why people would do such a thing by that factor?

I''m going to go ahead and post this, as I''m starting to repeat myself. I look forward to future posts.

Andy Luedke
Technical Director
AndyLuedke@hotmail.com

#16 Pythius   Members   -  Reputation: 122

Like
Likes
Like

Posted 17 February 2000 - 08:02 PM

Jim,

Just so you know, the links you provided in your second post here are curious. The first doesn''t work, the second has a name on it - John Adams. Is that you?

Andy Luedke

#17 null_pointer   Members   -  Reputation: 289

Like
Likes
Like

Posted 18 February 2000 - 03:23 AM

Jim Adams: I decided to re-read this whole post and its replies; found some interesting stuff...anyway you did say more than a few things which were not true. If I wanted to go through the whole post and belabor all of your mistakes, I could. But, IMHO, it''s not very nice to do that. You''ll notice in all my replies that I didn''t quote from your post and replies and belittle the stuff I didn''t understand...

Whatever I may have learned from this post, you definitely taught me one thing -- never reply to an angry post.


- null_pointer






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS