Jump to content
Sign in to follow this  
Wiki

Question on Memory Allocator

Recommended Posts

hi guys.

I have seen there is something about the memory allocator since the last patch, but I can't understand anything.

I've already read this page

http://community.bistudio.com/wiki/ArmA_2:_Custom_Memory_Allocator

but still don't understand anything...

What should I choose to make my computer use all of the memory/RAM from my computer?

thanks for answers

Wiki

Share this post


Link to post
Share on other sites

there is no certain response to your question. You'll need to test it yourself. BUT be aware that memory allocators don't make your game use all your available memory, they just set how the available memory is handled by the game.

You can read what a memory allocator does before anything else http://en.wikipedia.org/wiki/Memory_management

A2 is already LAA (Large Adress Aware). That said, it can only use up to 4GB.

Share this post


Link to post
Share on other sites

I've tried each .dll file which were in the dll folder, but i didn't see any real difference between each of them...

how can i really find out which .dll file I should take? or see the difference between each of them?

Share this post


Link to post
Share on other sites

memory allocator mainly affects how well the program using it handles memory operations (allocations, freeing and so on)

another factor is speed and total amount usage is just neglible factor

note: i tend to use the TBB v4 one

Share this post


Link to post
Share on other sites

ok, thanks for answers.

so, i'm gonna use it too and delete all the other ones from the dll folder.

Share this post


Link to post
Share on other sites

you don't have to delete them.

Just add -malloc=tbb4malloc_bi or the one you choose, to your shortcut

Share this post


Link to post
Share on other sites
ok, thanks for answers.

so, i'm gonna use it too and delete all the other ones from the dll folder.

why ? wth ... just read the description and use correct commandline parameter

Share this post


Link to post
Share on other sites

oh, ok.

I read I could do it or delete them...

"You can select an allocator by deleting other allocators from the dll folder "

my bad...

thanks for info

Share this post


Link to post
Share on other sites

fixed that line to avoid more confused users :)

Share this post


Link to post
Share on other sites

my understandings of computing and electronics are very limited, but from what I've read in that wiki page about memory address it seems that 64bit OS handle more and better memory, right? Then, theoretically, it would be possible to make a patch to make A2 exploit all the potentials of 64bit OS?

Share this post


Link to post
Share on other sites

OA already does that , it's LAA aware and the 64bit OS can provide it with more memory faster

Share this post


Link to post
Share on other sites
OA already does that , it's LAA aware and the 64bit OS can provide it with more memory faster

what i think he means by "using all the potential of 64 bit OS" is having a 64bit binary ;) At least this how i read it...might be wishful thinking

Share this post


Link to post
Share on other sites

not going to happen until 8-16GB is 75% world computer standard

remember that 64bit coding often means use double sized variables thus you increase the default memory usage thus it has no point on just 4 or 6GB systems ...

Share this post


Link to post
Share on other sites

yes Pufu, that's what I meant.

Well 64bit OS is already becoming the standard now, as WinXP gets phased out and all computers (besides netbooks) are equipped with at least 4gb of ram and therefore with an x64 OS.

Share this post


Link to post
Share on other sites
not going to happen until 8-16GB is 75% world computer standard

That would also depend on what you mean by computer standard. You, as a game developer, don't look at office running computers, neither on workstations, but at the gaming oriented PCs (just by looking at the A3 minimum specs for instance), which indeed have an average of 4GB of ddr3 ram.

remember that 64bit coding often means use double sized variables thus you increase the default memory usage thus it has no point on just 4 or 6GB systems ...

I am well aware...

BUT, most software running 64bit are NOT 64 bit exclusive. They still have binaries in 32bit.

While i am agree that a step towards 64 binaries for the few that have at least 8GB of ram (my case with 16 and 24gb systems) is a bit far fetched, for a piece of software that relies heavily on a huge number of models and textures that needs to be cached from the HDD, it might actually be a improvements in term of performance. I know there are external applications able to create virtual disks out of ram and alike, but most of the ppl with plenty of ram have a good reason for that: they actually use software that take advantage of it, and can't use that as a fast SSD...

Well 64bit OS is already becoming the standard now, as WinXP gets phased out and all computers (besides netbooks) are equipped with at least 4gb of ram and therefore with an x64 OS.

That is simply untrue. While 64bit computers are on a rise, there are numerous computers with 4GB ram and 32 bit OS. Besides, winXP has a 64 bit version, which i have used prior to windows 7 for a good number of years.

Share this post


Link to post
Share on other sites

That is simply untrue. While 64bit computers are on a rise, there are numerous computers with 4GB ram and 32 bit OS. Besides, winXP has a 64 bit version, which i have used prior to windows 7 for a good number of years.

you're right but computers with 4 or more gbs of ram and a 32bit OS are not that recent and they hardly have an hardware that can sustain A2 and much less A3 with a better graphic quality than very low.

Anyway this 64bit binary idea was just a wish for future games, since BI games are more hardware demanding than most others it would be a shame not to exploit all the advantages of an x64 computer, for those who have it. I didn't mean that the x64 binary should become the standard, but it would be great to make some kind of patch for x64 users.

Share this post


Link to post
Share on other sites

There's absolutely no need to create a 64-bit build, especially given how programmers are eager to cast pointer to int. In modern CPUs the 32-bit compat layer comprises no more than 2% of the CPU, and is very fast. The difference in instruction execution time is unnoticeable.

Also, Dwarden's comment about "double-sized variables" is dubious. That only applies to pointers and other word-sized data. Textures are just byte arrays and 'int' still has its sizeof == 4. Only 'long' and 'intptr_t' etc. are affected of purely-integer types.

Not like it matters, because A2OA doesn't have any need for such large address spaces anyway. Textures are limited by VRAM anyway.

Share this post


Link to post
Share on other sites

because i'm in holidays mode i refuse to try find the papers on what problems coders face with 32 to 64bit transit

yet the outcome for our engine was that it would mean significant memory usage increase

in that light the 64bit build would for these who got 4-6GB of RAM end in negative result ....

and since when ARMA stores just textures in memory :)

Share this post


Link to post
Share on other sites

so, if there's no point in having a 64bit binary then things are fine as they are. Like I said, my understandings of computing are nearly non exixtent and was wondering if that was possible.

Share this post


Link to post
Share on other sites

I have 16g That i got for video editing.

I run a system monitor on my other monitor when im playing sometimes

I sometimes feel its a shame that i only use 3g of 16g and 25-35% cpu while playing Arma2oa

Would be nice if that memory button in video options actually did something

Like oooo look this system has 16g press button and it uses 14g

Share this post


Link to post
Share on other sites
the game don't use just these 3GB but addressing rest of memory via OS ...

please read the old dev blog about it

http://www.bistudio.com/index.php/english/company/developers-blog/85-breaking-the-32-bit-barrier

The blog was over my head a bit. basicly i look at my system monitor that tells me how much ram is

A: Hardware reserved

B: in Use

C: modifed

D: Standby

E: free

When I play arma2 it shows that about 3.5gig is in use / 4mb is hardware reserved / 1g is modifed / 2g is on standby and 9.#g is free (give or take a few .### numbers)

Running 3 versions of arma2 at once did teh following

Hard reserved = 4mb / In use = 5.1g / modified = 3.6g / Standby = 2.1 and free = 5.4g

Edited by BL1P

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×