Blitz3D, Windows 10 and Fullscreen

Started by LineOf7s, October 11, 2021, 03:43:06

Previous topic - Next topic

LineOf7s

Bought myself a shiny new computer (the first I've bought new since 2008 (work paid for it) and the first with my own monies since 1990 (Amiga 500)), so I made it good and shiny.  Have put my standard Blitz3D/IDEal combo on there for tinkering purposes and discovered for myself something that seems to be an issue discussed in vague terms around the place but for which I've not found a solution.

The symptoms:

  • If I select 2560x1440 fullscreen as my resolution (monitor native res), I get "Unable to create 3D scene"
  • If I select anything smaller fullscreen as my resolution, I get a black screen that returns to the IDE/desktop without error

The conditions:

  • I'm using the latest B3D (v1.108)
  • I have both fmod.dll and dplayx.dll in the same dir as my executable
  • I have DirectPlay installed
  • I have the latest drivers installed for my RTX3060Ti

[edit] If I downgrade to Blitz3D v1.106 then running in anything less than 2560x1440 fullscreen works (yay!) but that doesn't help me with precompiled stuff (see below). [/edit]

Now, I like tinkering in B3D just because it's fun and comfortable, and I could easily move to something more modern and not bother with any of this, sure.  But the bigger issue is that the B3D games coded from STEVIE G (Microsprint, Polymaniacs etc) exhibit the same behaviour and are only playable in a window (everything works in a window).  I haven't reached out to him yet because I suspect someone already knows the issue (bugger me if I could find it online) and/or I know Stevie pops in regularly.

Any ideas?  Would be a bummer if I had to move on from B3D for something avoidable.
"Life's biggest obstacles are your greatest opportunities to excel"

RemiD

#1
in case fullscreen does not work, you can use a window without borders...

there is a code example in the code archives.

here : https://archive.blitzcoder.org/forums/code-misc/3212.html

Dan

65536 GOTO Back2Basic

LineOf7s

It just occurred to me that I have other Windows 10 machines that I'm sure Blitz3D and Blitz3D-derived products (the forementioned Micro Sprint for example) have worked on those, so perhaps I'm barking up the wrong tree.

Maybe it's the RTX3060Ti that's making a mess of things.  I'll have to do some experimenting, but does anyone else have any experience with Blitz3D stuff on an RTX 30-series on Win10 that may be able to add another data point?
"Life's biggest obstacles are your greatest opportunities to excel"

STEVIE G

Quote from: LineOf7s on October 12, 2021, 03:11:28
It just occurred to me that I have other Windows 10 machines that I'm sure Blitz3D and Blitz3D-derived products (the forementioned Micro Sprint for example) have worked on those, so perhaps I'm barking up the wrong tree.

Maybe it's the RTX3060Ti that's making a mess of things.  I'll have to do some experimenting, but does anyone else have any experience with Blitz3D stuff on an RTX 30-series on Win10 that may be able to add another data point?

Is that the mini profile card? Everything works find on win 10 for me. Blitz has always had a res limit of 2048x2048 of something like that. I use 1.108 with fmod included (no separate Dll). Do you have details of the changes since 1.106? Might be an indication of what it might be in there.

Hopefully you get this resolved for us Blitz die hards!  ;D

LineOf7s

No, not "mini profile" as far as I know (I'm not sure what "mini profile" means.  Half-height?  It's certainly not that).

The 2048x2048 (or whatever) limit would explain the 2560x1440 error message.  Less bothered by that.  I don't have details of the changes between 1.106 and 1.108 but it'll have to be out there somewhere.  I'll keep looking.
"Life's biggest obstacles are your greatest opportunities to excel"

RemiD

QuoteI don't have details of the changes between 1.106 and 1.108 but it'll have to be out there somewhere.

https://www.syntaxbomb.com/blitz2d-blitzplus-blitz3d/description-of-what-each-update-removesadds-blitz3d/

LineOf7s

STEVIE G answers his own question with a little help from RemiD.   :P  Hopefully that tells you something?

(am here because I just checked my emails before going to bed after a "testing" session of Micro Sprint.   :D )
"Life's biggest obstacles are your greatest opportunities to excel"

STEVIE G

Quote from: LineOf7s on October 12, 2021, 14:34:06
STEVIE G answers his own question with a little help from RemiD.   :P  Hopefully that tells you something?

(am here because I just checked my emails before going to bed after a "testing" session of Micro Sprint.   :D )

That my brain is adled?  :))   Did you solve the issue?

LineOf7s

