Jump to content
Sign in to follow this  
Dwarden

Custom Memory Allocator for engine since b85869

Recommended Posts

I will have to prove my point in regards to MemAlloc and the CTD. I am sure it won't take long to get some new dump files (deleted the last ones) which I will report then.

Haven't been really into Arma lately (no time) hence I was trying to connect some lose ends with my specific CTD and the introduced changes.

Cheers,

VictorFarbau

Share this post


Link to post
Share on other sites

ASAP is crucial these days ...

put crashdumps at CIT or send to my email (my nickname @bistudio.com )

it don't matter if You not sure what and if, just provide them

especially as we aim to finish 1.60 the sooner we get them the better

just don't forget to use latest beta build

Share this post


Link to post
Share on other sites

No problems with that but I am usually trying to reproduce errors without any 3rd party addons. Which means some modifications to missions prior to having the dump created.

Unless you have methods to rule out effects of external addons, in that case I am happy to dump the dumps on you :)

Cheers,

VictorFarbau

Share this post


Link to post
Share on other sites

Custom addons or not, the game shouldn't crash.

IMO it's especially useful to report crashes even if their cause might be addons, as solving them fixes yet another crash opportunity.

Analyzing the dumps can also give insight in how to improve/fix addons I suppose.

The sooner the better :P

Share this post


Link to post
Share on other sites

bring them on, no hesitation ...

Share this post


Link to post
Share on other sites

Long working day ahead still :mad: Tonight I'll crash Arma and create some dump files :)

Odd what I am looking forward to these days...

VictorFarbau

Share this post


Link to post
Share on other sites

just don't forget to use latest beta build

Question: does it make sense to use the beta builds of the 1.60 release? I am lost, are those betas already based on the final 1.60 which is not out there yet? I stopped trying new betas since build 86233 (1.59).

Cheers,

VictorFarbau

Share this post


Link to post
Share on other sites

yes use for the testing/crashing 1.60.86434 or newer please

Share this post


Link to post
Share on other sites

After more testing using 86434 I can finally get consistent 1 fps advantage in benchmark E08 using tbb4 over tbb3. So, like Dwarden, I am sticking with tbb4 for now...

My signature has been updated with current video settings showing how I maximize and balance quality and performance. I found that I get best performance with triple buffering turned ON in NVIDIA control panel.

Share this post


Link to post
Share on other sites

just note about TBB4 allocator, it was updated to version 4.0 update 1

TBB 4.0 Update 1

- Improvements and fixes in the TBB allocator.

Edited by Dwarden

Share this post


Link to post
Share on other sites
After more testing using 86434 I can finally get consistent 1 fps advantage in benchmark E08 using tbb4 over tbb3. So, like Dwarden, I am sticking with tbb4 for now...

My signature has been updated with current video settings showing how I maximize and balance quality and performance. I found that I get best performance with triple buffering turned ON in NVIDIA control panel.

Hey dude,

If you make the AF Very High you should get another couple of FPS with A2 CO

Try it out and let us know, worst case it shouldn't decrease FPS at all.

Share this post


Link to post
Share on other sites
Hey dude,

If you make the AF Very High you should get another couple of FPS with A2 CO

Try it out and let us know, worst case it shouldn't decrease FPS at all.

Thanks for the suggestion, but setting AF to Very High drops E08 bench performance back 1-2 fps. But I had a flushable CTD playing OA, so that may have degraded things a little - I'll reboot and try again just to be sure.

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

Yep, AF=very high sets me back 2-3 fps after reboot. Not worth the fps price for me.

Edited by OMAC

Share this post


Link to post
Share on other sites

I sent my crash dump through to Dwarden.

And after hours of testing I narrowed it down to one addon which causes a CTD 4 out of 5 times when I warp to different parts of the world (Chernarus). Annoyingly enough it's even my own addon "VFAI_Smokeshell".

Here's my assumption:

