Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Windowed - Full Screen?

Author
Message
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 28th Oct 2003 11:18
i heard this is the fastest way for Windows XP... right?

well my question... when using this code it defaults to 640x480,16... when my monitor is set at 1280x1024,32...

when using "Windowed - Full Screen" is this the default... or is there a way to change it? or is this faster on XP because this IS the default? really confused here... any help would be appriciated

==Main Computer==
Athlon XP 3000+, 1024mb, Radeon 9800 Pro 128mb 8xAGP, XP Pro
Van B
Moderator
23
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 28th Oct 2003 11:37
It's the fastest mode for me too, on Win98se.

However, I suggest making the resolution a user setting, and use the Hidden window mode, just set the resolution at startup then set the window on, maximise it, whatever. That way it'd let the user start up, select their resolution, then on the next startup it'd set itself to the users resolution. As far as I'm aware starting as a hidden window has the same speed advantages as windowed full-screen.

What puzzles me though is how Full Screen Exclusive is the slowest mode! - sure it should be the fastest and most stable.


Van-B


Van-B

OSX Using Happy Dude
22
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 28th Oct 2003 18:44 Edited at: 28th Oct 2003 18:47
Quote: "What puzzles me though is how Full Screen Exclusive is the slowest mode! - sure it should be the fastest and most stable"

Most stable, yes - fastest no way! It goes the speed of the monitor(if I remember correctly) - although in DX9 you can set the refresh rate. Unfortunately this command hasn't been made availiable in DBPro.

Might be worth downloading the DX9 SDK - all 60+Mb of it, and try some of the 3D examples. You'll notice that all run much slower (but smoother) in FSEX mode than in window mode. This can be improved by selecting a faster/better/higher refresh rate.

Its a DX problem mainly - another example of (very) poor design...


Avatar & Logo by Indi. Insert witty comment here...
Mussi
23
Years of Service
User Offline
Joined: 27th Jan 2003
Location: Netherlands
Posted: 28th Oct 2003 20:12
I run my game in Fullscreen exclusive and it runs at a higher FPS then my screen refresh rate. found this "bug" accidantly



for some strange reason my FPS increases enourmesly, but it doesn't seem to work with all of my programs.

Specs: AMD Athlon 1800, 256 DDRRam 266mhz, 80GB HD 7200rmp U133, Geforce 4 Ti4400 128mb ddr sdram
Ian T
23
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 28th Oct 2003 20:41
Mussi-- innacuracy in the sync rate command I think.


Could someone please tell me how to disable the Windows taskbar in windowed-fullscreen? It is impossible, completely impossible to become immersed in with it sitting there . I can't imagine how people use it.

--Mouse: Famous (Avatarless) Fighting Furball

A very nice %it, indeed.
empty
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: 3 boats down from the candy
Posted: 28th Oct 2003 21:21
Quote: "Could someone please tell me how to disable the Windows taskbar in windowed-fullscreen?"

Disable or hide?

I awoke in a fever. The bedclothes were all soaked in sweat.
She said "You've been having a nightmare and it's not over yet"
Mussi
23
Years of Service
User Offline
Joined: 27th Jan 2003
Location: Netherlands
Posted: 28th Oct 2003 21:24
Quote: "Mussi-- innacuracy in the sync rate command I think."


could you tell me then why my program is running much faster when I use it?

Specs: AMD Athlon 1800, 256 DDRRam 266mhz, 80GB HD 7200rmp U133, Geforce 4 Ti4400 128mb ddr sdram
mathl
22
Years of Service
User Offline
Joined: 30th Oct 2003
Location:
Posted: 30th Oct 2003 18:08
Your program runs faster, because you do your sync not every loop,
but all movement and rotation changes of your screenobjects (2D an 3D) are calculated every loop, the result of that calculation can only be seen, when your code passes the sync command.

I think that the sync command stops the program from running until the screen is refreshed (the electrical beam of your monitor passes the lower end of the screen and returns to the top) and this takes
up to 1/75 seconds (depending on the Monitor-refreshrate).

The only thing you loose is some kind of smoothnes.

cool mistake!
spooky
23
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 30th Oct 2003 18:15
Fullscreen exclusive mode locks the framerate to monitor refresh rate, usually 60fps or so. You will get silky smooth movement all the time with no 'tearing' of large graphics. Personally I think this is best for games.

