AMD: DirectX Holding Back Game Performance

Page 3 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.
[citation][nom]bv90andy[/nom]But they can choose to use DX or OpenGL, can't the developer also choose to work at low-level? Is that locked?[/citation]

is low-level locked you ask.
kinda.

viewing low-level programming langauge is known as 'bubble-pop electric'
because looking at it will make the average person's head pop.

there are only two things to see, massive amounts of data or mathematical equations small enough to be called obnoxious.
and i'm sure you can picture massive amounts of data already.
but when math equations get as small and complex as '^
your head will start to spin.

special care is taken for those who are privileged enough to view the low-level code.
usually they have to go through mental tests to ensure they have enough cache within their personality to keep themselves walking.
it can be enough to make a person flat-out fall to the ground and refuse to walk.. or even pass out.

which makes it a health risk and an insurance risk.
maybe you are walking down the street and are thinking about mastering your code, then suddenly stumble into the street as you collapse from mental breakdown.

without the proper training, you will know what area you want to edit.. but searching for the specific paragraph of code might take days.

a lot can happen.
maybe you start to forget things.
maybe you start mumbling your words, and then it progresses until the point where you are talking to somebody and your vocal chords quit moving.. but you think you said something aloud.

your grasp of time might be completely lost.

extensive amounts of data takes it's toll on the brain and body.
worst case scenario, you become disabled (either physically or mentally) and perhaps you get down bad enough to be hospitalized.
that hospital stay could take years, it depends on how hard you cracked and fell.

that kind of code is usually reserved for only the smartest and most ambitious persons that walk the earth.
and if you have ever needed to get lower in the processing code, you probably had a counselor.
otherwise you broke in and had a peek at something that might have made no sense at all.

knowing low-level code can also be dangerous because of the empowerment the code has.
such code can do a lot of damage really really fast.
its like the motherboard gives the code highest priority, but in reality.. when the code is executed, it goes fast because the electrical pulses are the shortest.

three small bursts of electricity may not sound like much.
but when you realize our processors are dealing with small bursts of electricity at speeds of 2-4ghz
sometimes a nanosecond becomes a long time.

our motherboards are going the way of sonic purity.
when you want the speed.. static in the air might be enough to interfere.
i dont think we are quite there yet with the motherboards of today.. because sonic is described as extremely sensitive, thus giving rise to uber amounts of clarity.

when talking about electricity, the connections from one capacitor to another are as clean and clear as being lost in space with no planets visible.
the amount of resistance (impedance) is low.
like 0.00000000000009 low.
which is why the government has faith that almost nobody will be able to mess around with the motherboard.
it takes way too much money to build an oscilloscope with a resistance low enough to make sense of what is going on.
even if you manage to build the oscilloscope.. you are gonna lose all of the little details because the electron gun is either too high in resistance or too slow and stupid to move that small of an amount.

one way to try would be to extend the distance between the electron gun and the phosphorus screen.
but if you think anybody is gonna sell you a tube that is 15ft from front to back, it wont happen.

and if you think anybody is going to give you the gas required to fill up that tube, you are instantly going to raise a question because 80% of the world doesnt use CRT televisions anymore.

humans have spent decades upon decades getting computers working.
that information was not lost or tossed aside.
the only information that does get thrown away is the hardware ideas.. not usually the software ideas.
once you have working hardware, its all about the software from there on.
so if you dare to look back at all of the progress that has happened.. i feel a bit sorry for you, because low-level programming langauge needs an operating system all by itself to make quick and organized sense of the data.

dont be suprised to hear that some low-level programming has millions of pages of text.
things start with manual input.. then automation takes place and all of those results go into memory.
then you start using the results in memory to build some more.. and all of those results are put into memory.

intelligence is a thing of memory/cache.
humans are amazingly beautiful because once they learn something, they can allocate.
its like being taught something brand new, and you get excited about it and start to calculate answers as if placing a train on the tracks and letting it roll into the future.
 
[citation][nom]free9430340[/nom]Great Idea if AMD is going to pay developers for the huge additional cost the are going to have. The benefits of DirectX are greater then the disadvantaged.[/citation]
Yes, keep saying that to yourself...
 