VFAI_Smokeshell uses an event handler that fires each time an object of type "man" is created. This is in order to add the "wounded" event handler and to add 1 smokeshell. When I warp into random cities on the map then I can observe how objects and textures are loaded, cars and people are spawned (using the ALICE module). I guess the crash is somehow related to the spawning of "man" class objects which is caught by VFAI_smokeshell. Anyway, just guessing here.

EDIT: Coming to think of it, I think I made this ExtendedEventHandlers compatible a long while ago. So the scripts should be fired by EE and not directly.

Cheers,

VictorFarbau

Edited by VictorFarbau

Share this post


Link to post
Share on other sites
Thanks for the suggestion, but setting AF to Very High drops E08 bench performance back 1-2 fps. But I had a flushable CTD playing OA, so that may have degraded things a little - I'll reboot and try again just to be sure.

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

Yep, AF=very high sets me back 2-3 fps after reboot. Not worth the fps price for me.

OMAC if you have crashes, i hope you sending me the dumps or upload them to CIT ...

read: http://forums.bistudio.com/showthread.php?t=110823 how-to

don't hoard them for yourself !:butbut:

Share this post


Link to post
Share on other sites

For those interested

Was googling through sourceforge.net when I stumbled across this:

http://mpc.sourceforge.net/

The (MultiProcessor Computing) framework

Additional features:

Intel Thread Building Blocks:

TBB has been ported on the top of MPC. The patched version of the TBB is provided with the MPC distribution.

MPC 2.2.0 (stable) haven't figured out if Intel is using that as the basis for their TBB...

Anyway just posting FYI

Added: TBB wiki FAQ link - http://threadingbuildingblocks.org/wiki/index.php?title=Using_TBB

Edited by DBGB

Share this post


Link to post
Share on other sites
OMAC if you have crashes, i hope you sending me the dumps or upload them to CIT ...

read: http://forums.bistudio.com/showthread.php?t=110823 how-to

don't hoard them for yourself !:butbut:

Hi Dwarden,

It was a soft, flushable CTD with no dumps caused by the typical Windows/NVIDIA TDR error, so I thought there was nothing that could be done about it. But just in case I'll send you the .rpt file.

I know all about how to report dumps; I have sent in many dumps to you before via email. Other than these darn soft CTDs, I've been crash free in CO/RNF and ToH for months (other than stupid ones caused by me loading a saved game from a previous beta).

Cheers,

OMAC

Edited by OMAC

Share this post


Link to post
Share on other sites

Here a simple autoTest suite to test all allocators with the OA benchmark mission:

PvPscene_Benchmark_Suite_Custom_Memory_Allocator_2011_11_18.7z

1) Extract to .\arma2\autotest\PvPscene_BM

2) Adjust _configureSettings.bat with your settings (use a text editor to modify the bat)

3) Launch with runMemAllocBeta.bat

4) Wait for ~15 minutes for all runs to complete

5) Check the rpt for the result

6) Post in this very thread

tbb3malloc_bi.dll
["AVERAGE FPS: 33"]
tbb4malloc_bi.dll
["AVERAGE FPS: 32"]
jemalloc_bi.dll
["AVERAGE FPS: 32"]
nedmalloc_bi.dll
["AVERAGE FPS: 30"]
tcmalloc_bi.dll
["AVERAGE FPS: 34"]

PS:

The windows allocator test doesn't work. It seems only doable by removing all dlls.

This could be automated too, but the windows is the most crappy anyway.

PSS:

The result of the BI benchmark mission are not really meaningful due to the AI influence.

For more advanced and accurate benchmark results use this:

PvPscene Benchmark Suite

Edited by .kju [PvPscene]

Share this post


Link to post
Share on other sites
Here a simple autoTest suite to test all allocators with the OA benchmark mission:

PvPscene_Benchmark_Suite_Custom_Memory_Allocator_2011_11_18.7z

