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 / System and Video Ram Limits to DB Pro.... ?

Author
Message
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 3rd Feb 2012 10:02 Edited at: 3rd Feb 2012 10:16
Ok, I have read this forum's threads on problems that using dmem command causes the program to crash. I also noticed that I can call system ram and it returns the info, but if you have more then 4096, like I do, then it will only show 4096. Period. I have 8 gig. Apparently these commands are for 32 Bit OSes only. So after searching this forum, on DLLs and such, I am seeing the pattern that no one has solved this yet.

So before I give up on this idea, has anyone else solved the barriers here ? Can anyone show the proper amount of System Ram ? Can anyone show the Available Video Card Ram ?

I'm on Windows 7 Ultimate x64.



SYSTEM DMEM AVAILABLE is the command that crashes the program.

The other two commands do not report anything higher then 4096.

Thanks guys.

"Life is like a box of chocolates.. eat it before it melts."
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 3rd Feb 2012 23:33
@JackDawson
Do you really need to use DBPro for your server? You could just use C++ with DarkNet and compile it for 64bit Windows. That way you can utilize all the memory you have on your system.

Note: continuing conversation from the Top 3 Annoying bugs thread.

JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 4th Feb 2012 03:13
@ Dar13, sorry bro, but DarkNet is the LAST thing I would use for making a server. I am trying to stay away from any CLRs. Its too slow for one thing. I'm trying to squeeze as much speed as possible out of the server.

As for using C++, I had already made that decision long ago as I posted earlier in the 3 Most Annoying Things thread. But thanks for the input.

"Life is like a box of chocolates.. eat it before it melts."
nruser
16
Years of Service
User Offline
Joined: 22nd Dec 2007
Location: Serbia
Posted: 4th Feb 2012 03:14
I don't know if dll's compiled on 32 bit system, works correctly on 64 bit system, if they do then you could have a look at my plugin here
http://forum.thegamecreators.com/?m=forum_view&t=187488&b=18 just look at last post with the download button, i am not certain if it works 100% correct but it is a work around the SYSTEM DMEM AVAILABLE crash.
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 4th Feb 2012 03:56
Quote: "Dar13, sorry bro, but DarkNet is the LAST thing I would use for making a server."

I honestly thought that DarkNet had a native library in addition to the CLR for C#. Is that not true?

JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 4th Feb 2012 07:30 Edited at: 4th Feb 2012 07:31
@ nruser , sorry man, but no.. if you compile it with a 32 Bit compiler it will not be a 64 Bit DLL by any means. So the overhead of it running in a 64 Bit OS would add to its inefficiency. This fact has been proven all over the net. Do a search in google for 32Bit software in a 64Bit OS and you'll find all kinds of info on this subject. Its actually very interesting stuff I never realized until I found the limits of DB Pro.

@ Dar13, I just realized you said DarkNET.. I was thinking DarkGDK.NET at the moment I wrote that about CLR run times. Sorry about that. But I do know that again, its not compatible with a 64 Bit OS. The creator mentions that very fact on his page where he promotes the product. Although, he does mention that he is working on solving that problem on that same page.

Thanks for the input guys.

"Life is like a box of chocolates.. eat it before it melts."
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 4th Feb 2012 11:13
Tagging in

Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 4th Feb 2012 15:09 Edited at: 4th Feb 2012 15:22
So what are you going to use for networking? RakNet?

JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 5th Feb 2012 01:41
@ Dar13, since I am having to write the server in C++, I am calling the winsock2 functions and I'll just do it the old fashion way.

"Life is like a box of chocolates.. eat it before it melts."
Attila
FPSC Reloaded TGC Backer
19
Years of Service
User Offline
Joined: 17th Aug 2004
Location:
Posted: 5th Feb 2012 20:52 Edited at: 5th Feb 2012 21:04
To find your physical memory you can use the function GetMem$() as it is shown in the example below




If you look at the created file ~showmem.dat you will see it beeing helpfull to find more information about your system than just the memory size.
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 6th Feb 2012 13:30
Thanks for the code Attila. Nice work on grabbing my 8 gigs total ram. I'll have to look at that dat file and see if it shows video ram as well.

"Life is like a box of chocolates.. eat it before it melts."
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 6th Feb 2012 14:54
Attila it only works for temp folder not in projects folder

Attila
FPSC Reloaded TGC Backer
19
Years of Service
User Offline
Joined: 17th Aug 2004
Location:
Posted: 6th Feb 2012 16:13 Edited at: 6th Feb 2012 16:13
@MrValentine

it depends on your operating system you are using. When I started with VISTA, I created a folder c:\myprojects and put all projects in subfolders. Then I changed to access right to "all users full control". Thus any program can read from and write to the folders. This is although to allow older DB-programs to work. a.e to create dynamically level data.

You can change d$ to any value and select a directory where you have the necessary on windows 7 it would be something like "c:\users\public\documents". But on an older OS (like XP) the directory could be missing. The simplest way is to create "c:\temp" (and set the right accordingly the needs) and then point d$ to "c:\temp\"

