help with DS4QB++

Discuss whatever you want here--both QB and non-QB related. Anything from the DEF INT command to the meaning of life!

Moderators: Pete, Mods

Post Reply
seifer503

help with DS4QB++

Post by seifer503 » Sun Aug 01, 2004 11:17 pm

i'm new to this lib and i've just added it to a game that i've been working on for about a year. so far i like it, but it seems to be really slow. for example changing the music creates up to 5 sec delay in the program. i'm using the relsoft library for graphics as well. i'm running under windows xp, if that matters. any ideas would help. thanks

User avatar
Levi
Veteran
Posts: 79
Joined: Tue Jul 27, 2004 11:44 pm
Location: Alone and forgotten
Contact:

uh....

Post by Levi » Mon Aug 02, 2004 12:49 am

Not familiar with the library. If music is a wave file the five second delay would be the loading, clearing, and starting of play. So for that actually getting a variable that would hold 5seconds of music and taking that time to load the new music would be good.

Using regular play command is odd for that to happen as it does. It may actually be how your program is programmed and there is in truth a five second delay between the ending of the music, you checking all of whatever it is you check and then getting back to play the next song.

What type of music media are you using? And how big of a game
Later days,
Matthew

May those who love us love us
And those who don't
May the good Lord turn their hearts
And if he doesn't
May he turn their ankles
So we'll know them by their limping
-Irish prayer

User avatar
Nodtveidt
Veteran
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR
Contact:

Post by Nodtveidt » Tue Aug 03, 2004 9:48 am

Lithium warned of latency when running a lot of background processes while DS4QB++ is active. Shut down all programs you're not using (all programs period, coz your game is likely fullscreen anyways) and kill off any unneeded services. The latency is affected by the number of tasks Windows XP is performing. Running DS4QB++ under Windows XP creates additional latency anyways, as it relies on the file queueing method rather than the zero page hack trick that works under 9x. Piptol is probably the only person around who's completely comfortable with DS4QB++, having used it successfully in 'Ghini Run.

If you need a sound library that works without Windows, you'll want either BWSB or UGL. BWSB supports up to S3M format and UGL supports MODs only. Neither support mp3, so if you need mp3 support, you're out of luck (for now) when it comes to pure DOS.

seifer503

Post by seifer503 » Wed Aug 04, 2004 5:25 pm

i have almost no background proceses running. my goal is to be able to run this game without any EMS or XMS memory. since most people playing it wouldn't know how to change those settings. as of now i have achieved it. my music format is various MOD files. all of the music files were preloaded long before they are actually used. this tells me that it's not the loading that creates the pause, but the latency of windows xp. i haven't even added sound effects yet. but if the music is that slow, it might not be worth it. i can't have 5 second delayed sounds. is there a really simple sound and music library that requires little memory for dos? i like ds4qb++ since it doesn't use dos memory. i want something really easy since i have little experience with sound.

User avatar
Nodtveidt
Veteran
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR
Contact:

Post by Nodtveidt » Wed Aug 04, 2004 9:45 pm

Both UGL and BWSB work fine. Each has their advantages and disadvantages:

*BWSB supports a number of modules, UGL only supports MOD
*BWSB supports 32 channels, UGL supports 64
*BWSB only supports 8 bit samples, UGL supports 16 bit samples
*BWSB only supports 64kb samples, UGL has no practical sample size limit
*BWSB requires about 150kb of conventional memory, UGL requires none
*BWSB requires all sound fx to be inside modules (bad, very wasteful), UGL requires them to be seperate (good)

And the similarities:

*Both use EMS
*Both support the standard Soundblaster hardware without issue

UGL's sound system is a bit bigger than BWSB (by about 25kb or so) but given the fact that UGL doesn't need the 150kb overhead that BWSB needs, I'd say that's a pretty good tradeoff. :D

When you get right down to it...you're not going to have much luck finding a sound system for DOS that doesn't require EMS or XMS if you want good quality sound. There's QMIDI, but I did say good quality sound. :D And then you still have to worry about sample playing...

I realized some time ago that my creation of the original DS4QB was probably the biggest mistake I ever made... :cry:

Guest

Post by Guest » Mon Aug 16, 2004 9:54 pm

i found a solution to the problem. apparently, when i removed all the SLEEP commands from my program, the delay dissapeared. odd...

barok
Coder
Posts: 38
Joined: Sat Jul 24, 2004 4:32 pm
Location: Frozen bushlands of Saskatchewan
Contact:

Post by barok » Wed Aug 18, 2004 4:08 pm

sleep?

i've never got ds4qb++ to work with my computer myself... i always get alot of errors.
I have no sig.

Guest

Post by Guest » Sat Aug 21, 2004 6:02 pm

yes, SLEEP is an actual QBASIC keyword. It creates a pause in the program for a specified number of seconds.

User avatar
Nodtveidt
Veteran
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR
Contact:

Post by Nodtveidt » Thu Aug 26, 2004 9:28 pm

SLEEP is also a crappy command which should be avoided like the bubonic plague. :D

matt2jones

on the contrary

Post by matt2jones » Sun Aug 29, 2004 10:06 am

on the contrary, sleep is great when your debugging, just don't ever use it in your final release - EVER.

And if you use CTRL as the keypress the buffer doesn't fill...

Yeah, sleep really is a pathetic command...

matt (PointlessPost = PointlessPost + 1)

Anonymous

Post by Anonymous » Tue Aug 31, 2004 7:05 am

SLEEP:

Code: Select all

DO WHILE INKEY$ = "": LOOP
SLEEP x:

Code: Select all

T! = TIMER: DO: LOOP UNTIL TIMER - T! > x
It costs more typing... ;)

Z!re
Veteran
Posts: 887
Joined: Wed Aug 04, 2004 11:15 am

Post by Z!re » Tue Aug 31, 2004 12:54 pm

Code: Select all

dummy$=Input$(1)
Uhm... Waits for a keypress...

Doesent fill the buffer, and doesent mess everything up like SLEEP does.


SLEEP should be avoided like a plague and syfilis infected 70yr old obesed... err... woman that.. err.. do stuf... err.. for money.. err...

Anonymous

Post by Anonymous » Wed Sep 01, 2004 7:34 am

:( I never got used to input$. I prefer my way ;), but it seems to have cool advantages... *going to take a look*
Z!re wrote:SLEEP should be avoided like a plague and syfilis infected 70yr old obesed... err... woman that.. err.. do stuf... err.. for money.. err...
Women who sell their intimacy.

Post Reply