All the windowed modes will run at full pelt and are ideal for apps like matrix editors and the such. Games will run with stupidly high frame rates but because you are doing multiple syncs per monitor sync, then you get horrid tearing effects with fast moving and large graphics.

Boo!
Mussi
23
Years of Service
User Offline
Joined: 27th Jan 2003
Location: Netherlands
Posted: 30th Oct 2003 19:33 Edited at: 30th Oct 2003 19:48
hmm.. i understand, but it doesn't shock that bad

Specs: AMD Athlon 1800, 256 DDRRam 266mhz, 80GB HD 7200rmp U133, Geforce 4 Ti4400 128mb ddr sdram
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 30th Oct 2003 19:39
guess i dont notice the windowed modes tearing effect on my monitor... i have an LCD monitor... so i see it normally

==Main Computer==
Athlon XP 3000+, 1024mb, Radeon 9800 Pro 128mb 8xAGP, XP Pro
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 10th Nov 2003 06:14
okay... what i am trying to do is allow the user to decide to run in (fullscreen exclusive), (windowed fullscreen), or (windowed)... and also be able to change the resolution...

i wrote some text to the screen...

with project settings at "Windowed - Fullscreen" it is 800x600 (default?), and no modifications the text is crisp and clear...

with same project settings, setting window size to 800x600, and window layout (no title bar or start bar), then maximizing it, the text is the same size but its slightly blurry

...anyone know how i can have these user settings, and still have text display crisp and clear?

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 10th Nov 2003 10:06
actually fullscreen exclusive is the fastest...

on my fx an untextured cube,
Windowed 1024x768 - 1,250fps (32bpp)
Windowed Fullsceen - 815fps (1280x1024x32)
Fullscreen Exclusive - 1,945fps (1024x768x32)

difference being is that the processed fps and backbuffered fps are totally different...
remember your monitor is only capable of displaying the Hz number of frames per second at that particular resolution.

In Windowed Mode, it maybe processing 1,250frames ... however as my DT is 1280x1024x32@60Hz, it is only physically capable of displaying 60fps.

which makes those extra 1,190frames completely useless.
in fullscreen mode the fps counter is still displaying the frames it is updating per loop - the difference being is that in fullscreen mode you have to automatically cap the rate for that mode.

DBP uses the defualt 60Hz cap so unless you change it you will always get 60fps, if your monitor is displaying more then it isn't displaying the TO-SCREEN fps, it is displaying the PROCESSED fps.
Which really is a waste of time.

as long as your program runs atleast at a multiplyer of PAL/NTSC
(8/12.5/15/25/30/45/50/60) then it'll run smoothly.
And no need to worry about all this "oh my game gets 6,500fps" because at the end of the day the montior can't display them and your just overworking your card for no good reason.


To Survive You Must Evolve... This Time Van Will Not Escape His Fate!
900mhz | 256mb | FX5200Ti 52.16 | Dx9 | WXP-Pro
Andy Igoe
23
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 10th Nov 2003 15:12
The human eye cannot tell the difference beyond 60fps.

Although this wont particularly help with your decision as to resolution I believe that different users preffer certain resolutions, therefor I default mine to the current desktop settings:




God created the world in 7 days, but we're still waiting for the patch.
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 10th Nov 2003 19:03
so you think if i have a user setting in an .ini file for the resolution... and then in the beginning of my code i just use "set display mode blah, blah, blah" this would still be good... just as long as i can get 60fps?

because i do know that the human eye only sees stuff at like 60.35 fps, i saw something on TechTV about it once, dont know if that was the right number or not

so you guys would just suggest using "set display mode" instead of messing with Windowed-Fullscreen?

ReD_eYe
23
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 10th Nov 2003 20:01
use andy's code, its very clever, it just sets the program to run at the users current resolution


Go on, click on my signature image, you know you want to
Favourite smiley>>>
EddieRay
23
Years of Service
User Offline
Joined: 28th Feb 2003
Location: USA
Posted: 10th Nov 2003 20:01
As far as I can tell, "Windowed - Fullscreen" mode renders the DBPro graphics at 640x480 and then scales the image to the size of the Windows desktop. "Windowed - Desktop" mode does the same thing, except the taskbar is hidden.

