SDL vs PureBasic (in 2D sprite)
- Psychophanta
- Always Here
- Posts: 5153
- Joined: Wed Jun 11, 2003 9:33 pm
- Location: Anare
- Contact:
Brice, i must say you are completely wrong when say the newer DX8/9/10 performs 2D stuff slower than DX7.
The fact is that more recent emulators of old wellknown 2D platforms (like Turbographx, Megadrive, SNES, NES, MSX, etc.) uses D3D for all its rendering, bests of them don't use an only DD command.
THE RESULT: LESS THAN 2% CPU USE WHEN EMULATING AND RENDERING WHILE ABSOLUTE SMOOTH MOVEMENTS, SCROLLS AND GENERAL GRAPHICS AND SOUND IS PERFORMED!
(You can try ZSNES, or KEGA-FUSION, for example: BOTH LESS THAN 2% CPU USE. And the secret is just D3D from DX9)
That's is imposible to do with DD.
And BlitMax is doing something wrong for sure (at least they advert that it is essential to use DX9 with a VGA supporting it.)!
The fact is that more recent emulators of old wellknown 2D platforms (like Turbographx, Megadrive, SNES, NES, MSX, etc.) uses D3D for all its rendering, bests of them don't use an only DD command.
THE RESULT: LESS THAN 2% CPU USE WHEN EMULATING AND RENDERING WHILE ABSOLUTE SMOOTH MOVEMENTS, SCROLLS AND GENERAL GRAPHICS AND SOUND IS PERFORMED!
(You can try ZSNES, or KEGA-FUSION, for example: BOTH LESS THAN 2% CPU USE. And the secret is just D3D from DX9)
That's is imposible to do with DD.
And BlitMax is doing something wrong for sure (at least they advert that it is essential to use DX9 with a VGA supporting it.)!
Very odd considering DX8/9/10 do NOT even support 2D.Brice, i must say you are completely wrong when say the newer DX8/9/10 performs 2D stuff slower than DX7.
At least the core language is blistering fast and that helps even things out.And BlitMax is doing something wrong for sure (at least they advert that it is essential to use DX9 with a VGA supporting it.)!

