VOGONS


First post, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

I was really annoyed that OpenGL is so slow on my ATi card. Without the GL_NV_pixel_data_range extensiotn OGL is virtually useless. Overlay is sometimes blurry, so the only real available output is surface - which does not have hardware scaling. I did a little research and found out that D3D support does not really require a complete rewrite. It is (as demonstrated) possible to implement and still leave SDL sound & input support. So...on my page - a patch & pre-built binary with D3D support! It's currently a bit slower than OGL on NVidia, but a lot faster than OGL on ATi. You need DirectX9 to run it, and your card has to support non-power of 2 size textures (sorry, no texture resizing yet). I am leaving for a vacation so don't expect any updates soon. Now the real question - do the developers find it worthy enough to include it in the official cvs (after being cleaned and fixed ofcourse 😉)

Reply 3 of 57, by Alexsource

User metadata
Rank Newbie
Rank
Newbie

I don't know why, but it didn't work, it just kept hanging up. I tryed changing the cycles and memory settings, then set output to surface and scaler to none, and yet,it hanged up 🙁 .
I used the compiled binary...
I guess one of the other changes you made make my comp hate it 😜
I even tryed deleting the included dosbox.conf, and it still hanged up...

chronos.jpg motoakira.jpg

Reply 4 of 57, by Iron

User metadata
Rank Newbie
Rank
Newbie

Yeah it never starts.. Well I dont know for what processor & system the builds are for since it wasn't told anywhere but I did assume it was for win32 etc..

I tried with all settings I could with no luck.

Reply 6 of 57, by Alexsource

User metadata
Rank Newbie
Rank
Newbie

I red that, and i have an AMD Duron 1200+ at 892 Mhz over here.
😮 🙁
MY Specs(corrected since last time):AMD Duron 1200+@892 Mhz, 256MB RAM (32 shared with video card), PCChips motherboard with integrated SiS 630/730 video card and integrated SiS 718 Sound card, windows xp pro service pack 1.

chronos.jpg motoakira.jpg

Reply 8 of 57, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Gulikoza,
I understand that you're in vacation, but I really interested to see if Direct3D support can be implemented without explicitly required DirectX9-class hardware. It would be more helpful for lower-end cards if the requirement is DirectX7 or above, just like the latest MAME which can use Direct3D as output as well.

Reply 10 of 57, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

Haven't taken the time to test this on one of my builds yet. I'll edit this post if somethings does happen...
7/22/04 No edit.

Ieremiou
----------
Helping Debug DOSBox.

Reply 11 of 57, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

hello. I'm still on a vacation on a public computer so no updates yet 😁 I'm sorry to hear that it isn't working for some of you. I only got to test this on my Radeon 9600 and FX5900 and it worked. I guess the problem is texture size. As in OGL textures have to be size that is power of 2 (256x256, 512x512, etc...), but on modern hardware any size can be used. OGL support already has the code to resize the textures, but I haven't had the time to implement it...

Reply 13 of 57, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

Hmm, I just tried it. (I have an nVidia card so I can't prove it works with ATIs)
It works for me. (although I'd appreciate fullfixed being included soon 😉)

I can't patch it to a clean CVS download from Sourceforge because one section is out of date (things have moved to another part of the program) and also his patch changes the Titlebar display and uses the timesync/coreswitch patch.

I did notice I had to move my Cycles down to 3500 (default set to 7000) when trying this w/ Warcraft. Because when I moved the mouse all over the place the FPS shot up to 50/60 instead of the lazy 4 or so. The shot upwards caused DOSBox to start burping (as I call the skipping in DB) and so I moved it down to what the cycles were topping at and it worked fine then.

EDIT: I'm using a GeForce4 Ti 4200 w/ 61.71 WHQL release.

Ieremiou
----------
Helping Debug DOSBox.

Reply 14 of 57, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Why not using Overlay? Isn't overlay working on ATI card? I thought ATI cards have very good hardware overlay support. (All good video playback cards have good hardware overlay.) The most recent SDL has disabled overlay in its distribution. Not sure why they are doing this. I recompiled my SDL to support overlay and it works really well on my old Matrox G400 card.

Reply 15 of 57, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

Most recent SDL as in 1.2.7?
I compiled mine with MingW but I don't see anywhere where it says that says Overlay has been disabled?...

Ieremiou
----------
Helping Debug DOSBox.

Reply 16 of 57, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Priestlyboy, if you do a "grep -r 'USE_DIRECTX_OVERLAY' ." in your SDL source, you will see that it has been commented out. And, if you look further, the Overlay path in the SDL actually fallback to use DirectX offscreen.

Even worst, if you look at the code in SDL_dx5video.c, the code actually force an SDL surface to be SDL_SWSURFACE, which is non-accelerated, and it slows down DOSBox using "output=surface" and fail the latest DOSBox CVS "output=ddraw". I only discovered this when I try the new output option in DOSBox CVS. When I removed the code that force SDL_SWSURFACE, the CPU utilization is a lot lower at the same DOSBox CPU cycles, which means that my video hardware is accelerating.

The "output=ddraw" option is really a wonderful addition to DOSBox. This really helps in some old hardware where Overlay is not supported, but stretch BLT should be very common even on DirectX 3.0 hardware.

I still do not understand why using Overlay in DOSBox causes 100% CPU utilization in both my wife's and my laptop, which both are decent machine, one with ATI Radeon Mobility 7500 while another with nVidia QuadroFXGo. Both these mobile graphice accelerators should be lots more powerful than my old Matrox G400. So, "output=ddraw" seems to be the best options here.

Reply 17 of 57, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Big update. See my page 😁. While testing D3D on my laptop I found out that not only was there a texture size issue but also color depth. It seems (well, yeah, like I didn't know 😦) not all cards support 32bit color depth. The new release will fallback to 16-bit mode when 32-bit is not available, textures will be automatically resized to the size the card supports and if in the end it still doesn't work for you will get a big and nice error message 😁 😁. Fullfixed now works and fullscreen is better as well (it still has some issues on my laptop).

Reply 18 of 57, by Iron

User metadata
Rank Newbie
Rank
Newbie

Your builds still aren't working for me. The only build that works on the page is the normal cvs with old joystick support from 6.6.04. On the old one it says initialized bla bla restoring device objects and gets stuck. On the new one it says d3d initialized bla bla bla Drawing rectangle 0x0 and gets stuck. But it seems that the hang ups dont have anything to do with the d3d, but something that's in one of the patches not the graphics. Well that should be pretty obvious since even the one with no d3d doesn't work. I have an amd thunderbird.

Reply 19 of 57, by Alexsource

User metadata
Rank Newbie
Rank
Newbie
CONFIG:Loading settings from config file dosbox.conf
Direct3D activated
Using trpple buffering
Non-square textures
Textures must be a power of 2 in size
Max texture width: 2048
Max texture height: 2048
Drawing rectangle: 0x0

It gives this with the new version.
I tryed to change the cycles to 5000, frameskip to 1 and desactivating tandy sound, and still the same. also seted fulldouble to false, and still the same. Tryed setting output=surface and scaler=none and it hanged up, just like it did with the first versión. 🙁
BUT......... the build with only old joystick support seems to be allright too in my case...
So i guess iron is right, and some other patch is messing up, either that, or something else i should have seted to false/differently?
Please keep working on this! 😁

chronos.jpg motoakira.jpg