If I compile a program with mode "Windowed - 640x480", the "MAXIMIZE WINDOW" command also causes a 640x480 image to get scaled to fullscreen size, but then the titlebar and edges, along with the taskbar are visible.

From what I can tell, whenever DBP is rendering only 640x480, and then stretching the result, you *apparently* get higher frame rates as a result - but it's cheating because stretching the 640x480 rendered "screen" to fullscreen size, it appears, is much faster that actually rendering at the fullscreen size. So I think that's what causes the confusion where you say, "Hey, I'm getting a better frame rate in Windowed Fullscreen mode than I'm getting at a lower resolution in FSEX mode! What's up with that?".

Quote: "so you guys would just suggest using "set display mode" instead of messing with Windowed-Fullscreen?"


I don't like the "set display mode" command since it seems very harsh on the monitor - in my limited testing, it usually results in at least 2 black-screen popping-noises pause-for-several-seconds gyrations. It's even worse depending on which computer I try it on.

Quote: "What puzzles me though is how Full Screen Exclusive is the slowest mode!"


I agree... do you think the above explanation accounts for it?

Desktop: AMD900/256MB/Radeon 8500 64MB/Win98SE/DX9.0b/Catalyst 3.7
Laptop: P3-850/384MB/GeForce2 Go 16MB/WinXP Pro/DX9.0b/Detonator 45.23
DBPro with patch 5.1b
EddieRay
23
Years of Service
User Offline
Joined: 28th Feb 2003
Location: USA
Posted: 10th Nov 2003 20:04
Quote: "use andy's code, its very clever, it just sets the program to run at the users current resolution"


Where is "andy's code"? How does it do it's job exactly?

Desktop: AMD900/256MB/Radeon 8500 64MB/Win98SE/DX9.0b/Catalyst 3.7
Laptop: P3-850/384MB/GeForce2 Go 16MB/WinXP Pro/DX9.0b/Detonator 45.23
DBPro with patch 5.1b
ReD_eYe
23
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 10th Nov 2003 20:06
this code


posted by andy igoe a few posts ago, it calls a .dll and uses some functions inside that .dll to find the users current display mode settings then set the program to use these settings


Go on, click on my signature image, you know you want to
Favourite smiley>>>
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 10th Nov 2003 20:14
the human only being able to see such'n'such fps per section is bull

the eye doesn't percieve single frames like a digital single, they decode a streaming analogue style feed.
the eye can percieve smoothly as little as 8fps upto several billion, what will tweak the user to the fact that the fps isn't what it says it is, isn't that it looks slower than 60fps ... no infact all you can perceive are the changes.

a game running at 100-200fps will appear to run alot slower and less smooth than a game running at a stable 60fps.
and as i've said before, the monitor cannot handle over the given Hz for that monitor ... which in Fullscreen mode is fine, because Dx caps the frame calculation to exact times (as you can do this with a stable Hz) whereas in fullscreen mode it renders as fast as it can and then tries to SQUEEZE them into the given Hz for that Desktop mode.

it's all a waste of bloody time even trying to do anything above 60Hz because it would require a manual change of the Hz which could phase the monitor out of VSync if it isn't capable of that Hz range at that given resolution.

don't waste time thinking about things or trying to make up silly theories like the socalled experts as non of those idiots agree on anything, there is a theory that supports everything and will have seemingly valid facts to prove it... we're not talking abtou theoretic science here, we're talking about facts.

FACT in FullScreen Exclusive, DarkBasic Pro set the screen Hz to 60
FACT if you set the Sync Rate Identical to the Hz Rate in Windowed and Windowed FullScreen will will gain a smoother game.
FACT if you program your game correctly then the FPS of the game will not matter even slightly to the gameplay.
FACT a Stable FPS appears smoother than an Unstable FPS
FACT FullScreen Exclusive gives you a STABLE FPS.


To Survive You Must Evolve... This Time Van Will Not Escape His Fate!
900mhz | 256mb | FX5200Ti 52.16 | Dx9 | WXP-Pro
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 10th Nov 2003 21:44
so... what would you suggest Raven?