What people aren't grasping is that a game ENGINE can be used multiple times, so the cost isn't as high as you think. Companies often times spend more money on their next engine, but that doesn't mean the cost of games goes up. The problem is having to base your engine on an API with built-in limitations. Currently developers are running into a wall with DirectX (and OpenGL). There are developers who have ideas that simply can't be implemented because they don't have access to the architecture at a low enough level (primarily because Windows gets in the way). While this might not be a solution for the many developers making cheap ports of console games for the PC, it does at least provide a tantalizing prospect for developers who really want to push the visual envelope.
 
If all you developers out there are serious about wanting to bypass the DirectX API so you can extract the full performance of PC GPU's then why not simply make your games install like an OS to a hard drive that supports a wide range of Ethernet chips so it can update from the internet with low level code that supports the user's video card that it detects. This way you do not have to worry about if your game does not work on X type of GPU right off the bat, since you can simply let the optimized code for that X GPU be downloaded to the game which in turn will allow the game to take full advantage of X GPU's performance without the bottleneck of the DirectX API. You could apply this same technique for the audio chip and the CPU or anything else.

I do not recommend the CD booting type game unless you wish to have it set up as a "Live CD" in which it boots as an OS from the CD with the Ethernet chip drivers in its kernel. The low level code it needs will have to be stored onto a thumb drive or hard drive since it would be annoying to have to re-download the code again when the game is restarted.
 
[citation][nom]anwaypasible[/nom]but when math equations get as small and complex as '^your head will start to spin.special care is taken for those who are privileged enough to view the low-level code.usually they have to go through mental tests to ensure they have enough cache within their personality to keep themselves walking.it can be enough to make a person flat-out fall to the ground and refuse to walk.. or even pass out.which makes it a health risk and an insurance risk.maybe you are walking down the street and are thinking about mastering your code, then suddenly stumble into the street as you collapse from mental breakdown..." "and all of those results are put into memory.intelligence is a thing of memory/cache.humans are amazingly beautiful because once they learn something, they can allocate.its like being taught something brand new, and you get excited about it and start to calculate answers as if placing a train on the tracks and letting it roll into the future.[/citation]
Have you taken your medication today?
 
What is needed is a compiler for graphics interface instead of just a library interface.
 
Low level programming is hard and very time consuming; those programmers know what I’m saying. It will take very long time for one title to come out for production. I’m not sure why this guy is complaining; maybe all the programmers in the world as good as him it is possible, I doubt. DirectX has come a long way and it will continue to be more powerful that’s for sure.
 
Taken with a grain of salt. OpenCL and other standards all have downfalls too. Maybe this stemmed from all the disapproval of Crysis 2 not being native DX11 😵. API's are a good idea, I did a little assembly and machine code on (yes, lol) my Commodore 128. I could do this as it was the same sort of hardware and couldn't really be upgraded. DirectX is just an API that these days I thought was very close to the hardware. Maybe vendors such as NVIDIA and ATI could make their own API's but then this would be vendor centric. Maybe if someone like AMD, instead of whining about it, bought and developed their own API/whatever of something like this --> http://unlimiteddetailtechnology.com/ then that might also solve a lot of problems. A lot of maybe's, DX will be around for many, many years to come in my opinion.
 
Sounds like an excuse for console developers. "This is why games look shitty on the PC, not because we don't change anything but the controls when we port them!" Same reason it runs crappy you pricks, you don't change the coding to work better with an x86 architecture, you just roll with the "Power" CPU coding you already have.
 
Yes, hardcore developers do get nostalgia too, dreaming back to the good old days of the Amiga, Atari and Spectrum machines where you only had ONE set of hardware and you felt AWESOME when you made that hardware do something unexpected, even something considered impossible.

But to throw development back 20 years because of those select few hardcore coders would be insane. Let's not forget why APIs exist, why reusability exists, why modular code or layered security models exist. If anyone could access the hardware at any time, not only do you increase development times for every single project ever, you also give virus and malware coders a golden key.
 
Aren't PC graphics behind consoles because they have to be able to run on a minimum hardware configuration in order to be accessible to a larger audience. A console game runs on the same hardware every time so they can use it to its fullest. Try writing a game for 6 core processors and DirectX 11 hardware and see what the graphics will look like. No one does this because the audience will be too small.
 
Why on earth would you want to program graphics at a low-level.

Speed. You save a LOT of resources by working at a low level instead of through an API.

