Jump to content
Sign in to follow this  
Dwarden

Custom Memory Allocator for engine since b85869

Recommended Posts

Maybe this is the wrong place but how can I add the malloc parameter while using the Sixupdater?

I am in the process to add the latest parameters and add a "Other parameters" field (usable for e.g brand new params).

For the time being, enable Advanced Mode, go to the Game Profiles datagrid, and edit the Params field at your favorite game profile :)

http://dev-heaven.net/issues/26115

http://dev-heaven.net/issues/25857

Please in the future find SU support @ http://www.six-updater.net/p/support.html

Edited by Sickboy

Share this post


Link to post
Share on other sites

I cannot see big difference between tbb3 and tbb4.

Benchmark : tbb3 fps / tbb4 fps

Benchmark01: 30 / 29

Benchmark02: 10 / 10

E08 : 41 / 39

arma2oacfg20111104.jpg

Share this post


Link to post
Share on other sites

The NED one has issues

I´ve got the same Issue with Tcmalloc while testing with E08. Haven´t tested the new Allocators with the Suite till now. I´m on it, and will report in.

Share this post


Link to post
Share on other sites

No issues here with any malloc;

nedmalloc has the highest maxfps while ttb4malloc has the highest minfps;

I would vote the ttb4 as default one, too.

Share this post


Link to post
Share on other sites

The TC one causes missing MCVCR100.dll on startup here and it falls back to the windows on (XP32b):

picture001qu.th.jpg

(error message is in German)

Share this post


Link to post
Share on other sites

Results using 86055 beta patch and E08 Benchmark:

OS: Win7-64

CPU: E8400 overclocked from 3 to 3.93 Ghz

GPU: Radeon 4890

RAM: 4 GB DDR-3

tbbd4 = 36, 35

tbbd3 = 36, 36

jemalloc= 34, 36

tcmalloc = error MSVCR100.dll missing!?

nedmalloc= 34, 34

windows (default?) = 35, 34

Conclusion: all are very close, within the margin of error

Share this post


Link to post
Share on other sites

Settings/system in signature, benchmark E08 (unless otherwise noted):

Beta 85680

no -malloc assigned: 44, 45; A2 benchmark 1 (Vyshnoye): 39

Beta 86055

tbb4: 46

no -malloc assigned: 43

Beta 86122

tbb4: 44, 45, 44, 45, 45; A2 benchmark 1: 39

tbb3: 45, 45

je: 46, 46 (with some sputtering and one momentary drop to 14 fps)

tc: 45, 45

no -malloc assigned: 46, 44, 45; A2 benchmark 1: 39

windows (no -malloc assigned, dll folder renamed): 44

For me with 86122, I'd go with no allocator specified (default tbb3). The new allocators are all pretty close in performance, within margin of error.

I wrote earlier that I thought I had seen performance improvement in Chernarus with tbb4 (and others thought so, also). However, playing Freedom Fighters again with 86122 and no -malloc in command line, I was getting the same good performance near coastline as before. I also got normal to slightly better performance playing Eagle Wing. Given that and the above tests, I cannot say with certainty that any of the new allocators do much better than the default tbb3.

Edited by OMAC

Share this post


Link to post
Share on other sites

I have used VS2010 to build a 'malloc' DLL implementation based on NedMalloc from the sources here http://prdownloads.sourceforge.net/nedmalloc/nedmalloc_v1.10beta1.zip

As an absolutely noob I might have done something wrong - but after modifying the code - I had to add a section from BI's NedMalloc source ->