Oh, sorry no (I can see now how that could be misleading).

No, I tested and proved to myself that it still works on my Win10 machine with an AMD RX580 in it, and that it used to work in a different Win10 machine with the nVidia GTX760.  My bestest and brightest with a RTX3060Ti is very much a no-go though.

It occurs to me though that if there is a maximum res that B3D will work at, rather than the standard B3D technique of enumerating the modes and listing them all as doable for the user, you might have to add some code to not offer (say) 2560x1440 and up if it's just not gonna work.  That's assuming that 1) there's a maximum and 2) one knows what that is.
"Life's biggest obstacles are your greatest opportunities to excel"

LineOf7s

#10
Just did another quick test while I was sitting here at this 3060Ti machine, set it to 1920x1080 fullscreen and ran it (it being Micro Sprint).  This time it errored out with a "Memory Access Violation", which is different.  Works fine windowed.

I should also add I'm running (and have run) in various Compatibility Modes:  XP SP3, RUn As Administrator etc.  Nothing's made a difference yet, but if it's not a Win10 issue then I wouldn't expect it to.

Now I'm off to delete the config file (for Micro Sprint) and try again, because it won't restart while that old gfx config is in there.

[edit]  Just another quick datapoint:  if I manually edit the Options.ini file to set the gfx mode to any 16-bit depth one, I get an "Unable to create graphics mode" error if it's also set to fullscreen, but I get "Memory Access Violation" if it's set to be windowed.  Both of these attempts (and all others) are for a nice, standard, 1920x1080 setting, windowed or fullscreen.
"Life's biggest obstacles are your greatest opportunities to excel"

LineOf7s

One last update before I head off to get ready for work (I'm going to be late now - bloody troubleshooting):

Everything works perfectly with dgVoodoo2, as expected.  Windowed, fullscreen, 32-bit, 16-bit.  Even 2560x1440 fullscreen worked flawlessly.

So that's good news.  I can still play it with that workaround.  Yay.  Unfortunately it doesn't help the B3D stuff "out of the box".  It might just be me, but this is a brand new machine.  I haven't really had time to corrupt it yet.  :)  This is as good as a test as I've ever been able to give something.

BECAUSE it's new though, maybe there's something I'm yet to install that I need to, like an old version of DirectX or something.  I'll try installing the latest/last DirectX 9.0c and see if that makes a difference.
"Life's biggest obstacles are your greatest opportunities to excel"

STEVIE G

Why 16bit depth? I don't think that works even on my main dev machine which only has a GT710. 

Whats dgvoodoo2?

LineOf7s

#13
16-bit just to see what it would do and because it's an option that's presented in your Video/Audio menu in Micro Sprint (which presumably comes from the graphics mode enumeration from Blitz).  It's usually greyed out in-game though, so I tried it just by modifying the Options.ini.  I don't actually want to run it at that.  :)

Installed DirectX9.0c didn't help the situation sadly.  It was a long shot, granted.

dgVoodoo2 was suggested by Dan in the third post of this thread.  From the website:

QuotedgVoodoo 2 is set of old graphics API's for Windows Vista/7/8/10.

They are implemented on Direct3D 11/12 and they can use different device types as wrapping output:

    Hardware rendering at GPU feature level 12.0 (recommended but currently has some issues)
    Hardware rendering at GPU feature level 11.0 (recommended)
    Hardware rendering at GPU feature level 10.1 (has a minor limitation for D3D8/9)
    Hardware rendering at GPU feature level 10.0 (there are some restrictions)
    Software rendering through Microsoft WARP renderer

The following graphics API libraries are implemented:

    Glide 2.11, Glide 2.45, Glide 3.1 and Glide 3.1 Napalm
    DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7)
    Direct3D 8.1
    Direct3D 9

http://dege.freeweb.hu/dgVoodoo2/

I've used it before to get old (old) games running that otherwise wouldn't.  I'm hoping B3D isn't now in that group.

[edit] Oh and one last curious thing I just found out:  Micro Sprint won't set the gfx to 2560x1440 even in windowed mode, dumping a "Unable to create 3D scene" error.  That surprised me.
"Life's biggest obstacles are your greatest opportunities to excel"

RemiD

#14
QuoteI'm hoping B3D isn't now in that group
it is... blitz3d uses directx 7...


but it still works well in windowed mode with old common resolutions, so good enough for small games.

youtube resolutions are 426*240, 640*360, 854*480, 1280*720, 1920*1080,

in my opinion, 854*480 is good for simple games in windowed mode...