@JackDawson

I'm working on a function GetSysInfo() where you can retrieve any value from systeminfo or stored in set-variables. But I encountered the fact, that depending on the language of windows the keys are different named.

When it is working, I'll post it in the forums. Because it is a DB-function and not a DLL, the function will work with DBpro and DBclassic and therefore will although help to DBclassic programers. And it is mostly independent from the OS Version (systeminfo was already available in XP)
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 6th Feb 2012 17:07
I think I will stick with the basic Enhancements stuff and use the 32bit limits as the basics anyway... thanks though

but yeah need that video memory issue fixd somehow...

Attila
FPSC Reloaded TGC Backer
19
Years of Service
User Offline
Joined: 17th Aug 2004
Location:
Posted: 6th Feb 2012 17:33
Finding the video memory could be a problem, some cards use dynamically main memory as video-memory if needed. In doing though varying the memory amount available to the card.
I've got a NVIDA GeForce 9800 GT with 4 GB memory and the command "system dmem available()" reports it correct.
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 6th Feb 2012 17:51
Attila are you on XP? dmem doesnt work for me it crashes...

Attila
FPSC Reloaded TGC Backer
19
Years of Service
User Offline
Joined: 17th Aug 2004
Location:
Posted: 6th Feb 2012 20:41 Edited at: 6th Feb 2012 20:43
I'm on Win 7. I tried on a virtual machine with XP but there the values look wrong (even though a virtual machine does not have a physical card) and it probably hard for a program to determine the memory size of a non existing card...

But, it does not crash, it just brings some (randomized) values though
=PRoF=
21
Years of Service
User Offline
Joined: 17th Mar 2003
Location: Milton Keynes, UK
Posted: 6th Feb 2012 22:44
@Atilla:
What DBP update version are u using?

JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 7th Feb 2012 00:34 Edited at: 7th Feb 2012 00:35
@ Atilla, the video card you describe, the 9800 had a MAX of 1 gig ram, they never had a video card that was higher for any of their 9800s. I checked their website about this to verify.

Also, the 4096 is the limit that DB memory reports total. Even if you have more. AND since its pulling it from system and the video card, it will still not report it correctly if you computer has more then the total amount on a 32 Bit OS. The reason it may not be crashing, is because if you combine your video card and your system ram, you probably just reach the limits, and thus for, your not crashing. The rest of us, who are well beyond the limits are seeing our programs crash no matter what OS we are on.

This is all because if you remember, the limits of 32Bit is 4 gigs total. And since XP and higher combine both video and system ram, your going to see the totals combined in DBP. Again, if your combined total is higher then that 32 Bit limit of 4 gigs, then DMEM will crash.

I have total of 9.2 gigs toal on my system. That's video ram and system ram combined. With ANY 64Bit compiler, it reports it accurately. On any 32But compiler, it has not. I have seen this crash in other compilers as well that are 32Bit only.

Again, this is a hardware limit, not actually the DBP. So your little fix to at least get total RAM for system, is impressive. Now if we had one for video ram, we are back on track.

"Life is like a box of chocolates.. eat it before it melts."
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Feb 2012 03:17
I've got 128Mb of shared video ram if any one wants some... (Don't take it all though)

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 7th Feb 2012 03:25
Hahahahahahaaah Hi WLGfx welcome to the debate what you doing still up¿

oh for the record im using a 1GB GPU on Win7x64 with 8GB DDR3... Hoping to upgrade to 16GB soon... if not..32GB...

Attila
FPSC Reloaded TGC Backer
19
Years of Service
User Offline
Joined: 17th Aug 2004
Location:
Posted: 7th Feb 2012 11:01 Edited at: 7th Feb 2012 12:06
@JackDawson

NVIDIA Panel reports 4095 MB of available graphics memory, and 512 MB of dedicated video memory

I have 8 Gig memory installed and I'm using Win 7/x64 and DBP 1.071

Thank for the hints, I forgot about the 4 GB limit. The most time I spend with computer was with DEC-Alpha (a 64bit System) and when DEC failed, and I had to use PC's the 64bit machines where coming up.
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 7th Feb 2012 14:01
Right that tells me more information about your computer. You must be on a notebook or your video card is integrated on your motherboard, if your on a tower. Example : The 9800M GTS is an embedded video card and in your case has 512 of dedicated RAM. That card is different then the normal 9800 Nvidia card as your earlier post lead us to believe, because an embedded card with dedicated and SYSTEM accessible RAM is known as a Hybrid. That's the M series of the 9800 GPUs. ( 9800M GTS ) Since your on a 64 Bit OS it can actually take advantage of more RAM past the 4 Gig limits, stealing it from your regular system ram. Meaning, from your 8 gigs system ram.

"Life is like a box of chocolates.. eat it before it melts."

Login to post a reply

Server time is: 2024-05-20 04:04:43
Your offset time is: 2024-05-20 04:04:43