namespace nedmalloc {

int VirtualReserved = 0;

.....

the VirtualReserved was linked from NedMalloc_bi.cpp but didn't exist in the updated source I grabbed from source forge so I got some linker error.

I also did some other modifcations - But whatever - the allocator is not used in the game - it reverts to the windows allocator.

My custom DLL is renamed NedMalloc_bi_upd.dll - was originally NeMalloc_bi.dll as I used BI's VS project files. And it's the only one in the dll folder - mentioned as NedMalloc_bi_upd in the startup parameter...

Hmmm..... next step..... ?

BTW: I notice that BI's Dll's are signed - So the ones I built a week ago from the sources to get to learn VS2010 compiling is a bit less in size.

Is this a problem ? (Mine are obviously not signed)

Update: On with the thinking hat... I got it running - ended in small disaster

=====================================================================

== E:\Games\Bohemia Interactive\Expansion\beta\arma2oa.exe

== "E:\Games\Bohemia Interactive\Expansion\beta\arma2oa.exe" -mod=Expansion\beta;Expansion\beta\Expansion -nosplash -malloc=NedMalloc_bi_upd

=====================================================================

Exe timestamp: 2011/11/09 16:09:53

Current time: 2011/11/09 16:34:55

Version 1.59.86218

Allocator: E:\Games\Bohemia Interactive\Expansion\beta\dll\NedMalloc_bi_upd.dll

Item str_disp_server_control listed twice

Warning: looped for animation: ca\wheeled\data\anim\uaz_cargo01_v0.rtm differs (looped now 0)! MoveName: kia_uaz_cargo02

Warning: looped for animation: ca\wheeled\data\anim\uaz_cargo01_v0.rtm differs (looped now 1)! MoveName: uaz_cargo02

=======================================================

-------------------------------------------------------

Exception code: C0000005 ACCESS_VIOLATION at 008F5111

Allocator: E:\Games\Bohemia Interactive\Expansion\beta\dll\NedMalloc_bi_upd.dll

...

...

Distribution: 1486

Version 1.59.86218

Fault address: 008F5111 01:004F4111 E:\Games\Bohemia Interactive\Expansion\beta\arma2oa.exe

file: intro

world: Desert_E

Prev. code bytes: 44 24 44 0F 59 D0 83 C4 04 83 45 08 10 0F 58 CA

Fault code bytes: 0F 29 08 0F 28 C4 83 C1 04 3B 4D 10 0F 58 C6 0F

Registers:

EAX:1157EFD8 EBX:00000020

ECX:00000010 EDX:00000010

ESI:00000020 EDI:00000010

CS:EIP:0023:008F5111

SS:ESP:002B:0182F410 EBP:0182F4B0

DS:002B ES:002B FS:0053 GS:002B

Flags:00210206

=======================================================

...will play a bit with the working implementations instead....now

Edited by DBGB
Added BTW - and a run failure

Share this post


Link to post
Share on other sites

Which allocator is best for dual cores and weak graphics cards, in you guys' experience?

Share this post


Link to post
Share on other sites

test and choose it yourself is best answer :)

Share this post


Link to post
Share on other sites
test and choose it yourself is best answer :)

If I have a lot of free time, I will. But this is all over my head. What number is the default? Why are people posting things like ''-malloc=tbb4malloc_bi'' if we are just supposed to choose from 1-6.

Share this post


Link to post
Share on other sites
If I have a lot of free time, I will. But this is all over my head. What number is the default? Why are people posting things like ''-malloc=tbb4malloc_bi'' if we are just supposed to choose from 1-6.

because it changed , read the wiki page or look into thread deeper :)

default is tbb3malloc_bi

but lot of people use tbb4malloc_bi (including me)

Share this post


Link to post
Share on other sites

Is it safe to assume that "-malloc=tbb3malloc_bi" is identical to not specifying any -malloc in the command line?

Share this post


Link to post
Share on other sites
Is it safe to assume that "-malloc=tbb3malloc_bi" is identical to not specifying any -malloc in the command line?

that's safe cause TBB3 is the default :D:cool:

Share this post


Link to post
Share on other sites

Yes. So it's a little odd that "-malloc=tbb3malloc_bi" is listed as an example on the biki.

Share this post


Link to post
Share on other sites

that's point of example ...

Share this post


Link to post
Share on other sites

I played CO using beta 86277 for several hours today with both tbb3 and tbb4, and everything was smooth and completely stable with great performance. Still can't see much difference between those two allocators, but I'll keep looking.

Share this post


Link to post
Share on other sites

Since this change I get reproducible CTD when warping around on the island. For debugging purposes I am often jumping around to monitor different groups. In 9 out of 10 times ARMA crashes to desktop while the engine is still reloading terrain and textures.

Will have to try with some parameters and feed back here, if important.

Cheers,

VictorFarbau

Share this post


Link to post
Share on other sites
Since this change I get reproducible CTD when warping around on the island. For debugging purposes I am often jumping around to monitor different groups. In 9 out of 10 times ARMA crashes to desktop while the engine is still reloading terrain and textures.

Will have to try with some parameters and feed back here, if important.

Cheers,

VictorFarbau

So which malloc are you using?

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  

×