And no, for anyone who actually knows an assembly language [like me], it doesn't take significantly longer then a high-level language, but there are a LOT more pitfalls to worry about [branch codes can be troublesome, and don't even get me started on compand AND/OR statements for a WHILE loop...].
 
Working with hardware is okay on consoles because there's one (1) specific setup to target.
With PC's you need the api so you can target the api instead of bazillion system setups.

I'll take slow and stable over fast and buggy, thank you very much.
 
I seem to remember this argument years ago when i was gaming with 2 3dfx voodoo2 cards sporting 24mb of ram total! Now i have 1 gig of vid memory and we are still having this discussion. What is the deal with "draw calls"?
Why cant the API be more "direct metal" specific. If you have an AMD card you choose that api when playing the game. Does this make sense? I am not a programmer, just a gamer.
 
Doesnt anyone else remember the days of being able to select either Directx or OpenGL in a game? I think you could do this with the original Half-Life.

Why can't you develop the game to include both? The game developers could potentially choose a preferred video card to design for, and include directx for the competitor compatibility. I prefer ATI so I'm afraid of what would happen (I believe Nvidia's got more pull in the industry so would probably have most of the low-level design), but it's worth it for the performance potential.
 
[citation][nom]torque79[/nom]Doesnt anyone else remember the days of being able to select either Directx or OpenGL in a game? I think you could do this with the original Half-Life. Why can't you develop the game to include both? The game developers could potentially choose a preferred video card to design for, and include directx for the competitor compatibility. I prefer ATI so I'm afraid of what would happen (I believe Nvidia's got more pull in the industry so would probably have most of the low-level design), but it's worth it for the performance potential.[/citation]
I think PC gamers need to let Developers know we would support such an endeavor.
 
If bypassing the higher-level APIs is supposed to be the thing to do (do AMD CPUs not have the oomph to run it?), then a lack of OpenGL functionality should be a non-issue no?
 
[citation][nom]carlhenry[/nom]what? he didn't say somebody FORCES to use the said API. he said, it would take FOREVER (sorta...) to program at low level. he also didn't say you can't do it either. he was pointing out that the guy here is blabbering the obvious. low level > high level langauges -- BUT reality check people. it would be absurd to program a massive game with low level. if blizzard uses this, it would take at least 50 years to develop starcraft 3. by then, the "visual innovation" you came up with would look like crap with direct xXX (twenty).[/citation]

I agree with Anomalyx much more than Stryter. Styter is not specifically saying developers cannot low level program, but is all but saying that to do otherwise than use an API would be ludicrous, insanity, and completely unreasonable. But if all of you who disagree with Anomalyx are basically saying you are happy with cookie-cutter games.
 
[citation][nom]carlhenry[/nom]what? he didn't say somebody FORCES to use the said API. he said, it would take FOREVER (sorta...) it would be absurd to program a massive game with low level. if blizzard uses this, it would take at least 50 years to develop starcraft 3. by then, the "visual innovation" you came up with would look like crap with direct xXX (twenty).[/citation]

Really? soo games developed before directx api took 50 years to program?

 
who do you think had first access to making video games?

why would you think the government DIDNT know that video games would be available in the future.. so it's best to use a video camera to record footage to be used in the video game?

they knew it would be possible, because they had access to the hardware as it was being developed.
you start to record video.. take photos.. make a note of how accurate the guns are.. make a note about how the bullets behaved.. notes about how the guns behaved.
using all of that information to be put into a video game.

most of the concepts in these video games are reality-based events.
although some of the action is probably 'what would happen if something went wrong'

hardware developers are world leaders too.
you cant be some geek that simply adds a marginal difference to already astounding development progress.
its the amount of trial and error that makes things perfect.
the learning experience has created a direction to go.
and the amount of influence the hardware has had on civilization makes those people powerful.

why on earth wouldnt they have the first go at using the hardware?
not only do those games provide a foundation, they offer inspiration for other game developers.

i think the only money being spent by the military on video games is that of researching the high-tech devices used in the games.
were these 'toys' imaginative, or has somebody actually created one.
(could be a safety risk if in the wrong hands)

most of the maps are usually government owned or belong to a world leader.
if something important was going on at the property.. they would need military simulations to be better trained if the need arises.

its not impossible that all of the footage took 50 years to make its way onto a computer as a fully functional piece of entertainment.
throughout that process, they learned what is acceptable for simulators and what is acceptable for entertainment.
thats how regulations and laws are created.
it keeps people from training themselves how to use a specific gun from many hours of virtual use.
much to say, that a government issue gun has different characteristics compared to the gun available for general consumer purchase.
and one of them needs to stay off of the computer.

like if a standard consumer available 350 revolver has the same bullet curve.. you wouldnt want people training themselves to master that bullet curve before they ever actually touch the gun.
that person wouldnt have the experience of safe-handling and prevention of accidents.
sure, they might have a lethal aim accuracy.. but if they are creating accidents while having the gun in physical possession.. that person is doing more harm than good.
so when you try to take the gun away from that person to avoid any future accidents.. you are gonna have an arguement because the person feels that they know how the gun works better than most people since they played with it on the computer for hours and hours.

its the same thing with airplane and helicopter simulators.
if you have 3,000 hours of experience on a computer.. that doesnt mean the joystick has the same cable ratio when you get your hands on one physically.
maybe the computer game has a maximum wind speed of 20 miles an hour and there is 30 miles per hour wind.
if it was the end of the world and there was no pilot around.. you wouldnt want to be arguing with a person who played computer games.
the person with computer game experience might attack you or try to restrain you.
and your life is already at risk if there is some kind of serious event going on.
you dont need to be put in handcuffs or duct-taped by an irrational child.

anyways..
think about it.
if you have all of the footage that needs to be put onto the computer, and you are messing around with alpha quality hardware, and you know that the general economy isnt going to see that kind of hardware for decades.. you could procrastinate as much as you desired.

the problem is that people think a piece of hardware only takes a few years to develop.
the reality is that it took a long time to get functional alpha builds.
then you gotta find a way to keep them from being used for malicious purpose.
and during that time, you gotta make the entire circuit board smaller.

once you do this enough, creating new hardware is easy.
chances are, you have already made the circuit board smaller.
and you can probably use the same preventative security.
perhaps you need to re-write new security, but if you have experience.. it can go much more smoother.

i think there are two key concerns for future hardware.
1. how fast is it going to be?
2. will the pieces on the circuit board last long enough to be considered acceptable?

maybe you can use already proven pieces.
but if you need a lot of pieces filling up the circuit board and run out of room, you are gonna need new pieces designed.
those new pieces have to go through quality assurance.

one of the greatest things about releasing hardware to the public slowly is that it gives game developers a chance to enter a contract.
the contract states that you get the piece of hardware 3-5-10 years early so you have enough time to make the game perfect and really worthwhile.
the reason they do that is because the game is supposed to be a guarantee that it will lure in customers to buy the hardware it was developed on.

how stupid would it be if they released the playstation 3 or xbox 360 and there werent any decent games to play on the consoles?
you would have a functional console that does its job.. but no games that make you wanna sit down and play.

giving yourself a lead into the future allows your game to be released early before the hardware can run the game.
and other game developers can release their game later.
its all about the choice/privilege to be allowed to program without limitation.. and if the way you programmed the game is acceptable, you will see your methods as an available option in the api.

its not like a dictionary where a word is created and will exist forever.
i think they will be deleting old words as they create new ones.
the standards will become obsolete.. while new standards will become a normal.

you are either helping to create new standards.. or you are using the current standards.
choosing to use the new standards and need something custom?
that is probably the highest cause of concern in the game development industry.
needs and wants are different.. and most of the time the government will tell you that if you want something, buy it or build it yourself.
if you need something, the government has been known to use choice as their right.
it gets ugly/disgusting in court when the person has to literally sue the government to have their reasons heard.

that boils down to what you are capable of as an engineer and how problematic the situation is.. as well as how it influences the engineer's future.
that person might have been told a simple 'no' and not realizing why they were told no.
and they would go to court to learn why they were told 'no'
then they would have to obliterate the reason they were told 'no'
which is an incident of winning the case and getting somebody into some serious trouble for saying 'no' when asked.
 
DX is just an attempt for MS to stay into the mix. I hope there is some overall consensus with game developers to get rid of DX if it really is a bottle neck!
 
Games really should be designed to their maximum potential and then watered down to fit what ever consoles they can. This should be influenced by the fact that the most hardcore gamers will have a high end PC and generally only use consoles for casual gaming.
 
Status
Not open for further replies.