-
- Addict
- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:
Thats because all the work is done on the GPUPsychophanta wrote:Brice, i must say you are completely wrong when say the newer DX8/9/10 performs 2D stuff slower than DX7.
The fact is that more recent emulators of old wellknown 2D platforms (like Turbographx, Megadrive, SNES, NES, MSX, etc.) uses D3D for all its rendering, bests of them don't use an only DD command.
THE RESULT: LESS THAN 2% CPU USE WHEN EMULATING AND RENDERING WHILE ABSOLUTE SMOOTH MOVEMENTS, SCROLLS AND GENERAL GRAPHICS AND SOUND IS PERFORMED!
(You can try ZSNES, or KEGA-FUSION, for example: BOTH LESS THAN 2% CPU USE. And the secret is just D3D from DX9)
That's is imposible to do with DD.
And BlitMax is doing something wrong for sure (at least they advert that it is essential to use DX9 with a VGA supporting it.)!
It is a bit ridiculus for a low-end PC to require a D3D9 capable GPU for frikkin 2d graphics...
This is the main point here, we are talking about 2D.It is a bit ridiculus for a low-end PC to require a D3D9 capable GPU for frikkin 2d graphics...
DX9's emulated 2D is blistering fast (Just check out GamesBasic (its back) or Brutus2D, both languages use DX9 for easy to use DX9 based 2D). Unfortunately, since they are using DX9, they also require a DX9 compliant graphics card. So, if I were to use DX9 for emulating 2D, I would intentionally be making my game NOT compatible with the millions of systems out there that could run the game just fine if it was using DirectDraw7.
Why would anybody intentionally make a 2D game that the majority of your target audience (those who like 2D desktop games) would not even be able to play it? That would be absolutely stupid since the games would run just fine made with DD7 and there would not be the compatibility issues.
Emulators are differents as they render all the GFX in a single surface (which is probably in main memory as all the hardwork is done by the CPU) so they don't needs the blitting facilities of DirectDraw (a single big texture is enough in fact). On a recent card, I think than D3D is way faster than DDraw, due to full 3D orientation of GPU.
Brice>
To clarify : you don't need a Directx 9 compliant gfx card to install DirectX 9 and play 2d games, BUT,
as DirectX 9 (8 too) are using 3D functions to render 2D, games on oldest gfx cards will be slower; it's your assumption, right?
Then, we need to make a benchmark to be sure of that. One test in DirectX 9, one on 7, one on SDL, for every gfx card possible.
To clarify : you don't need a Directx 9 compliant gfx card to install DirectX 9 and play 2d games, BUT,
as DirectX 9 (8 too) are using 3D functions to render 2D, games on oldest gfx cards will be slower; it's your assumption, right?
Then, we need to make a benchmark to be sure of that. One test in DirectX 9, one on 7, one on SDL, for every gfx card possible.
This is VERY true. However, one of the cases for DirectDraw (talking 2D retro sytle games) is that more and more people no longer have video cards, and instead have the video chip on the MOBO. Unfortunately, many of the MOBO chips like Savage, SiS, Trident, Intel will completely choke on 3D (some choke on OGL, some choke on D3D), but they will still handle DirectDraw fine as long as its full screen. Some of the mobo chips will choke on DirectDraw if it is "windowed".On a recent card, I think than D3D is way faster than DDraw, due to full 3D orientation of GPU.
You should be able to install DX9 no problem, but if the card isn't DX9 compliant then you will not be able to take advantage of the newer features of DX9.you don't need a Directx 9 compliant gfx card to install DirectX 9 and play 2d games,
Yes, because the older cards are not usually DX9 compliant.BUT, as DirectX 9 (8 too) are using 3D functions to render 2D, games on oldest gfx cards will be slower;
Emulated 2D also has other unpleasant things like all sprites have to be in powers of 2, because of the way graphics cards handle textures.
*sigh*
read the DirectX FAQ: http://www.microsoft.com/windows/direct ... efault.htm
I'll quote the important part:
I challenge you to find a video card that cannot pass the directdraw test in dxdiag, using the most recent video drivers and DX9. if you can, then maybe you actually have something to worry about.
(start -> run -> dxdiag <OK>)
read the DirectX FAQ: http://www.microsoft.com/windows/direct ... efault.htm
I'll quote the important part:
now... considering that DX9 has been out for quite a long time, and MS still isn't aware of any compatability issues... then there likely aren't any.Q Will installing DirectX 9.0 cause my existing titles to fail?
A Backward compatibility is a key feature of DirectX. We do application compatibility testing with a large number of released DirectX-enabled titles and a number of pre-release titles every time we release a new version of DirectX. In rare cases, some titles are "version coded" to accept only a single version of DirectX. These titles are almost always updated by the manufacturer to fix this behavior. These few cases aside, we are not aware of any compatibility problems with any previously released DirectX-enabled titles. In some cases, these programs may even run better with DirectX 9.0.
I challenge you to find a video card that cannot pass the directdraw test in dxdiag, using the most recent video drivers and DX9. if you can, then maybe you actually have something to worry about.
(start -> run -> dxdiag <OK>)
--Aszid--
Making crazy people sane, starting tomorrow.
Making crazy people sane, starting tomorrow.
-
- Addict
- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:
the question is: is it an issue?
let's say it's dx9
but we're doing 2d graphics
- program calls dd routine
- which is actually a dx9 routine
- dx9 checks available functions in the card driver
- if available it passes the function call through to the card driver
- the card driver may or may not do what is requested in hardware
- if that function is not available in the card driver dx9 may decide either to do it by itself (fall back or software) or return with an error
now i would assume that m$ would be smart enough to allow old dd calls to be handled by fall back routines instead of crashing out, ie. using dx9 would only have a twofold impact:
- slowing code down a little on older hardware (as there is additional dx9 overhead)
- necessity to install dx9 (which is probably the one thing i do not like
)
let's say it's dx9
but we're doing 2d graphics
- program calls dd routine
- which is actually a dx9 routine
- dx9 checks available functions in the card driver
- if available it passes the function call through to the card driver
- the card driver may or may not do what is requested in hardware
- if that function is not available in the card driver dx9 may decide either to do it by itself (fall back or software) or return with an error
now i would assume that m$ would be smart enough to allow old dd calls to be handled by fall back routines instead of crashing out, ie. using dx9 would only have a twofold impact:
- slowing code down a little on older hardware (as there is additional dx9 overhead)
- necessity to install dx9 (which is probably the one thing i do not like

( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
( The path to enlightenment and the PureBasic Survival Guide right here... )
*edit*
Was typing this when the last response was posted >.>
*/edit*
hmmm....
well.. i guess i did kindof miss the point...
but the other point i was trying to make, was that in this thread i have read a good amount of speculation, and not much actual evidence or proof that the issues people are speculating about are actually real.
i suppose they could really be issues, however...
on the other hand... today, i could buy a PCI D3D video card, for $22 USD (newegg.com). There really needs to be a point where people realize they're outdated, and take a moment to see how incredibly cheap it really is to at least make the smallest updates. Not much more expensive than a homebrew 2d game bought over the internet...
Everytime i think that there's still people out there using 486's, i cry :'(
Was typing this when the last response was posted >.>
*/edit*
hmmm....
well.. i guess i did kindof miss the point...
but the other point i was trying to make, was that in this thread i have read a good amount of speculation, and not much actual evidence or proof that the issues people are speculating about are actually real.
i suppose they could really be issues, however...
on the other hand... today, i could buy a PCI D3D video card, for $22 USD (newegg.com). There really needs to be a point where people realize they're outdated, and take a moment to see how incredibly cheap it really is to at least make the smallest updates. Not much more expensive than a homebrew 2d game bought over the internet...
Everytime i think that there's still people out there using 486's, i cry :'(
--Aszid--
Making crazy people sane, starting tomorrow.
Making crazy people sane, starting tomorrow.
-
- Addict
- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:
blueznl wrote:the question is: is it an issue?
let's say it's dx9
but we're doing 2d graphics
- program calls dd routine
- which is actually a dx9 routine
- dx9 checks available functions in the card driver
- if available it passes the function call through to the card driver
- the card driver may or may not do what is requested in hardware
- if that function is not available in the card driver dx9 may decide either to do it by itself (fall back or software) or return with an error
now i would assume that m$ would be smart enough to allow old dd calls to be handled by fall back routines instead of crashing out, ie. using dx9 would only have a twofold impact:
- slowing code down a little on older hardware (as there is additional dx9 overhead)
- necessity to install dx9 (which is probably the one thing i do not like)
The mistake: Assuming microsoft will do the right thing

DX9 does not have 2D. Using DX9, all 2D is emulated via 3D methods.let's say it's dx9... but we're doing 2d graphics
What you quote has NOTHING to do with what is being discussed. We are not talking about DX7 based games running under DX9. We are talking about the sprite commands being ported to DX8 or DX9.I'll quote the important part:
This is pointless because if you were using DX8/9 for your 2D game, you would not be using DirectDraw since neither support 2D.I challenge you to find a video card that cannot pass the directdraw test in dxdiag, using the most recent video drivers and DX9.
Give an example? Please, enlighten us.was that in this thread i have read a good amount of speculation
Fact: DX 8 & 9 do NOT support 2D. MS killed 2D with DX7. With DX8 the features of DirectDraw and Direct3D are combined into a single API called DirectX Graphics. All 2D is now emulated via 3D methods. This is fact!
Fact: A 2D game made using DX 8/9 will not run on low end systems that would run the same game just fine if the game was using DD7. This is fact!
No, the question is why put your EUs in that position if you don't have to? PB's 2D commands work 100% perfect for me as they are and will run on millions of systems that the games would not run on if PB's 2D used DX8 or DX9.There really needs to be a point where people realize they're outdated, and take a moment to see how incredibly cheap it really is to at
The ONLY speculation in this thread have come from:
1. People mouthing off on a subject they know nothing about. It seems that many in this thread have no idea how to use DirectX and have no idea of the changes that have been made to DirectX in the different versions.
2. People mouthing off who obviously have no experience writing or marketing software and have no understanding of the demographics of their target audience. The target audience for a 2D game and the target audience for a 3D game are vastly different demographics.
I am an avid gamer. I actualy have two 486 machines that I use all the time. One is running DOS 6.22 & Windows 3.1 and I use it for all of my DOS & 3.1 games . The other is running Windows 95 and I use it for all of my early 32bit Windows games.Everytime i think that there's still people out there using 486's, i cry :'(
- Psychophanta
- Always Here
- Posts: 5153
- Joined: Wed Jun 11, 2003 9:33 pm
- Location: Anare
- Contact: