VOGONS

Common searches


First post, by Nazo

User metadata
Rank Member
Rank
Member

Ok, first of all, I'm using gulikoza's CVS build. In no small part because I want the best D3D support now that I'm using an ATI card (the Geforce card messed up, so I got the best thing for AGP and second best that will likely ever be made.) Thought I'd play around with the pixel shaders (particularly 2xSaI) while I was at it even since it was obviously something wrong with my previous card that caused it to crash when I tried shaders in DosBox (and, as expected, the new card does not crash, but, then the original code was written for an ATI card.) However, I've also tried using the hwscale option, so I'm not just relying on the shaders (in other words, the bug I'm running into probably isn't due to shader support at all.) When I make the window full screen, all scaling is gone. I can toggle back and forth with alt-enter between window and full screen, and whenever it's a window, I get scaling, whenever it's full screen, I don't. I tried both D3D and OGL, and neither scales in any way I can see when I change to full screen. Definitely they look radically different with full screen looking blocky while in a window it looks smooth like it should.

Don't know if anyone really helps with CVS builds, especially 3rd party ones, but, if anyone does, I'd appreciate it. Oh, and I'm sorry also if this particular bug (or whatever) has been explained with perhaps a fix somewhere. I tried to search, but, the only keywords I could come up with either give me too many results for a mere human to search through or none.

Reply 2 of 6, by Nazo

User metadata
Rank Member
Rank
Member

Ok, I'm starting to see what's going on here. The pixel shader code doesn't seem to actually be resizing. For some reason, it's still running at normal resolution. It's as if it's just using the pixel shader code for smoothing rather than resizing, despite it being 2xSaI, which is supposed to be a resize code. It seems I have to use fullfixed to force a resize, which means I have to manually set it to 2x whatever I'll be playing uses for it to work correctly. If I don't set this option, it runs at a low resolution (640x400, which is normal for the command prompt, but, I'm pretty sure the game I'm testing should be "SVGA," eg 640x480 @ > 4-bits -- don't remember off hand if it actually uses 16-bits or if it's just very very handy with the 256 color palette.)

Why doesn't hwscale work in fullscreen btw? Hwscale may not be the best, but, it's darned fast and doesn't look entirely bad either -- at least, not on my card. Combined with 2xSaI, it looks rather decent to me.

Reply 3 of 6, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

You're right, pixelshader option does not do any resizing...it just specifies what algorithm is used should dosbox window be resized. Similarly, hwscale does not resize anything it just specifies the factor of hardware resizing. It was meant to be used only in window modes and I haven't changed that for d3d.

I designed pixelshader code so that it is used in combination with normal2x. If you set normal2x you will get constant 2x scaling in window and fullscreen modes (when pixelshader is active). But - this only works for low resolution modes (320x200). Again, this is the same behaviour as the other (software) scalers. IMHO scaling 640x480 is not needed, the resolution is high enough 😀. You can always set fullfixed if you need higher res (for lcd...)

Reply 4 of 6, by Nazo

User metadata
Rank Member
Rank
Member

You're looking at the guy who gave up his overclocked Athlon XP that was doing great in games like FEAR simply to get a San Diego for better ffdshow resizing of anime videos (that's right, the only single reason to bother to upgrade from a 2.5GHz AXP.) I'll resize anything less than 1024x768 just about. Seems like it should just work for all modes regardless to me. Surely I'm not the only one who feels like games running in 640x480 could use a good resizing? Especially since some of them can make even 640x480 feel like it's grainier than it is (and, frankly, it's pretty grainy without the help of crappy graphics.)

Also, are you saying that I'm using a software resize in addition to the pixel shader code? I thought the instructions implied you use normal2x in conjunction with a pixel shader code setting to activate the beta PS mode. If I get pixel shaders without the software resize, I'd rather dedicate those CPU cycles to emulation of a faster CPU...

BTW, I still don't get why it was decided that hwscale wouldn't work full screen. Is it buggier that way or something? Seems like low end systems especially would prefer the hwscale option.

Reply 5 of 6, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

😁 You're lucky if the game runs in high res in dosbox w/o scaling. When dosbox is 10x faster then it is now, scaling might be an option 😀

normal2x is a funny scaler since it will be a hardware resize in anything but surface. So no, you're not using a software scaler just a way of telling dosbox I want 2x scaling.

I guess one of the reasons hwscale doesn't work in fullscreen is that you could set it to 10x and fry your monitor if the code doesn't check the resolution (d3d does 😀 )...

Reply 6 of 6, by Nazo

User metadata
Rank Member
Rank
Member

Hmm, ok. As long as I'm not wasting CPU cycles on a software resize. I guess fullfixed will have to suffice.

BTW, most semi-semi-semi-semi monitors won't let you set an insane resolution. They refuse to set the display mode. My very ancient super-cheapo monitor that they stopped making years ago because it wasn't that great at the time is among these. I think you needn't worry about that. If someone is dumb enough to do it on a monitor so ancient it allows this, well, you're doing them a service by forcing them to use something made less than a decade ago. 🤣 d-: But, seriously, I do wish it had the option to force using an appropriate resolution so it resizes exactly right for a particular game/application. Maybe toss in a warning to avoid any culpability or something.

Also, I've been playing a game made to run on a Pentium with high resolution (for a dos game) in a Window with the options I mentioned earlier, and while I can't get it to use the highest quality settings (eg transparency, which is just too much resizing or no) it seems to work out pretty well. Considering that hardware resizing relies on the video card not cpu, you don't need DOSBox 10x faster to get away with this. I wouldn't try it with advmame2x maybe, but, with a plain hardware resize or pixel shaders, it should be ok on a modern video card (and you don't get much more modern than this with an AGP system, and, if Diamond doesn't deliver on their promises, you won't ever get more modern.) Seems like the option should be there if someone wants to resize a higher one with software mode though anyway. If nothing else for later. But, possibly, someone might want to use it on something where performance isn't a huge issue. Such as, perhaps, an ancient application.