i do not like Andy's code about changing it to the size of the desktop... because some people have a resolution that is very large... for windows it runs good... but for a game might run drop the FPS (my brother runs higher than 1280x1024 on his desktop... but his computer is not fast enough to run games that size!)

if i understand you correctly Raven, you are probably suggesting Fullscreen Exclusive? if i am incorrect please let me know, cause i would like to make a stable looking game (looks more proffesional!)

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 10th Nov 2003 23:14
oki what i'm suggesting to forget about all of the human eye can see only such'n'such bull and how some cards can product tonnes of fps over others.

If you want a professional looking game, firstly
Forget about Windowed FullScreen, it looks ugly and will change from desktop to desktop and its powerneeds will be very spuratic (god knows why the hell its even in there let along as defualt displaymode)

You should always try to get your game to run in FullScreen Exclusive mode, this may appear slower ... however in actual fact it will give you more speed.

Secondly try to make sure you keep the FPS at a constant rate,
15 - 30 - 60, these are the best FPS ranges to shoot for as they will produce the most professional results.
Make sure you lock these as the Sync Rate...

Rather than using Sync when you must refresh the screen moretimes thant the normal sync rate, use FastSync as this only updates the backbuffer not every variable/type/array.

Add a Windowed mode option to your game, however make sure it is vsynced - else anything under 270 reported FPS will actually come out very choppy. Although alot of OpenGL games can get away with this, DirectX games can't without an FPS Limiter.
As DarkBASIC Professional Currently only has Sync Rate as its only FPS limiter, this is your best option for now ... however i believe someone has recently released and FPS Compensator on GameDev.net if you know your C++ w/Dx8.1

aside from that, remember to keep controls outside of the synced loop so they're updated as fast as the game is looped rather than whenever the game is synced.
A good tip is to turn Sync On manually and Set it but use the Sync commands yourself with timers, that way you can time physics and movement based on the controls better whilst still making the game controlable.


To Survive You Must Evolve... This Time Van Will Not Escape His Fate!
900mhz | 256mb | FX5200Ti 52.16 | Dx9 | WXP-Pro
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 10th Nov 2003 23:25
um... okay? i dont understand exactly what you mean by keeping controls outside of the synced loop, and all that other stuff...??

and as for the such-and-such fps... it was a long time ago... it might have been talking about running at a constant 60fps was the smoothest or something... its been awhile

with the timed sync command you were talking about... could i do a "sync rate 60" or something like that? with the game physics and movement they are all based of of time (so they move the same speed at 30fps... or 1000fps)

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 10th Nov 2003 23:47
this should explain better




To Survive You Must Evolve... This Time Van Will Not Escape His Fate!
900mhz | 256mb | FX5200Ti 52.16 | Dx9 | WXP-Pro
Genesis Rage
22
Years of Service
User Offline
Joined: 5th Oct 2003
Location:
Posted: 10th Nov 2003 23:58
k, thats pretty much what im doing... other than the timed sync command...

got another question though... when i set the project options to fullscreen exclusive (1280x1024x16) and print some text to the screen, it is actually bigger than if i "set display mode 1280, 1024, 16"... in theory shouldnt both of these look the same?... i have also compiled to final exe's when testing

Andy Igoe
23
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 11th Nov 2003 00:47
My code was meant for use as the default settings with user options to change them

Raven, yes you are correct the human eye does not see digitally. Also the human eye & optical whatever part of the brain is not as fast as a fly and probably faster than a sloaths, at around 60fps (depending upon the individual) it becomes impossible for the test subject to distinguish the difference. Therefor you may have your games run at 120fps if you like, and indeed i've written games 400+fps, but that just meens it'll run on a slower machine just as smoothly.


God created the world in 7 days, but we're still waiting for the patch.
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 12th Nov 2003 02:01
nope GR, because if your desktop is running a smaller or higher resolution then the text will appear distorted.

Windowed - Fullscreen is a waste of time, and it sucks alot of unnecesary power ... it wouldn't if it didn't use the Bilinear Filter and just used a Linear Rendering, but hey thats how TGC made it.


To Survive You Must Evolve... This Time Van Will Not Escape His Fate!
900mhz | 256mb | FX5200Ti 52.16 | Dx9 | WXP-Pro

Login to post a reply

Server time is: 2026-07-26 17:35:39
Your offset time is: 2026-07-26 17:35:39