1) Extract to .\arma2\autotest\PvPscene_BM

2) Adjust _configureSettings.bat with your settings (use a text editor to modify the bat)

3) Launch with runMemAllocBeta.bat

4) Wait for ~15 minutes for all runs to complete

5) Check the rpt for the result

6) Post in this very thread

Allocator: c:\arma\Expansion\beta\dll\tbb3malloc_bi.dll
["AVERAGE FPS: 33"]
Allocator: c:\arma\Expansion\beta\dll\tbb4malloc_bi.dll
["AVERAGE FPS: 32"]
Allocator: c:\arma\Expansion\beta\dll\jemalloc_bi.dll
["AVERAGE FPS: 32"]
Allocator: c:\arma\Expansion\beta\dll\nedmalloc_bi.dll
["AVERAGE FPS: 30"]
Allocator: c:\arma\Expansion\beta\dll\tcmalloc_bi.dll
["AVERAGE FPS: 34"]

PS:

The windows allocator test doesn't work. It seems only doable by removing all dlls.

This could be automated too, but the windows is the most crappy anyway.

PSS:

The result of the BI benchmark mission are not really meaningful due to the AI influence.

For more advanced and accurate benchmark results use this:

PvPscene Benchmark Suite

cmd window pop up for a second nothhing happens how do you set it up properly (exactlly what is it you are entering into the configsettings.. does it even work when you have A2 and OA on steam?

Share this post


Link to post
Share on other sites

Did you update the batches with your path to arma?

Share this post


Link to post
Share on other sites

Version 1.60.86873

tbb3malloc_bi.dll
["AVERAGE FPS: 32"]
tbb4malloc_bi.dll
["AVERAGE FPS: 33"]
jemalloc_bi.dll
["AVERAGE FPS: 33"]
nedmalloc_bi.dll
["AVERAGE FPS: 31"]
tcmalloc_bi.dll
["AVERAGE FPS: 33"]

Share this post


Link to post
Share on other sites

Version 1.60.86705

tbb3malloc_bi.dll
["AVERAGE FPS: 73"]
tbb4malloc_bi.dll
["AVERAGE FPS: 80"]
jemalloc_bi.dll
["AVERAGE FPS: 71"]
nedmalloc_bi.dll
["AVERAGE FPS: 71"]
tcmalloc_bi.dll
["AVERAGE FPS: 76"]

Changed some settings to not be limited by gpu as much and see a difference. With normal settings only jemalloc is different with 2 fps less than the others. It was stuttering distinctly though, I wondered it was only 2 fps lower on average :eek:

Share this post


Link to post
Share on other sites

Scruffy what settings did you change? Might be more useful for everybody?

Share this post


Link to post
Share on other sites
It was stuttering distinctly though, I wondered it was only 2 fps lower on average :eek:

Inconsistent frame times are often percieved as stuttering, especially if two frames are rendered close together followed by a longer gap, then another two frames etc. This can make the framerate appear to be almost halved.

Consistency is the key to smoothness. :)

I would also like to see your graphics settings, particularly what you did to shift computations to the CPU. Apart from setting shadows to normal, I wasn't aware of any other methods to do this.

Share this post


Link to post
Share on other sites

autotest.arma2OAprofile

sceneComplexity=1000000;
viewDistance=10000;
terrainGrid=3.125;

Should be terrain- and object-details to very high, though viewdistance is set inside the benchmark I think.

Arma2OA.cfg

Render_W=960;
Render_H=800;
FSAA=0;
postFX=0;

50% resolution for me, no AA and postprocessing to make it easy on the GPU.

I guess the second change is what made the difference, as I was mostly GPU limited with my normal settings. No idea if the others (or shadows to normal/high) make a difference for memory usage.

@MadDogX: Yes, it was a bit like changing back to the HDD from a SSD, no real drop in FPS but a hiccup when waiting for something to load.

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  

×