#perf_prof_branch
1 messages · Page 3 of 1
I'd say probably unlikely, but I'll add some log context to it next updoot
awesome, thanks!
That would only work if it actually directly comes from a script tho
ah just realized I can at least see what object that is with the logenteties command
That will be that (have fun with your script errors for doing things wrong)
Also I apparently can reproduce that
11:55:04 ➥ Context: [] L1 ()
[] L24 (/temp/bin/A3/Functions_F/Debug/fn_debugConsoleExec.sqf)
[] L24 (/temp/bin/A3/Functions_F/Debug/fn_debugConsoleExec.s [] L19 (/temp/bin/A3/Functions_F/Debug/fn_de
cut off thing
Ah, Fixed. The sad world of having to work with char* instead of string_view :sad:
String view is 16 bytes. Char* is 8. That's a happy world 😛
I admit to it as Alpha tester + Supporter Edition, I will try a third time for the charm 😉
Late Supporter? 😜
Loyal Supporter 
Its still present?
I will most likely remove the ;; requirement for short circuiting in next prof update.
So then you won't be able to do performance comparisons directly, in case you're planning on doing that
borked
but not everywhere
productVersion
["Arma 3","Arma3",212,150512,"Profile",true,"Windows","x64"]
Thanks got it, "ctrl" != "slider" :u
"slider textboxes" sounds plenty descriptive, though
The parent of the weaponholders are in the list and there position would be at [0,0,0], correct ? So perhaps I should only delete the objects which dont have a parent
As I said yes, objects that have null parent (no parent)
And, probably check that they are actually dummyweapon.p3d otherwise it may hit out "vehicles"
Slider textboxes nice, we need more 3den control types
I meant that was the bug.
I wrote ctrl in code, where it should be slider
Probably delaying the prof to tomorrow, unforseen consequences
Tomorrow morning then
Can the inventory container leak stuff be fixed with a script though? I didn't manage to deleteVehicle them when I tried
🤔 That I haven't tried :/
Maybe deleteVehicle ignores these
I didn't manage to delete them, and observed that they are spawned on mission start for every unit with a custom loadout in 3den
, I made a FT ticket about it
I assume their loadout init may run on server :/ so if would fail for all players. But not every unit 🤔
what do you mean with "leaked uniform/vest inventory container"?
This explains it
Ah ok, so the check found (in my case) 200 objects created as "SupplyXX". That means, somewhere in the scripts I use, uniforms are set via addGoggles which obviously is not intended. Right?
That means, somewhere in the scripts I use, uniforms are set via addGoggles
No that doesn't mean that. addGoggles is one example of ways to trigger the bug, there are more
If you have bad scripts you'll receive warnings starting with next profiling branch
waits for tomorrow
i remember in operation flash point when you add mag to vehicle, the vehicle would spit out 100s of mags do that 20 times and you crash the server 😄
~~2.12.150587 new PROFILING branch with PERFORMANCE binaries, v5, server and client, windows 32/64-bit, linux server 32/64-bit
- Tweaked: Optimized configProperties performance when most of the entries are inside the passed class (not in a parent)
- Tweaked: Optimized configClasses performance
- Tweaked: Added Short-Circuiting to configClasses, configProperties, forEach (array)
- Tweaked: Short-Circuiting is now enabled by default
- Tweaked: diag_codePerformance now has 100ns precision (previously only 1ms)
- Tweaked: addTo/removeFromRemainsCollector is now working with dead characters - https://feedback.bistudio.com/T168091
- Tweaked: Added log context for "SimpleSerialization" warnings
- Tweaked: Optimized arrayIntersect performance when both arguments are the same array
- Tweaked: Added error message to addGoggles/addHeadgear/addVest/addUniform/forceAddUniform when trying to add an item into an incompatible slot
- Fixed: Some Eden Editor attribute slider textboxes stayed empty (since v3/v4)
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh~~
Every update day is Dedmen appreciation day.
Also, KK is helping, he also deserves some love 
Can someone confirm this:
I tried to run on a vanilla server "Escape 10 Altis" but if i load into mission (after map screen) i have a SegFault.
I run ded linux 32bit server and latest perf/prof version (v5); client win10 64bit prof v5
if server is v3 the mission starts
👀
What crashes, server? you only tried linux 32bit, not 64? Windows client doesn't crash? How about windows server?
We had some crashing issues with the new short-circuiting stuff, but that's only enabled on 64bit
Can a 64bit client influence a 32bit server with that short-circuiting stuff?
no
already found bug, short circuiting doesn't handle ||/or/and commands with lazy eval 
can lead to findIf/select/... returning nil when it shouldn't
We'll have to revert this not enough time anymore to push fix today ._.
Try again tomorrow 😄
Do you use GPT for assistance? Or is it as of today not precise enough
thats fucked up thing to say its like asking 5 star steakhouse for A1 sauce
Profiling seems to crash instantly for me. Worth sending dump file? (Modded though)
If i host a MP game (win64) it starts escape.
yes always
I suspect its just more of the recent linux 32bit issues you already reported.
I don't really have time to look deeply into that, considering the dozens of people that run 32bit linux still its not really that high on the priority list.
Linux in general requires lots of time to diagnose issues, add gigabytes of crashdumps ontop...
Let's see if it is broken in the next version. Maybe it is fixed.
Is reverted, lets pretend this didn't happen and try again tomorrow :x
Thank you for the successful beta test 🫂
Happens 
Checked a function yesterday with stupid expensive config checks.
And the updates improvements halfed the execution time.
From 9.2776ms to 4.1356ms 👍
I have a general question: are these optimizations done for the longevity of the ArmA 3 platform? Or do they also find a way into the Reforger/A4 development? In either case, highly appreciated and happy to help testing.
Arma* lowercase second a.
Enfusion engine is a completely different engine with a completely different/new scripting language.
Arma 3 scripting improvements don't apply to it
would it be beneficial to setup some auto tests for the profiling builds, in particular the linux ones?
Game breaking issues are pretty rare.
In this case, all the issues are in mods/missions as vanilla has been tested.
More test always more betterer ofc
I could probably add profiling binaries to my mod auto test suite and compare with vanilla result 🤔
worth to report anything on todays build, or too busted?
stringtable.xm
seeing only one character missing now 😬
Just had a crash with the latest perf client, not seen this before, faulting in Xaudio2_7.dll:
Version 2.12.150512
Fault time: 2023/05/03 21:18:22
Fault address: 096FE88F 01:0003D88Fll C:\WINDOWS\system32\XAudio2_7.dll
file: Temporary%20Extreme%20(SP%2fCOOP) (__cur_sp)
world: malden
Prev. code bytes: 8B D1 F3 49 0F 2A C3 F3 0F 5C F0 48 85 ED 74 15
Fault code bytes: 41 0F BF 04 24 66 0F 6E C0 0F 5B C0 F3 0F 59 C5
I wanna have all the issues so I can fix it
Have seen this last time last week, and before that 2 years ago when it was found on DayZ and microsoft said they would fix it...
If you're using USB audio it might be worth to not
No USB audio here, but the common Realtek thing. I'll see if updating some drivers will help 🙂
Tomorrows perf build.
For those that are hardcore and want to help me test before I deploy it to more people tomorrow 🤞
All reported issues from today are fixed and I did a testrun with my mods, but I don't have all mods ._.
Error in expression <(units _group) findIf {(alive _x) and {(simulationEnabled _x)}}) >= 0) then
{
if>
Error position: <simulationEnabled _x)}}) >= 0) then
{
if>
Error simulationenabled: Type Group, expected Object```
Error in expression <ams ["_unit"];
private _attackTarget = getAttackTarget _unit;
if ((_attackTarg>
Error position: <getAttackTarget _unit;
Error getattacktarget: Type Group, expected Object```
Error in expression <] call TEST_fnc_unitIsFightingSomeone}}) >= 0)
};
TEST_fnc_vehicleIsFightingSomeo>
Error position: <>= 0)
Error >=: Type Bool, expected Number,Not a Number```
Error in expression <t 0)) isEqualTo (toLower _ammo)) and {((_x select 2) > 0)}} count (magazinesAllT>
Error position: <_x select 2) > 0)}} count (magazinesAllT>
Error Undefined variable in expression: _x```
i guess you may need more/full code context
If you have a loop where and or or || is involved, I know about that and thats fixed (assuming these are from the old unfixed v5)
your first and last have it
the others can't see, maybe they do
The third one probably, the second I don't know 🤔
TEST_fnc_unitIsFightingSomeone =
{
scriptName "TEST_fnc_unitIsFightingSomeone";
params ["_unit"];
private _attackTarget = getAttackTarget _unit;
if ((_attackTarget getVariable ["TEST_Vehicle_onFire",false])) exitWith {false};
((alive _attackTarget) and {((_unit distance _attackTarget) < 150) and {((_unit knowsAbout _attackTarget) > 1.5)}})
};```
is that enough context?
I'm getting mdmp files in the game's profiles directory like the following Arma3_x64_2023-05-03_21-42-52FROZEN22.mdmp They appear even if the game runs fine, no crashes or freezes. Is there way to turn this off? Each such file is about 64MB.
-noFreezeCheck
but you should post those on A3 FT for Dedmen to analyze
its an indicator something takes too long that should not
Right, will post them. Thanks!
Are there any specific instructions for posting those dump files on FT?
you're passing that to a select/apply or somesuch? No then the params wouldn't work on _x, how is that line used?
exitWith is blacklisted so that shouldn't get into short-circuiting 🤔
compress as zip, saves alot of space.
You could also send them to me directly to save some FT disk space
I created a ticket and added the compressed minidump. How would I send to you directly?
drag&drop in discord, but if ticket is there you don't need to also send it to me, I'll see the ticket
Yeah no that definitely doesn't short circuit, it fails the very first check "Feasibility check failed: TooManyInstructions"
Maybe whatever gets passed as input into the _unit parameter, maybe that comes from select/findIf ?
the three uses:
TEST_fnc_groupIsFightingSomeone =
{
scriptName "TEST_fnc_groupIsFightingSomeone";
params ["_group"];
(((units _group) findIf {(alive _x) and {[_x] call TEST_fnc_unitIsFightingSomeone}}) >= 0)
};
---
_stance = ["UP","MIDDLE"] select ([_unit] call TEST_fnc_unitIsFightingSomeone);
---
TEST_fnc_cond_unitUnstuckLastResortBeam =
{
scriptName "TEST_fnc_cond_unitUnstuckLastResortBeam";
(not (_isUnderPlayerCommand) and //unit is not under player's command and
{
not ([_unit] call TEST_fnc_unitIsFightingSomeone) and //unit is not involved in direct fight
{
(_stuckDuration > _stuckDurationThreshold) and //unit stays stuck long enough and
{
(not (TEST_Unstuck_HiddenOnly) or //unstucking in player's sight is allowed or
{
([_unit,50,500] call TEST_fnc_ForYourEyesOnly) //the unit is not observed by any player closer, than 500m and there's no players closer, than 50m
})
}
}
})
};```
uff weird code 😢
both just call it, but where does _unit come from
I'm thinking this may not be short-circui... nevermind there it is
(((units _group) findIf {(alive _x) and {
that again, and code
so that one is also fixed then
3rd - function gets _unit as parameter to execute: case ([] call TEst_fnc_cond_unitUnstuckLastResortBeam) //so no explicit parameter for this call but just within same scope
2nd:
private _units = units _group;
{
private _unit = _x;
if ((toUpper (currentCommand _unit)) isEqualTo "GET IN") then
{
private _assignedVehicle = assignedVehicle _unit;
if (alive _assignedVehicle) then
{
[_unit,_assignedVehicle] spawn TEST_fnc_EmbarkVehicle;
};
};
}
forEach _units;```
which then has the said check
anyhow the 1st one is likely the cause from what i understand
Okey I did a playtest with lots of mods and found no issues 🤞
Playing Arma with lots of mods and not having any issues is arguably more unusual 🤔
2.12.150589 new PROFILING branch with PERFORMANCE binaries, v5, server and client, windows 32/64-bit, linux server 32/64-bit
- Tweaked: Optimized configProperties performance when most of the entries are inside the passed class (not in a parent)
- Tweaked: Optimized configClasses performance
- Tweaked: Added Short-Circuiting to configClasses, configProperties, forEach (array)
- Tweaked: Short-Circuiting is now enabled by default
- Tweaked: diag_codePerformance now has 100ns precision (previously only 1ms)
- Tweaked: addTo/removeFromRemainsCollector is now working with dead characters - https://feedback.bistudio.com/T168091
- Tweaked: Added log context for "SimpleSerialization" warnings
- Tweaked: Optimized arrayIntersect performance when both arguments are the same array
- Tweaked: Added error message to addGoggles/addHeadgear/addVest/addUniform/forceAddUniform when trying to add an item into an incompatible slot
- Fixed: Some Eden Editor attribute slider textboxes stayed empty (since v3/v4)
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
So it seems that if there is an issue with isNil returning true when its not and code count array on the latest profiling.
_check = [];
_count = {_check pushBack _x; isNil "_x"}count [1,{2},"3"];
[_check, _count]
_count will return 3, even though _x is not nil for any of the array indexes, as evident in the return value where [_check, _count] is [[1,{2},"3"],3]
I have not tested any other case as I have limited time
because _x variable is never set (with short-circuiting)
I'll add a check for that, thanks
You don't need to put so much effort into making a repro, a simple description of what's wrong might be enough
Are there any other commands that read a variable by name 🤔
The reason I needed to make a repro is cause it's spamming my anti-cheat with false positives but I had no idea why it was doing it lmfao
You can use
#if __GAME_BUILD__ == 150589
#endif
to detect the bad version to workaround it for now, we'll push fix tomorrow
Tweaked: Short-Circuiting is now enabled by default
to compare before-after performance we need to use stable vs perf branch exe now, correct?
thanks. we have a bunch of things, but didnt get to test it yet. like nametags, group icons, target indicators, custom hud, etc
if i got it right, potentially some code restructuring can help with short circuiting
conditions (else) and lazy eval could be neat if can be support
atm its this tricky decision between check the fast conditions first that are mostly true, or do the expensive first/earlier so bunch of other checks no longer have to be done
else and lazy eval are next on my list. I should get that working next week
https://pastebin.com/CC1pEy8S
sample of condition layering atm.. 😬
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
For that I also need to up the instruction limit.
And, that one for example wouldn't work because it has a loop/blacklisted command inside the count on line 33
(configFile >> "cfgVehicles" >> (typeOf _unit) >> "isPlayableLogic")
=>
(configOf _unit >> "isPlayableLogic")
processing lazy eval and if/then is simple-ish enough.
Processing a nested loop is oofie.
In theory if I can ensure the nested loop will also run short-circuited, I could just run it.
The performance overhead for that is garbage tho
or I could re-implement all loop types, which.. no
some guidelines for restructuring code/recommended code design with SC could be very useful 🙏
toUpper (lifeState _unit)) isNotEqualTo "INCAPACITATED"
pointless toUpper, lifeState returns uppercase.
({alive _x} count (crew _unit)) > 0 should use findIf
There will always be limitations.
There is a script command Diag_testScriptShortCircuiting {...}
that, if your script isn't SC capable, tells you why.
I think that's about all you need to know for restructuring
or just use !=
wasnt is[Not]EqualTo faster than ==/!= ?
well he didn't have to 😅
[
[{"hello world" isEqualTo "hello other world"},"0.000266","100.0"],
[{"hello world" == "hello other world"},"0.000265","99.4"]
]

well no then 😛
[
[{"hello world" isNotEqualTo "hello other world"},"0.000253","99.4"],
[{"hello world" != "hello other world"},"0.000254","100.0"]
]
😄
[[{"hello world" isNotEqualTo "hello world"},"0.000246","98.1"],[{"hello world" != "hello world"},"0.000251","100.0"]]
[[{"hello world" isEqualTo "hello world"},"0.000256","99.1"],[{"hello world" == "hello world"},"0.000258","100.0"]]
close 😄
But.. if its a match .. 😄
given all your work in this area recently, it would be good to have dedicated channel for sqf performance talk 🙏
yeees, SQF tips and tricks with dedmen pls
most of the things is already described on the wiki tho.
And you can't simply teach people to be good programmers.
diag_codePerformance even works in stable, y'know :P
SQF performance is one of the few things in Arma that isn't a black box.
Well, or at least a black box that you can poke enough to figure things out.
so whats the most efficient way to do target indicators (both awareness level based or just visibility)
I don't even know one way to do that
the most efficient way would be the engine access 😛
in sqf fetch nearby targets, do visibility check
however there is different sqf commands to get targets, some are more efficient for one or the other, some require extra filtering
for visibility can do caching (no need for frame perfect display), do intersect before checkVisiblity
and bunch of other filtering
so all in all very expensive and every optimization helps there
another good exercise - optimize arsenal loading times 👻
no need for frame perfect display
targetKnowledge
if not mistaken, targetKnowledge has a ~5s refresh time by the engine
can be fine usually but for UI display thats too much inaccuracy
no last I checked it didn't have any refresh time
like i use it as the most cheap initial check
_lastSeen = time - ((_playerUnit targetKnowledge _unit) select 2);
...
_condition = ((_lastSeen < 6) || (_lastSeen > 10000)) ...```
did a bunch of real time testing using walls, vegetation, fences, etc with 3d display of age
engine does a visibility check every 5s
for that/the age value
I'm 100% certain it's not 5s but ... 
With short-circuit i don't need to do that?if (!isNull _bob && {_bob getVariable "position_ok"}) then {...i can do that and will not get an error?if (!isNull _bob && _bob getVariable "position_ok") then {...sorry if i talk nonsense.
Just use ACE Arsenal lol
short circuiting doesn't give you error anyway
Currently neither && CODE nor if/then work, and when they do, they both will so..
if you mean if short-circuiting gives you magic lazy eval everywhere, no
if your code doesn't work in normal SQF, it also won't work in short-circuited
There could be code that has side effects in the short-circuited part of a condition. Eg. A && B with A = false will mean that B is not executed. If B does something else besides evaluating to a boolean, it is no longer done with short circuiting. Are you not afraid that will break a lot of existing code?
(Not saying it is a good practice to have such side effects in the B clause, btw. but you know, if it is possible, people will do it 😉
Wha
You are talking about "lazy evaluation"
Different thing
https://en.wikipedia.org/wiki/Short-circuit_evaluation huh.. bad naming that
not related to that at all
need a new name now
What you are doing is more like code translation or transformation, right? Not really related to short circuiting semantics like at that Wikipedia link.
inb4~~"cached/simplified bytecode"~~
"Evaluation utilizing cached bytecode"?
yaaay, more buzzwords
Long but makes more sense to plebs like me lol
code-as-operator 🙃
that makes no sense to me 😛
Oh. Well.
ok, i officially don't understand anything then
short-call
I guess all i'm saying is... it's like how the optimisation page https://community.bistudio.com/wiki/Code_Optimisation is just called "code optimisation". It should be something that a non computer science degree holder understands / can find, i guess.
QSQF quick sqf xD
(i really like that wiki page btw, has been very useful)
although it has an error
foreach((allunits+alldeadmen)
😱
(Was a joke)
Btw no issue reports over night so seems good?
Will push a fix for that isNil thing today and then we'll keep it over the weekend :x 🤞
(i didn't know allDeadMen was a thing!)
Are you sure?
foreach((allunits+alldeadmen) select{_x call BIS_fnc_objectside==east});
had no issues so far with latest build, but couldnt test much yet either
Had Antistasi running last night with my group, no issues reported or in the logs.
I was joking 😅
After v5 prof in official warlords eu01 I have no longer 3d players nicknames in 60 m radius from me, and no any nicknames on a 2d map too
all ok in stable
@whole cloud Found issue here on the profiling^
(ah sorry i thought it was different chat)
i dont hear any report of the same issue on EU11 Warlords Redux (probably cuz the server use different icon from vanilla).
To clarify, no Warlords 'exclusive' players nicknames in v5prof
Whatever you'll call it @whole cloud it's super cool that these optimizations are ongoing!
Fast mode? nice and unprecise 🙂
any script errors in RPT?
search for the word "error" found only this
20:15:21 Error: EntityAI SubSkeleton index was not initialized properly (repeated 0x in the last 60sec)
sending rpt when i test in in prof
https://drive.google.com/file/d/1OEKrd13WYpIGpa-LsoOijy7fVTIrU--t/view?usp=sharing
"shortcut"/"shortcutting" so you don't have to change anywhere it's already called "SC" 🤔
EnSQF (Enhanced SQF), and we can forget about that other bad En language. 
Isn't this quite literally what's called Code Specialization?
Unless I didn't understand the concept, it seems like it
Its basically a JIT compiler/translator, but not into machine code but into a different better VM 😄
Just to get it right, "short circuiting" is done automatically now ?
we don't need any special syntax to use ?
yes
2.12.150600 new PROFILING branch with PERFORMANCE binaries, v6, server and client, windows 32/64-bit, linux server 32/64-bit
- Tweaked: collect3DENHistory command was always recompiling provided code
- Fixed: Short-Circuiting not detecting a case where isNil is not allowed
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
So sad pinned messages limit is reached, so now I need to start unpinning the 2.08 profiling builds from one year and 2 months ago
Also look at that build number, isn't it clean? neat
inb4 collecting all those into single pinned megamessage... until that reaches message length limits quickly and that becomes a pinned thread or something
rapid SQF 😁
SQS: super quick sqf 😉
I have encountered issue with newest Profiling and ACE mod, if you will try to open Ace medical menu (by ace self interact or keybind) arma will hard crash or give a error with line ~59-60 in ACE, if someone could see if can replicate it, all you need is CBA_A3 and ACE
works fine while using stable version, it worked fine with profiling few days ago
there was a person in #arma3_troubleshooting that had vanilla game crashing with newest profiling branch too, so that might be something interesting
crash? can you give crashdump?
Ok have repro
status access violation everytime
i can give it too if you want, just tell me where it is
you have two in PM
The part that takes the longest time about checking the dumps, is my windows explorer freezing for 2 minutes when i do a drag&drop
We're reverting to v5
that has the isNil bug, which atleast doesn't affect CBA or ACE (besides one api func) so 🤞
oof I have space for 15 alt syntaxes for a command, ace medical UI uses a command that has 16 alternatives
Mh I should have space for 31 
But I know why v5 isn't affected 
So v5 should be fine
omg am stupid can't count
31 << (64-5)
should be
31 << (63-5)

Fun world where each bit matters
If you have 16 or more alt syntaxes for a command, it will crash.
And == operator has exactly 16 if it cannot determine what type the argument is
ACE does
findIf {_category == _x select 1}
where _category is a string.
in v5 it could see that left side argument would be a string and removed all the alt syntaxes.
in v6 it only checks the right argument (because prep for if/then support), which cannot be resolved before the loop. So if ACE had it swapped to _x select 1 == _category we wouldn't have that problem 😄
I now know how to do that better and more efficient next week
But. We're suffering for a good cause!
[
[{_category = "drag";ace_medical_gui_actions findIf {_category == _x select 1}},"0.011891","100.0"],
[{_category = "drag";ace_medical_gui_actions findIf {;;_category == _x select 1}},"0.004100","34.5"]
]
down to 34%
almost 3x faster
oh i was wondering why servers cycled into crash and reboot, they got the v6 cookie 🐍
Please send me some crashdumps from the servers, they probably don't run ACE
ye and v5 breaks WL scripts, so back to v4
can you send me RPT from broken WL script?
What script, and why noone tell me that yesterday 
I got some weird issues with the Save As UI in Eden Editor.
List keeps autoscrolled randomly
Typing into the File Name edit box moves the caret but does not add characters
I've never seen that before so maybe it's related to profiling?
Eden just go save-as
and try to type into filename?
cannot reproduce on prof v7 (:u)
I get no autoscrolling and edit box looks normal
I have had that very occasionally over the last...jeez, year+ (not prof). No idea what causes it, closing and reopening the dialogue fixes it. When I say occasionally I mean like twice that I can remember.
Wow that script error deserves a medal
_groupTypes = "TRUE" configClasses (BIS_WL_cfgGroups >> ["East", "West", "Indep"] # _forEachIndex >> _faction);
Leads to
count ("TRUE" configClasses configFile); -> 0
count ("true" configClasses configFile); -> 1536
All hail Warlords for writing true so weirdly (that btw also bypasses the previous performance optimizations in configClasses)
is totally happy it ain't his script error 😁
that will come, after those getting fixed 🤣
Oh wow.. Its a copy paste fail
Instead of
if (x) {
abc
}
d
I did
if (x) {
abc
d
}
yaaay
see, nothing is wrong just swapped order of some lines 😁
broken since 150553, but only inside configClasses/configProperties, and only if you bypass the optimziation that checks for "true" string in lowercase (aka when you write "true" the WRONG way 😠 )
tRuE
I guess that's what happens when you write 2 thousand lines of code in a week and then push it to production :x
We might push v7 tomorrow, fixed all the things.
I'll upload a test build in an hour or so if anyone wants to pre-test :x
+1
yaaaay, more testing at friday evening
We always said profiling branch might be unstable.
Now we can finally live up to our promise
Linux 
linux isn't done building yet and I bed
Good night then! Maybe tomorrow 
if noone reports issues we might release v7 tomorrow
I see. Happened to me today like 5 times
I'm getting this error when using the "End Scenario" module:
9:19:25 Error in expression <Mission_end" call bis_fnc_rscLayer;
{_x cuttext ["","plain"]} foreach [_layerNoi>
9:19:25 Error position: <cuttext ["","plain"]} foreach [_layerNoi>
9:19:25 Error Generic error in expression
9:19:25 File A3\functions_f\Misc\fn_endMission.sqf..., line 75
Version: 2.12.150589
I saw that error message with v5 and first come lots of Overflow messages then error ```21:08:52 Overflow
21:08:52 Overflow
21:08:52 Error in expression <ssion_end" call bis_fnc_rscLayer;
{_x cuttext ["","plain"]} foreach [_layerNoi>
21:08:52 Error position: <cuttext ["","plain"]} foreach [_layerNoi>
21:08:52 Error Generic error in expression
21:08:52 File /temp/bin/A3/Functions_F/Misc/fn_endMission.sqf..., line 75
21:08:52 ➥ Context: [] L69 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
[] L77 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
[] L80 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
21:08:52 Overflow
21:08:52 Overflow
but don't get it with v6
!isNil "ABC_mission>
14:09:15 Error position: <waitUntil
{
sleep 4;
!isNil "ABC_mission>
14:09:15 Error GIF pre stack size violation
Is this a new error msg?
It was caused by ending a line with &&
Can you show that line?
The message is maybe a year old
Thank you
Question is if v7 is fine 👀
Tested in v7, end mission thing via the end scenario module is fine there
though I don't understand why it was broken in v5.. but whatever was the cause is fixed now 😄
waitUntil
{
sleep 4;
!isNil "var_1" &&
!isNil "var_2" &&
!isNil "var_3" &&
!isNil "var_4" &&
};
This triggers it.
Is that even syntactically correct? The last && should not be there, right?
Obviously yes. It's about the error msg, that I hadn't seen until today
The error message is old. But it got a new name. I changed all the "generic error"
That should definitely be a compile error. Ultra weird nice find
@quaint flame u good at breaking things? we may have a QA position for ya 😄
I read here rapidSQF is on by default now, this mean we don't have error messages anymore?
What do you mean by error messages
speaking of error messages, if there is script error, can it hint if the rapid SQF was used (if there is skip variant, if not then ignore what i just wrote) ?
not really.. I don't think so
➥ Context:WW2...\stringtable.xm
still something bugged there
- lack of space after the:
- one character cut off
Error in expression <ssion_end" call bis_fnc_rscLayer;
{_x cuttext ["","plain"]} foreach [_layerNoi>
Error position: <cuttext ["","plain"]} foreach [_layerNoi>
Error Generic error in expression
File /temp/bin/A3/Functions_F/Misc/fn_endMission.sqf..., line 75
➥ Context: [] L69 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
[] L77 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
[] L80 (/temp/bin/A3/Functions_F/Misc/fn_endMission.sqf)
seems from SC
Hi, is there a way to force A3 to use DX10?
yes it's called playing Arma 2
Because A3 uses DX10 when you start it but why and for what reason 🤷♂️
the only reasons i remember A3 used DX10 were some very old NVIDIA GPus which aren't DX11 compliant but if there is way to force it ... i'm not sure if there manual switch, more likely it's auto based on some detection
diag_log diag_activeSQFScripts
Seems to log weirdly
16:43:30 [["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",true,88],["Module Init","/temp
16: 43: 30 [
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init",
"/temp/bin/A3/Functions_F/Modules/fn_moduleInit.sqf",
true,
88
],
[
"Module Init","/temp
It's cut off for some reason. And what's the /temp at the end?
copyToClipboard str diag_activeSQFScripts
Works as expected
Line length limit? And /temp in the end is just the start of a path, like the ones above?
You're right
I've never noticed that before
So the limit comes from diag_log command?
It would be good if someone could look into the code and totally eliminate the need for DX10
ReShade log from my RX580 12:31:57:320 [05368] | INFO | Registering hooks for "C:\Windows\system32\d2d1.dll" ... 12:31:57:320 [05368] | INFO | > Delayed. 12:31:57:320 [05368] | INFO | Registering hooks for "C:\Windows\system32\d3d9.dll" ... 12:31:57:321 [05368] | INFO | > Delayed. 12:31:57:321 [05368] | INFO | Registering hooks for "C:\Windows\system32\d3d10.dll" ... 12:31:57:321 [05368] | INFO | > Libraries loaded. 12:31:57:321 [05368] | INFO | > Found 2 match(es). Installing ... 12:31:57:327 [05368] | INFO | Registering hooks for "C:\Windows\system32\d3d10_1.dll" ... 12:31:57:327 [05368] | INFO | > Delayed. 12:31:57:327 [05368] | INFO | Registering hooks for "C:\Windows\system32\d3d11.dll" ... 12:31:57:327 [05368] | INFO | > Libraries loaded. 12:31:57:327 [05368] | INFO | > Found 3 match(es). Installing ... 12:31:57:334 [05368] | INFO | Registering hooks for "C:\Windows\system32\d3d12.dll" ... 12:31:57:334 [05368] | INFO | > Delayed. 12:31:57:334 [05368] | INFO | Registering hooks for "C:\Windows\system32\dxgi.dll" ... 12:31:57:334 [05368] | INFO | > Delayed until first call to an exported function.
2 for DX10 and 3 for DX11
that seems normal, it loads d3d10, d3d10_1 and d3d11, no idea what the 3 matches mean, maybe 3 different locations of the file
Does such much time spent in updAttPos indicate some mod attaching a fuckton of objects?
You could split per line and print each yep
I've never noticed that there is a limit.
Well, you could probably check that with debug script.
might need some assumptions about what's being attached to.
2.12.150610 new PROFILING branch with PERFORMANCE binaries, v7, server and client, windows 32/64-bit, linux server 32/64-bit
- Fixed: Several issues with Short-Circuiting optimization
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
TODO 🤣
#perf_prof_branch message
v7 seems fixed this, was it a global problem or only my?
just checked on EU#01 Warlords and all ok
gonna check the v7 if it fixed the missing magazine on weapon when loading a loadout from arsenal.
Connecting to random servers when running v7 on the client works fine, but when i try connecting to a testserver that is running v7 i just get "Steam authentication failed". Older versions like v4 and v5 work fine.
Is this a known thing? Anyone else getting this?
Server rpt just says: 13:45:08 Client: 123 - Kicked off because of invalid ticket: Invalid ticket - Ticket invalid
Client rpt says the same thing: 13:45:08 Client kicked due to failed Steam checks: Invalid ticket - Ticket invalid
||
14:11:50 Error in expression <meHandlerArray set [_x, objNull];
nil
} count CLib_PerFrame_deletedIndices;
CLi>
14:11:50 Error position: <count CLib_PerFrame_deletedIndices;
CLi>
14:11:50 Error Type Any, expected Bool
14:11:50 File tc\CLib\addons\CLib\perframe\fn_removePerframeHandler.sqf..., line 37
||
Version: 2.12.150606
Never had this error until now - should it be expected?
yes, its attached objects
But its not really attachTo
lightpoint on vehicle
Flare projectiles also use that
Why noone tell me that before :U
I need to know all the issues so I can test for it
Ah.. Well.. Their code is nonsense. For one set already returns nil, so writing another nil doesn't make sense.
Also using count while they are not counting anything. The count was probably a old "performance improvement" but when you have to add another "nil" in order to make it work, its a performance de-improvement...
That's just bad code that should be fixed.
But, I fixed his in the past 🤔 I think I need to do that check differently then.
That's just a copy-pasted, slightly-edited (they made it worse and changed some variable names) version of CBA code, that they stripped all the credits from and put their own name on
https://github.com/CBATeam/CBA_A3/blob/master/addons/common/fnc_removePerFrameHandler.sqf#L40
https://github.com/TaktiCool/CLib/blob/main/addons/CLib/PerFrame/fn_removePerframeHandler.sqf#L37
aka stealing other peoples stuff and then putting your own name onto it dick move bullshit
I really wish I wouldn't have to deal with their crap, keep that out of my view please that just makes me angry
Sorry about that, I only wanted to report that {nil} count <array> throws an error when it previously did not
I'll recreate the error using different means next time
If v7 runs on the server i cant connect anymore to my test server that worked yesterday xD
But..
OH
🙃
Guess that doesn't work then
What is repro, just running dedicated server and connect?
I tried it with local-hosted server, and running another client on local machine
you're too slow 😄
#perf_prof_branch message
yeah, just dedicated server and connect
v7 client works fine interestingly enough
uh thats good to know, thanks
now does non-prof client work on v7 server 🤔
I'd assume also no
gonna test it
I'll try reproducing with a dedicated server 🤞
stable client and v7 server same message "Steam auth failed"
Thank you. I'll try to get it fixed today. Probably like 2.5 hours
yep reproes on dedicated server but not local hosted 
Atleast this time its not short-circuiting that I broke 😄
Got it, 10 characters of code missing :harold: Fix is building
Tis be chaos month 
I totally understand it, when i imagine trying to fix up to 20+ years old code 
Sometimes when i look at older SQF stuff from me, i think WTF did i do there.

i just notice that in V6 few hours before V7 drops, it's fixed now in v7.
Don't fell bad for saying that 

We just pushed profiling v8.-1.0 (
) with the MP server fix, replacing v7 silently because I don't want to use up precious numbers
2.12.150610 seems to work fine.. or, well, the dedicated server starts and i can connect to it, didn't test anything else yet
After some time (3h), server has make a crash after seg fault. (linux 32bit, "v7" 150610)
Can you compress me the core dump and send it to me?
preferably somewhere where I can wget it
where can i find this in a docker?
https://github.com/BrettMayson/Arma3Server with STEAM_BRANCH=profiling
Maybe there's a misunderstanding: I have running a docker with profiling. How is the core dump file name and file type? And were is is normally stored? I found in profiles directory only "mpStatistics_xxx.log" and "server_console_xxx.log" but there is no info about the crash.
(i use a different docker as than you mentioned)
sorry, I missed the context above 😄
you would need to configure your docker container to give you dumps
set the core pattern to a path, ideally one you can easily access once the container dies
if you want to modify the value only for the container then you need to run it as privileged and then use sysctl -w kernel.core_pattern=/my-folder/core-%e.%p.%h.%t or some other format
otherwise you'll need to use a path that is the same on both host and container
depending on your dist you might have to increase the size limit of the core dump as well
Thx. If i use this, the next time will there a dump, right? For the crash from yesterday there is no dump file, right?
only new crashes
Yeah I fixed that once but seems there is now an off-by-one.
Should be fixed again in next prof (is also bad in dev branch)
No prof for weekend testing?
I think we've learned how that goes last week 😅
There is nothing to test.
The if then else Support is done but i want to add &&{} and ||{} support before next test
ded do you think it's a totally bad idea if we could get get a new command that does the same thing what && {} does? Like command called "&&?" or something
1- new command
2- same feature as already doable
3- I don't think it is doable like this ({} is code block that is not evaluated, unlike the rest)
I don't think it would be possible, but let's let Mr Dedmen answer 😊
The {} is pretty definitely required for how it works, and even if it wasn't, I'm not sure what the point would be of adding a new command to save, uh, 1 character
ease of use, I can get it
more readable code imo
But then I would ask.. but why
Why add a command that does the same as a command that already exists?
As Nikko said, the {} is required for lazy eval due to how SQF syntax works
I can give you &&? {} but.. why
In the new VM I could do it without {}
But the new VM cannot replace SQF in general, so I cannot let the general SQF compiler handle it
so you could write ```sqf
if( _cond1 &&? _cond2 &&? _cond3) then
it would be more cleaner imo than having to play with those {} 🙂
true, but SQF evaluates everything first
if (not alive player && isNil { player setDamage 1 }) then // you're dead
well I dunno about the inner workings of SQF, just dont like }}}}} bloats
yep, but "it is how it is"
SQF executes everything unless it's wrapped in {} ({} is only executed if called)
You can save Code type as a variable to make it look cleaner if you like
ok interesting stuff
so if I understood correctly lazy eval is only possible with the {}
yes
everything not in brackets gets evaluated, then operations are applied
if (false && isNil { hint "wait what?" }) then // will hint "wait what?" anyway
ok thx for explaining this to me 🙂 well still hoping to hear from ded his final say because I don't know what tools he has in the box 😄
Dedmen can't change it because that's how the language works
I thought ded was reinventing the whole language 😄
as it could break backward compatibility, leeet's not 😄
no. he's just improving the VM
alright
In the new VM its atleast possible to do that (simply because it has a jump instruction). But all the scripts need to also work in the old VM so I cannot add special features like that.
Together with other stuff like elseif, ternary operator..
Are the new VM instructions (or will they ever be) exposed to the users in any way? (like the sqfc files)
#NotAFeatureRequest
Don't think so
After around 3h the server crashed again (seg fault). Unfortunately the crash dump was not produced. 😦
@whole cloud do you know whether there is something similar in Enfusion like setFileCacheSize, even if not accessible for the user and what's the max default value there?
would need to know that, because I have to decide how much RAM to buy next
thx
also when you gave the example of loading Livonia in Eden and it was using only 1 GB of file cache.
you haven't mentioned graphics settings you're using and it most probably was only with camera above whole Livonia, with limited LOD, since no camera flying very close/low to all the objects.
would this (most probably?) have used (much?) more of that file cache size, because of much better LOD and many more objects displayed (not occluded or not displayed due to limited view distance)?
Buy 32 gigs. 16 is not enough and 64 is overkill
I already have 32 GB, but DDR4 4300 MHz CL15.
and now switching to DDR5.
32 GB won't stay.
I guess I'll go with 64 GB then
but still would like to know then answer from Ded
i dont know that
which map? draw distance? on foot only I suppose?
Sumava, traversed most of the map so I expected more to be cached. On foot and flying.
view distance?
2k obj 4k terrain
in this csse I might return my 64 GB and order 48 GB instead, since 48 GB are marginally faster
You really expected 64gb to give you any perf boost for A3? xD
I mean, you could cache whole game in it, almost.
I've never managed to get more than 8gb ram usage out of it.
If you want a perf. boost better invest in a better CPU.
But I guess since you are throwing away 32gig of ddr4 you might as well burn money on 64 gig ddr5 🤷
capacity? no
frequency vs. timings yes
thus 48 GB of faster RAM
when I'm playing A3, after several hours on official Warlords (Altis), it uses like 17 GB + Steam and Discord and nothing else.
A3 exe like 3 GB.
so 20 GB.
and if I can't fill even 4 GB of RAM cache, whatever I do, I don't see any need in 64 GB then.
even 48 GB is more than enough, in that case
up to 48 GB DDR5 is single rank, thus can do higher frequency and lower timings than 64 GB and result in better FPS
Yeah better bandwidth and latency will help
I don't think more than 32GB will be helpful, that too mostly if you're doing other things in the background
I did have issues running out of virtual memory but increasing page file mitigated that (with 16GB RAM)
Now I just have issues of VRAM which I really hope get sorted out at some point 
It actively impacts my experience of playing with GM assets especially
I don't know if it's fixable or not - but sometimes, when you start the server with mods loaded, and close it too fast, the Arma 3 process is stuck in background. If you start the server again, it prints in RPT (for certain dlls) that they are still in use. As I'm running performance, I write here. But I think it's the same issue on main branch
Perhaps Windows problem
Issue with the perf binary (client): OPCOM mod (https://steamcommunity.com/sharedfiles/filedetails/?id=2651774379&searchtext=OPCOM) hangs on init while spamming array index out of range errors in the rpt log. It works fine on the normal branch.
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
11:15:09 Array index out of range
.... (infinity)
lol why you posting this here @gusty viper, its not devs issue that mod authors cant code for shit
Uh, there are major changes to scripting support on the current perf branch. If anything started spamming errors on perf branch then I'm sure dedmen wants to know about it.
no errors > game update > infinite errors is not a sequence that usually leads me to assume the problem is the mod author is incompetent
I mean they might be but not for this reason
the error is not the issue; the difference between the current version's and this branch's output is concerning, as explained above 🙂
the script may be at fault, but better safe than sorry - either the current version does not spot errors, or the new one creates errors where there shouldn't
probably has lazy evaluation incorrectly setup, and author never checked his array sizes lol
the issue should arise on the current version, dontcha think
i dont have any issues on latest pref
Well, there it is, folks. This guy doesn't have any issues so it's impossible for there to be any. Pack it up everyone, we're done here.
Does he have public repo for this mod? or let me guess its probably all binarized ..
let's be sensible, stop assuming and wait for a check 😉
can reproduce hangs on my end on ["Arma 3","Arma3",213,150620,"Development",true,"Windows","x64"] 
Well, the mod works perfectly fine on the normal branch. Also, OPCOM is a very nice mod by a great coder.
You try to say the modder has no clue and writes bad code but you're the one that is looking clueless in this conversation tbh. Maybe try to not jump on fellow modders without a reason?
How does the -debug get the paths for script context? I've noticed it does not match the actual path of the file 
20:32:46 Unknown entity: '& b'
20:32:46 ➥ Context: [] L123 (/DEV_TOOLS/functions/console/fn_initCommands.sqf)
[] L109 (/DEV_TOOLS/functions/console/fn_initCommands.sqf)
[] L71 (/DEV_TOOLS/functions/console/fn_initCommands.sqf)
[] L74 (/DEV_TOOLS/functions/console/fn_initCommands.sqf) <- [] L23 (/DEV_TOOLS/functions/general/fn_addSchd.sqf)
DBUG_fnc_initCommands function file exists at DBUG\functions\console\fn_initCommands.sqf
the path from context/rpt does not exist, tried with loadFile
idk, something in structured text does not like something maybe?
!Workshop\@Advanced Developer Tools\addons\DEV_TOOLS.pbo, yeah looks like pbo name
I see you're building structured text for hints in here.
So quite likely.
we figured it out, Leo uses parseText as some of the BI command descriptions use XML encoded descriptions < etc.
But eg. && has a && b in its description and that does not work well with that ;/
Also getting Array index out of range on Prof while it does not happen on Stable
21:08:24 Array index out of range
21:08:24 ➥ Context: [] L587 (A3\functions_f\initFunctions.sqf)
[] L634 (A3\functions_f\initFunctions.sqf)
[] L633 (A3\functions_f\initFunctions.sqf)
[] L628 (A3\functions_f\initFunctions.sqf)
[] L630 (A3\functions_f\initFunctions.sqf)
[] L23 (/DEV_TOOLS/functions/general/fn_postInit.sqf)
[] L37 (/DEV_TOOLS/functions/general/fn_postInit.sqf)
[] L36 (/DEV_TOOLS/functions/general/fn_postInit.sqf)
[] L12 (/DEV_TOOLS/functions/console/watch/fn_addWatch.sqf)
[] L382 (/DEV_TOOLS/functions/console/watch/fn_addWatch.sqf)
- Load game with ADT and
-debugparam - Add a watch field
- Pin the watch field
- Observe error in RPT
welcome to the club 🙏
It's actually slowing my CDLC work down 😅 press keybind to open last RPT in VSCode, try to skim for relevant log, get overwhelmed by Array index out of range errors and ton of context, 
guess it would be nice to know which array is it related to 😁
Hi,
i played around with the settings, because my server (32bit linux v07) crashed (332 Segmentation fault) after some time.
I use "-maxMem=4096" parameter. Here my findings: If I play antistasi on different maps to fill the memory, most after the second map the server crashed. The "#monitor" shows as an example 3278 MB (other examples: 2981, 3274 MB, 3275 MB, 3276 MB (v4), 3281 MB (v1, v2)). I tried also "-maxMem=3071". Server crashed by some values slight over 3GB (3018 MB). If i don`t use maxMem (standard 2G), the server is stable. Hope this is helpful. Client was 64bit v07 (i tried vanilla client also. Same thing).
I am not sure if this is the cause of the issue, but worth mentioning regardless: Linux dedis have a bug where maxMem is parsed as a signed integer, so you can not use the value 4096 since that would be parsed as a negative value. The correct usage on linux would be -maxMem=4095. Also if at all possible then use the 64bit version
As mentioned i tried "-maxMem=3071" also and it crashed. I tried "4095" with same result. And in this channel i don't think it is a proper way to use a different version because the current is crashing. We should investigate the reason. (And I don't have the choice to switch to 64bit executable (The processor is a 64bit btw but the discussion why it's crashing with 64bit exe was fruitless)).
Was it working previously? And is the whole OS 32bit, if yes could be running out of available total ram.
Yes it was stable before. I tried it with different version but no one is stable. I played many bulwarks and there you are "pinned" to an area. maybe this was the reason that it not hit some barrier. The server has 8GB RAM so it should not be a thing. Now i delete the profile folder. Maybe this helps.
Reason I'm asking if the OS is 32bit is that you'd be limited to 4GB total anyway because 32but can't address more.
My condolences
why? 😉 It runs very good 🙂
But that's me out of ideas then 😅
On windows there's some really odd behavior around the 4096 MB used mark aswell but you can get rid of that with a custom malloc and high Maxmem.
Maybe Linux has a similar issue but seg faults instead.
to use a custom malloc is not an option on linux as i know.
Idk, but all the ones I've seen only have DLLs available so seems like no one makes any for Linux even if it were possible.
The joke is, the server has runned with high maxMem. That's confusing
The only i changed was my gaming rig. Now i play with ultra settings. In the tests the server is only occupied by me. Maybe here is the problem: It is very hard to hit the barrier of "3200 MB" if you play with low settings. Maybe the problem is when one player "fill" the server with the data and it is not so much a problem if it caused by more players?
Your client settings don't affect the server. If the issue only happens on perf then make a FT ticket with dumps and logs and switch to stable
The client settings affect the server in that way that if set your graphics settings is set to "low" instead of "ultra" the server has not to provide so much data to the special client. It is harder to hit more "server memory allocation" if you stay in a specific place (thats what i mentioned before).
And in my opinion i am here to evaluate if it is a "I-Problem" or from Arma. So it would more helpful if can reproduce the issue than to say "go to stable and make a ticket". If dedmen or killzonekid want that i make ticket, it will be happen anyway.
The client settings affect the server in that way that if set your graphics settings is set to "low" instead of "ultra" the server has not to provide so much data to the special client.
huh… are you sure?
if you stay in a place of map. it loads to a point. if you drive over the map it loads more data into it. i was thinking that if your view/object distance is higher than it loads more data faster?
good reasoning!
but the server sets your view distance (VD you can change by script still) and you cannot have a view distance that is bigger than the server's iirc
object distance, that I don't know, I guess I would have to ask Dedmen
I would tend to believe they are streamed in with the terrain but only shown when the object is in the object's VD range
in antistasi if stay in base loading is stopped at some point. after that it loads more if you drive around.
But back to topic: Can some one reproduce the issue with loading more than 3281 MB on a 32bit (linux)server?
wow.
This was an issue from a UIToTexture related change from 30th march, I did a copy paste typo.
That should've appeared way sooner 😄
From preprocessor
Preprocessor inserts #line marks which contain the filename. When compiling, these names are remembered and stored
In this case, I assume its using SQFC? In that case ASC is computing and storing the names into the bytecode
yeah I use sqfc
ADT is not on github? 😢 I don't want to download mods to look at their scripts.
I can DM it 
I mean the scripts
Cc @random isle 🙂 that was a good report!
Atleast i can do.. wait what 
Thank you for breaking all my things 🤣

Yeah that's same error
allControls _grp was broken
Well, great news that you found the cause! 🎉
gib Windows PBO/zip integration 👀
I can give it to you if you want, but its currently still closed source until I finish cleaning it up
And obviously I have atleast one bug to fix 😄
beware as "nu" means "naked" in French
nu
nu party
no one believed me 😭
#arma3_feedback_tracker message
that channel is on my todo for monday I won't read it now 😠
Je suis nu ici
TMI, TMI!!!
was setDate's behaviour changed on profiling?
using it in a script is not immediate (a noticeable delay apparently impacted by setTimeMultiplier)
it creates some kind of "titleCut" effect, although that may be camera's HDR, IDK
like the date is set (confirmed by date check), but then the lighting changes
I even tried using forceWeatherChange (it does not impact setDate, as expected)
confirmed, sun orientation/shadows and aperture changed
// [89.8342,false,74.7513,9469.6,30,55,70,200,false,0]
// [39.5331,false,12.9599,245.802,30,55,70,200,false,0]
```what is this sorcery```sqf
setDate [2001, 01, 01, 16, 30]; // OK
``````sqf
setDate [2001, 01, 01, 16, 30];
setTimeMultiplier 0.1; // not OK, delay <_<
```confirmed, `setDate`'s application is impacted by `timeMultiplier`
what if you spawn setTimeMûtiplier
Can't think of any change near that
it might have been there for a while there 😐
as long as timeMultiplier is set to 0.1 the delay will happen; my guess is that setDate waits for the next daytime frame to happen (slowed down with setTimeMultiplier)
if you execute it in the same frame then i guess it is expected this is why i asked to spawn settimemultiplier
I mean even after that
have you tried? add 0.1 sleep
I tried this```sqf
0 spawn {
setTimeMultiplier 0.1;
setDate [2001, 01, 01, 16, 30]; // delay
systemChat "setDate 1";
sleep 3;
setDate [2001, 08, 14, 10, 30]; // delay
systemChat "setDate 2";
};
and on stable?
regardless (i think will be the same on stable) make a ticket
confirmed, stable as well
ticket: https://feedback.bistudio.com/T172551 - thanks!
edit: added more details as there is a delay with skipTime as well, not happening on frame (but this seems unrelated to setTimeMultiplier)
can you also figure out why there's always a skip at 0:00h, even changing the weather drastically sometimes? (any branch)
what forceweatherchange skip?
Somebody recently reported to me that the eachFrame setDate way of making client side "caves" got broken as server re syncs the time every second. So deffo there was some changes around time stuff.
Caves?
Arma daytime lighting doesn't work very well for constructed caves. People sometimes make it better by forcing local night for people inside the cave.
Yep, since some recent patch it's borked.
Time was adjusted to keep it same as on server.
Yep, since some recent patch it's borked.
there was no work in this area AFAIK
on a scale from 0 to 10, how possible is a serverDoesntSyncTimeAndWeather = 1 description.ext setting?
Command to disable it per machine would be better.
server-side only
I cannot find any network time sync that resets clock/date.
When a player joins into game, they get one time set message, and thats it
Same for https://community.bistudio.com/wiki/time
That is actually only set once on join and not resynced later 🤔
Ahhhaa! Tricky
The weather update message contains a time (in seconds in current year
)
and if more than 10 minutes off it will also not set/reset the date, it will advance the time by the number of seconds its off (may be negative)
Sneaky hidden inside weather
Seems possible to turn that off, but what will be the implications of disabling weather sync.. dunno 
ah…!
is it just "aesthetics" or are some things based on it? 😬
I cannot think of something, from the outside
but there may be internal scares
If you break all vanilla scenario desired TOD and weather, I will find you 
To add on to this, I used setDate locally every second to change the hour in mission for people inside my caves for darkness, it worked in April 2021.
The exact same method doesn't work now as you just get massive FPS drops locally and night/day cycle flickers. But doing it with onEachFrame works exactly as it used to.
Still can't find anything about the weather sync being changed going back till 2017
It would be nice to be able to disable the sync, people would have to realise that it could cause unintended behaviour.
It's also not like manually syncing the weather/time is something the Arma community is new to handling on their own
beSureYouKnowWhatYouAreDoingAsDateTimeAndWeatherShouldBeManuallySynchronisedThenKThxBai = 1;
a skip in frames. a small delay i.e. just doing nothing, 23:59.59 -> delay -> 0:00.0 or maybe 0:00.0 -> delay -> 0:00.1
The weather sync in MP has been broken since Sept 2021 (#perf_prof_branch message). So any possible fix would be great. It's so sad that we have been unable to use dynamic weather events in our ops since then
The client and server overcast values diverge rapidly. Both climb but at different rates.
But the complaint now, is that weather sync happens too often, the exact opposite
hmm ... we have stopped using fog changes, as it just does not sync
I'm happy to run some tests this evening to see if the previous issue is still there ?
imo the weather sync tick period should be configurable , we skimmed it in chat
@whole cloud when to expect -flushMaxFileCacheSize= to enter the size of file cache size and at the same time this is the size starting from which to flush (when tabbing out), if this size is reached and at the same time it sets the file cache size.
so 1 command for 2 things
and setFileCacheSize stays for currently observed behaviour
so basically one has to use only one or the other command, not both at the same time
I recreated the same test linked above, using the latest perf build on client and server. The overcast values on the dedicated server diverge rapidly from those on the client. From a starting value of 0.3, after a few mins the server is at 0.5 and the client 0.310
do you have a concrete date when this happens?
just did on stratis: setDate [2035,7,6,23,59];
should be any date.
interesting, no setDate, no delay
Set the date on Eden.
nevermind, it stil delays. I set 23:59.00 on Eden, and it decided to set time to 23:59.59, so when I loaded mission was already 0:00.00. 
so 23:58.00 should go to 23:58.59, so you have a minute to wait, then it'll delay at 0:00.00 🤣
Hey Dedmen, thanks for your dedication to the Arma 3 community. Do you think the developments to the performance branch will help with fps in the future? Or is it more game stability?
so the issue is with set Date, Editor date or both?
We do fps things from time to time.
Currently working on the thing making scripts run faster, if your FPS issue is a slow unscheduled script, that might help 
ah ok 🙂 thanks for letting me know, keep up the great work!
2.12.150657 new PROFILING branch with PERFORMANCE binaries, v8, server and client, windows 32/64-bit, linux server 32/64-bit
- Added: "-dumpAddonDependencyGraph" command line parameter
- Fixed: isTurnedOut was not working for Offroad FFV position - https://feedback.bistudio.com/T171460
- Fixed: VTOL throttle forced to 100% when player is not the leader of their group - https://feedback.bistudio.com/T169494
- Tweaked: "OnUserDisconnected" Event Handler should now fire more reliably - https://feedback.bistudio.com/T172436
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
omg markdown 
The spacing 
I blame discord
I know how to fix it for next time but I'll just leave it like this because its funny

it also supports numbered lists, just doesn't document it (at least it didn't last time i've checked)
- like
- this
1. this```
skipWhenMissingDependencies this one feels bit weird in prof.
2 clients could end up with different configs depending if having prof or not.
yes
it's both
setDate, Eden date. No setTimeMultiplier, no setAccTime. No mods or scripts.
Yes it seems there is a bug in weather renderer somewhere when the day is changing, so will have to look at it at some point. On the other hand I found a way to optimise the date calculation routine which is used heavily in the game.
boom perf +10 FPS
@boreal wigeon
Hi, last time you was able to confirm my circumstances with a linux 32bit server(performance v8) in a docker and a 64bit win10 client (vanilla). Would be nice if you can confirm actual issue:
- start server with parameter "-maxMem=4095" and with a multiplayer map (for example combat patrol missions in different terrains)
- joint as admin and go on map/mission
- check with "#monitor 2" if memory exceeds 3280 MB. If this is not possible with for example "malden", go by "#missions" to another combat map
- -> server crash
Will it happen every time? If so I can test it.
But seems just a memory crash or?
Yes. 100% of chance to reproduce (at least in my setup). I tested it with vanilla server and with mods and different missions.
Doesn't happen for me, after some playing as Zeus I got it up to 3226 MB. Can't get it much higher 🤔
After some more testing got it above 3500 MB, while server fps wasn't great, it didn't crash.
are you tested it with prof/perf branch?
yes
i tried it in a different docker but it crashed again (671 Segmentation fault). 😦
Have you forced steam to load in 32bit?
Why are people still using 32bit servers ?
Because they have no choice with a 64bit processor without AVX
the rest is more than capable to run arma 3 server
64bit processor without AVX? Are you running first-gen intel or some other reeeaaally old CPU? Perhaps it is to be expected that support for 13 year old systems isn't great
These are the requirements from the 10 years old Arma 3:
https://arma3.com/requirements
It says it support a Athlon Dual-Core from 2003-2009 (like an Athlon 64). It is the predecessor from Phenom (launched 2007) and my processor (Phenom II) launched 2008. So I would say A3 would support my processor. So why should the support not be "great"?
Especially for the 32bit branch.
My 32bit linux arma 3 server runs 60 server fps with not problems and support a lot of ai. For small server with let's say 12 player it is sufficient. 🙂
Well, I just used the 32 bit binary instead of the 64 bit one
Well, i run out of ideas. I don't know if something in the near of 3200 MB is some boundary in some weird cases?
my processor (Phenom II) launched 2008
Honestly, if you're using a 15-year-old processor, you're consciously asking for trouble, even if BI is somehow forced to still keep the promise (about supported processors) that they gave 10 years ago, when releasing the game.
Especially with the pre-ryzen AMD's which have had a bad reputation with arma as long as I can remember
Also, didn't the thermal update break support for really old GPU's, or was that later fixed? If the minimum specs listed aren't true anymore for GPU's, why assume that it holds up for CPU's
I am representating a minority of Arma 3 users, yes. But we are here (especially in this channel) to report bugs. And as long BI not drop the support officially for my processor or 32bit in general i will use it. No fuzzy "your processor is old so expect no support" will change it.
Note that I have never said that.
It was more like literally just "expect more problems than everyone else"
Then send the crash-dumps and logs to feedback tracker, it's no use sending a message in discord saying that something doesn't work. I am not advocating for 32-bit support / old hardware support to be stopped, just saying that your setup is on thin ice regarding compatibility with pretty much any modern software
It is great to see, what dedmen and the other guys achieve with this old code. And older machines profit the most from it.
Although to be brutally honest with you, if dropping support for older (15-yo) processors would mean faster code for everyone else + more time for Dedmen&Friends to spend on other more promising improvements, then I'd prefer they would drop these old CPUs and force that tiny minority to upgrade 😬
I told you some time ago, that before I would create a ticket I have to verify if it is a "Me-Problem" or an issue in genral. This procedure happens in arma_3_feedback_tracker for vanilla and also here in "perf_prof_branch" for (what a surprise) for perf/prof branch. As I said, I will create a ticket when someone can reproduce it.
Why do you think it is no promising improvements to keep the code clean from regressions? And to be brutally honest with you, I think it is senseless to have 150 fps against 145 fps (I know it is not so simple like that and i support the new faster vm also). 😉
I don't think you'll find anybody on here that's running a 15-year-old system so they can try to reproduce the issue. You aren't really accepting the hypothesis that it's a you-problem nor are you making a ticket so the devs can check things on their side. I would highly encourage you to make a ticket if you can reproduce it on perf-branch but not on stable, regardless of whether or not somebody else can, since your crash is very likely specific to your system and other similarly niche / rare setups
Yeah and that's failure in your logic: The handful guys here are not the arma community at all. Here are some crazy guys that support the development and spent a big part of it's time to find bugs and help to improve the official releases with a more stable code. That's my understanding of this channel. Not to discuss if it make sense to use the provided 32bit branch.
I remember that Dedmen made some improvements in code (was it the thermals? 🤨 ) around 2-4 months ago and was then forced to remove them literally because he was using instructions that were not supported by these old CPUs.
Why do you think it is no promising improvements to keep the code clean from regressions?
Again, I really never said that! If something broke it should be fixed, that's normal.
On the other hand, dropping support for old stuff usually lets you have cleaner code (because you can usually remove all those #ifndef HAS_CPU_FEATURE), shorter code, and as a result: code that is potentially less buggy.
You also have less things to test against or remember about, when developing new things or improving old code. As a result, you move faster.
I think you've misunderstood what I was trying to say there
I doubt it, that dedmen has removed TI improvements because of old CPUs. One big discussion after the first implementation was to taken into account the VIPER situation in vanilla campaign and as a special unit in general. Maybe you mean that? I cannot remember such a thing like a Thermal-CPU-Thing. May we have ask dedmen?
Maybe. A "only text" communication miss a lot of other "side" communication channels.
I guess he'll read that anyway, but feel free to ping him if you want. I'm 99% sure that I read something like that. Maybe it wasn't thermals. He had to revert a change that he made earlier - that's what I remember
i would just support things that win 11 supports, which is NO 32bit

I'd create the ticket anyway, you can reliably reproduce it and there's some things that, despite them not being easily reproducible, are still game bugs.
I had my HCs crash on profiling some time ago, couldn't reproduce it, opened FT ticket with crash dumps, heard back it's actually some odd bug in profiling. Everyone happy.
Uh, win 11 supports 32-bit applications. There just isn't a 32-bit version of the OS. You can still run 32-bit Arma on it if you really want to.
and suffer the consequences
Goodluck with that
Just a quick question. Recently we're getting a somewhat error spam in the RPT, always like:
0:44:03 House 18fcde63580# 1813737: pier_f.p3d (from) not found in the operative map 0:44:03 House not found in the list
Is this connected to any recent change in performance branch?
1 - Dedmen going happy to home after a long day of work.
2 - Someone calls Dedmen back before he left the building.
3 - "Hey! Come back! 32 bit 15 years old processors now!"
4 - Dedman calls the Pizza Man.
I would say point 2 to 3 do not apply for dedmen. Especially for the perf build.
That's too much memory for 32bit
I do the things that make most sense to me. And supporting the maybe dozen people that run 32bit linux (out of which i only know one) isn't high on that list.
So don't expect a fix soon. Maybe removing maxMem to let it choose a sensible value by itself would help
It has fallback for old GPUs. There are still a couple hundred players on that
For quite a long time I wanted to drop 32bit support on perf/prof branch.
We have no guarantees to uphold there, it would make pushing updates faster and it makes experimental changes easier when i can ignore 32bit (which I'm already doing, SimpleVM is off on 32bit builds because I can't be bothered to waste my time)
Now i don't care about 32 bit anymore. If i have a new thing that needs extra work for 32bit, i just disable it and skip wasting the time.
Sadly there are some features that have to work everywhere though. And we cannot drop 32bit client because it has too many users (on stable branch at least)
Finding someone to reproduce on a build configuration that basically nobody uses is unlikely to happen
That said, I'll happily wait for you to find someone to confirm the issue
In Arma basically no one has 140fps. We're all tumbling around at 30-60
It was multithreading improvements that i made during the aim to make some script commands use more CPU
But we can happily skip 32 but because we know that everyone can run 64
Does windows 10 even have a 32bit build?
Not recent at least. Last time touching that stuff was months ago
Yeah true. I just fix it when I get home
Any chance of seeing those return once Win 10 goes EOL in 2025? Given win 11 won't even run on anything older than Haswell... (min TPM 1.2 requirement...)
that, or is there a way to detect whether such instructions are available or not
There are usually flags that can be checked I think? But not at all my area of expertise, just know that stuff like HWiNFO can report these features
Ask me again in 2025
There is, but the performance overhead of checking is too large
keep a bool on load?
Checking bool is too expensive
oh! ok :3
Interesting
I could patch the assembly in memory, that would work fine.
But most Antivirus and Anticheat products don't like code modifying itself
Do the check on load and then patch the code live, in-memory so that you don't have to check bools. BattlEye will surely love that solution! 😁 /s
Yes
with 32 bit OS the process address space is usually ~3GB with the rest being reserved by the kernel. with PAE / hugemen kernel you can get a bit more
Wasn't it that with PAE your OS can use a bit more memory but a single process won't be able to ever obtain more than 4GB (because memory pointers are still 32bit values, so you wouldn't be able to address that memory anyway)?
has there been a recent update to the profiling branch? for the last ~2 days ive been getting consistent crashes when opening my map and/or enabling the gps display
switching to the normal build stops the crash
Yes. They are pinned.
Send crash report please, the .mdmp file
have pm'd you a link
Thank you that's a bug in the last update, I'll try to get it fixed by tomorrow
The OS is 64bit. Only Arma 3 is running in 32bit. (if the steam app is running 32bit idk)
120fps is achievable even in the Koth AO with the latest processors and well overclocked RAM
Though the people with these systems are probably "the <1%" of arma users
correct, with hugemen the kernel address space lives separately so the process address space can use the full 4GB
Try playing something that arma is made for, you got nothing going on in that mission
Droggelbecher
2.12.150664 new PROFILING branch with PERFORMANCE binaries, v9, server and client, windows 32/64-bit, linux server 32/64-bit
- Fixed: Geometry LOD Animations were not considered for buoyancy calculation water-contact checks
- Fixed: Possible crash in Simple VM (Thanks @orchid mesa )
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
😒
Ryzen 7000 X3D CPUs absolutely destroy arma.. tight ram timings help ofc
we ran arma benchmark mission on 12th gen i9 and 7000 x3d, x3d picked up about 30 more frames
no OC for both chips
Anyone compared 5800X3D to 7800X3D and 7900/X?
Dammm that's good news, any one know how it runs in say something like antistasi/mike force? Do you keep this high fps?
#hardware_vs_arma is probably the best place to ask such things
Simple VM is just for scheduled code?
Unscheduled code remains the same?
No boost in performance?
For both
No idea about other mods or missions, but on SG Exile i had about 35-70fps with a 9600k@5Ghz at 2700m view distance, depending on location and time to restart.
With a 7950X3D i never drop below about 110fps. Most of the time it's at my 144fps/hz cap.
v9 seems fine btw., server up with it for about 22h now. No issues so far.
q, anyone else observing context details to be cut off in logs, unfinished entry in RPT
e.g. ```
2023/05/27, 11:04:24 File mpmissions__cur_mp.Altis\Functions\client\fn_WL2_killRewardClient.sqf..., line 24
2023/05/27, 11:04:24 ➥ Context: [] L60 (mpmissions__cur_mp.Altis\Functions\client\fn_WL2_killRewa
2023/05/27, 11:04:28 soldier[O_Soldier_TL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
2023/05/27, 11:04:30 BEServer: cannot find channel #237288705, users.card=47
Yes, I have that too but thought it has always been this way
Is that with v9?
v4
I believe that issue was fixed in a recent version
It was fixed twice, I hope.
Not quite sure if I actually did the second fix
I get a strange issue with the IR laser on the current perf branch using ACE+RHS, when I equip an RHS laserpointer e.g. AN/PEG 15 I can on/off toggle the laser just fine. (default keybind L). If I try to toggle to a different laser mode (default Shift+L) it actually changes the equipped laserpointer to the ACE Laser Pointer (Red).
I have yet to check if its caused by the mods I'm using but the problem does not happen on the stable branch using the same mods.
bug in their config I'd say 🤔
Or something is wrong with config reading
I retested with only ACE, CBA and RHS and the issue seems to only affect RHS rail attachments. Vanilla and ACE stuff works fine. Using RHS ACE Compat doesn't make a difference.
So I guess RHS config has a bug that used to be a non issue on stable but now causes trouble on perf.
We just had a server crash on v9, I've sent the dump already to Dedmen. Just to notification here 😛
Hi, I have with the v3-v9 sometimes (very often) crashes in Zeus. No Problems before.
Send crash report please
This issue is gone with v9, btw.
1.52.133187 profiling & performance v8 server and client, windows, linux
- some generic antispam for RPT when logging used
https://www.dropbox.com/sh/582opsto4mmr8d8/3BSy9PdRGm
2.12.150678 new PROFILING branch with PERFORMANCE binaries, v10, server and client, windows 32/64-bit, linux server 32/64-bit
- Added: Simple VM support for &&/and/||/or code
- Fixed: setUnitLoadout would not respect ammo count for multiple magazines - https://feedback.bistudio.com/T119475
- Fixed: do3DENaction was available on scenario preview - https://feedback.bistudio.com/T172757
- Fixed: -profiles= parameter with an empty path would crash the game at startup
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
ZEN is having issues with this, working on it 
noob question, since every profiling update resets launcher and its settings, can I just backup the launcher exe and replace it with every new version or is it an inherent part of making Arma great and I have to cope
Profiling updates don't change the launcher exe... At least, they shouldn't.
this caused all my presets and settings to disappear yesterday
I am subscribed to this branch through Steam if that matters
These are the only files that get updated with profiling branch updates:
after every stable update, my first game start makes the launcher go French (my PC language), next restarts it gets it back to English (my setting)
launcher settings are stored in appdata
which steam updates cant touch.. or shouldn't..
then where did they go 
My launcher has never reset by a profiling update or branch switch
&& _variable was broken. Fixed now and on its way
_fnc_filter = {true};
_array find {alive _x && {_x isKindOf "CAManBase"} && _fnc_filter}
previously the code running inside the find
getVariable _x;
callFunction alive;
push {
getVariable _x;
push ""CAManBase""
callOperator iskindof;
}
callOperator &&;
getVariable _fnc_filter;
callOperator &&;
Now
0000:const any // _x is inlined
0010:unary alive (variants 1)
0030:jmpIfFalse 00B0
0040:const any // _x inlined again
0050:const ""CAManBase""
0060:binary iskindof (variants 2)
00B8:jmpIfFalse 00D0
00C8:nular true
00D0:ret(implicit)
Also noticed now that then _localVar was broken too, I didn't implement that one so it will just skip SimpleVM for now
Same for me, once after update it's in Polish then it switches to EN
2.12.150682 new PROFILING branch with PERFORMANCE binaries, v11, server and client, windows 32/64-bit, linux server 32/64-bit
- Fixed: Simple VM crash with "&& _localVariable" - https://github.com/zen-mod/ZEN/issues/739
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
This statement apparently doesn't work with profiling v10, even though it hasn't had any issues in stable.
// server here is a CBA namespace
_stability = server getVariable format["stability%1",_x];
...
if(_stability < 50) then {
_mrk setMarkerAlpha 1.0 - (_stability / 50);
}else{
_mrk setMarkerAlpha 0;
};
20:52:23 Error position: <_stability < 50) then {
_mrk set>
20:52:23 Error Undefined variable in expression: _stability
Edit: Might be an error elsewhere causing the undefined variable, can't find anything though 
@whole cloud Does ArmaScriptCompiler.exe create a log file somewhere?
Isn't it in a file called log.txt in the ArmaScriptCompiler directory
Uff, it didn't occure to me to check source code. Thanks
@restive pilot Wait? P:\ is hardcoded. I don't have a "P" drive 
yeah it's hardcoded 
make one 😛
I did
well you can just clone the repo, change the path, then compile a new one for yourself
Well...technically
Too little context.
_x might be broken depending on where it comes from, or whatever sets that variable might be broken
Please give more context so I can reproduce it
I'll run some tests later and see if I can get more info
Yeah i had same issues after switch my first time to prof branch. My installation was quiete old and maybe a little messed up over the years. My first question would be: Do you had pointed to a different profiles location in the vanilla launcher/parameter (select all parameters) tab or do you play normally with a different profile Name? Maybe there is the issue. A3 keep your first name as your "main" profile. Every time you change your "Profile Name" it starts a new profile. You can see this in under "Documents": There is a "Arma 3" folder with files that contain your starting name and a "Arma 3 - Other Profiles" folder with your changed name.
Under User/AppData/Local should be two folders: "Arma 3" (Arma related stuff) and "Arma 3 Launcher" where is e.g. a subfolder "presets" located.
If there more than these folders i would suggest to backup all these folders and try a clean installation. Create your second ProfileName (if neccesary) and then copy necessary files only in the the new folders.
Launcher settings don't care about profile name. Launcher is not inside A3
12:50:32:655439 ➥ Context:zec\stringtable.xm
12:50:32:655439 ➥ Context:vet\unflipping\stringtable.xm
12:50:33:911476 ➥ Context:z\tfar\addons\core\stringtable.xm
12:50:35:141086 ➥ Context:rhsafrf\addons\rhs_main\stringtable.xm
The last character being cut-off bug that existed a couple weeks ago.
Can someone confirm that that is not happening anymore?
23:34:35 ➥ Context: CUP\Terrains\cup_terrains_compositions\stringtable.xml
23:34:36 Unsupported language English in stringtable
23:34:36 ➥ Context: CUP\Terrains\cup_terrains_music\stringtable.xml
23:34:36 Unsupported language English in stringtable
23:34:36 ➥ Context: ca\language\stringtable.xml
23:34:36 Unsupported language English in stringtable
23:34:36 ➥ Context: rhsafrf\addons\rhs_main\stringtable.xml
23:34:36 Unsupported language English in stringtable
23:34:36 ➥ Context: CUP\Weapons\CUP_Weapons_East_Attachments\stringtable.xml```is this confirmation enough?
Look ok with v10 17:37:04 Unsupported language English in stringtable 17:37:04 ➥ Context: ca\language\stringtable.xml 17:37:05 Unsupported language English in stringtable 17:37:05 ➥ Context: CUP\Terrains\cup_terrains_compositions\stringtable.xml 17:37:05 Unsupported language English in stringtable 17:37:05 ➥ Context: CUP\Terrains\cup_terrains_music\stringtable.xml 17:37:05 Unsupported language English in stringtable 17:37:05 ➥ Context: CUP\Weapons\CUP_Weapons_East_Attachments\stringtable.xml 17:37:05 Item STR_CUP_DN_SPG9 listed twice 17:37:05 ➥ Context: CUP\Weapons\CUP_Weapons_VehicleWeapons\stringtable.xml 17:37:05 Unsupported language English in stringtable 17:37:05 ➥ Context: rhsafrf\addons\rhs_main\stringtable.xml
Oki thank you 
2.12.150698 new PROFILING branch with PERFORMANCE binaries, v12, server and client, windows 32/64-bit, linux server 32/64-bit
- Fixed: configProperties was always returning inherited values even if inheriting was disabled (caused by Simple VM)
- Fixed: Server crash if a vehicle's assigned driver is not a person - https://feedback.bistudio.com/T173122
- Fixed: Possible crash when loading a corrupt mission.sqm - https://feedback.bistudio.com/T170204
- Fixed: Unexpected behavior with += array appending in configs - https://feedback.bistudio.com/T79801
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
V12 fixed it
If i update just my client to v12, not the server, i will make full use of Simple VM and, may be, gain some performance? Forgiveme if nonsense 😛
You might gain client FPS, server FPS won't change
Presumably it depends on whether the script is running on the client or on the server.
* also depends on whether the script contains anything that can use Simple VM
It's not a magic cure for performance though. I haven't managed to see the impact on FPS, but I have certainly managed to see the occasional bug or instability
Does SimpleVM need any special syntax (I've seen ;; used in #dev_rc_branch), or does it work automatically if applicable?
@analog acorn what on scrtipts can use Simple VM? Ifs?
I believe it affects commands that take Code as an argument (e.g. _array select { _x > 1 }), when the contents of that Code meets certain restrictions for simplicity allowing the engine to take shortcuts when processing it. I do not know the exact conditions; it's not properly documented yet, and some of how it's been described is in terms I don't understand.
That should be not very common condition, so you probably will not gain fps. Maybe less occasional drops related to that
If you are limited by unscheduled scripts running, which could use SimpleVM, you could see a server fps improvement.
Its exactly the same as for clients
automatically.
You can use diag_testSimpleVM command to check if a certain thing is applicable
Code that are not supported by Simple VM can be supported in the future?
Just if you have the time, can show a tiny code that is not supported?
Server and client updated, i'm having 60+ (even 70+) fps with 10K view distance. This is not normal for me.
😃
Wake up! Wake up! You've been sleeping for so long, today. 10k view distance? 60fps? What are you talking about? It's 2006, Armed Assault has just been released, wanna buy it and play together?
"No i'm gonna wait for Codemaster to make another Operation Flashpoint"
ah good times.
Depends. Depends.
diag_testSimpleVM
Is this going to stay? I am asking because there is no page on the biki for it
Not decided yet
Also not decided if/where that command will be available
A duplicate sentence in .bikb file WILL crash the game!
An error in campaign's Description.ext WILL crash your game!
I wondered if such thing could be fixed - even though they are very rare and all, just warn the user the same as Description.ext?
Sure, need repro files and then that should be quick
Error: Async RPT Logger exceeded max queue size, there is too much logging going on, something must be wrong.
Is that new ? 😮
Nothing unexpected. Has just never seen that before.
Async RPT logging means it have less effect in general FPS?
Because some say "turn off logs for more FPS".
Turning off the logs for <1FPS increase was never a good idea, even less ever since logging was threaded
Some providers still seem to do it by default and waste my time.
Hard enough to get people to send you RPTs and then you have to convince them to look for a checkbox.
hello brothers in arms somebody have steam performance code for activation perf branch
It doesn't require a code anymore. Just select that branch in steam and you're done
And be sure to use no password.
1.52.133244 profiling & performance v9 server and client, windows, linux
- more tweaks for the file signature/check performance
https://www.dropbox.com/sh/582opsto4mmr8d8/3BSy9PdRGm
2.12.150715 new PROFILING branch with PERFORMANCE binaries, v13, server and client, windows 32/64-bit, linux server 32/64-bit
- Fixed: Possible crash when calling diag_stackTrace - https://feedback.bistudio.com/T173107
- Fixed: "Bad conversion: scalar" errors for config numbers that were a string with SIDE in it
- Added: Debug log context to config script commands getArray/getNumber
- Fixed: Dead characters inside vehicles would render their backpack as soon as AI team members reported their death - https://feedback.bistudio.com/T173511
- Fixed: Memory corruption crash on mono audio output, also known as the "USB headset crash" - https://feedback.bistudio.com/T159527
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
So on my system...latest profiling binary gives 36 fps running YAAB vs my last saved result from September 2021, which was 30 fps
Which is really nice to see
Okay i walk that back, it's possibly not that dramatic 😄
I think the 30 fps number I was looking at doesn't use "standard" settings
The comparable ones were slightly lower (1-2 fps)
All my results so far https://imgur.com/a/HGwyY6s
Having problems with the download
nothing happens when I click it
from several system
he wrote 2021, so 2 years old result, there were performance optimizations since
uh oh you got Intel CPU, i'm sure multiple intel driver/windows kernel updates ate your performance because 'security' 😁
Lol. Well I'm getting more performance than before, so idk haha
Never really noticed the impact of spectre/meltdown related fixes, though I never did the BIOS updates for it. Just the windows update delivered fixes.
Interestingly I was unable to ever hit 40 fps again, always in the 35-38 fps range. YAAB possibly has too much inter-run variation in how the AI behaves?
There is a lot of variation in YAAB results. I also get ~38fps with a variation of like 3fps. I don't think a deterministic AI benchmark is possible
YAAB is pretty random. minor tweaks will get lost in that randomness.
You can deal with randomness in measurements, but doing 100s of test runs is a bit boring.
Arma isn't that deterministic even without AI. Too much garbage cleaning and demand-loading going on.
Anything that can be done to get that performance back?
nope, that's on Intel and it won't happen
Mod bios aka add to bios cpu microcode w/o spectre/meltdown fixes and rename/delete mcupdate_GenuineIntel.dll in system32.
I wouldn't really recommend reintroducing major security vulnerabilities just for a couple of extra FPS in Arma
I would, but then I consider Meltdown less of a security risk than Discord :P
well there are certain security settings in w10/11 which one can disable to get some performance back https://support.microsoft.com/en-us/windows/options-to-optimize-gaming-performance-in-windows-11-a255f612-2949-4373-a566-ff6f3f474613
Cheers! It would be so amazing to run Arma 3 at a consistent 60 FPS, feeling really as if all the great content is being held back by frequent performance drops. Would definitely pay for a perf++ DLC 🙂
@gusty viper really the only known way to do that is to get a AMD X3D CPU
and run empty maps
13600k user here and I can confirm that I usually had those 60fps (with dips to 50-something in some places on Tanoa), even back when I used a GTX1070
So while not being exactly "cheap", XX600 chips aren't really the best that you can buy either, nowadays
No, I know people have had 70 fps while running YAAB on a 5800X3D
and i still say that AI and scripts can move any system to seconds-per-frame territory
only 70?
lol
you can get that with a stock 5600
Considering that the same person also had a 3600 that could only do 40, I doubt that
These are not numbers for YAAB standard settings, mind
Anyway:
Would definitely pay for a perf++ DLC 🙂
There is such a perf++ DLC: it's called a last-gen CPU 🙂
Since you said, you'd pay for it... 😏
@gusty viper it's your lucky day: Lou is volunteering to buy you a CPU! 👍
This community is amazing! 🥰
Buying a 13600kf gave me a huge boost compared to my 3rd gen i5
then they are completely irrelevant to discuss them
how can we compare numbers when they are not measured in the same way/same settings
Going from an i7 870 to a 5600X gave me a bit of boost 🙂
@mellow lark it's really not so complicated as you're making this - it's a 30 fps (1.75x) improvement with that person's settings, which are more intensive than YAAB. A 5600X would show some improvement over the 3600X but probably not so drastic. So the answer to "do X3D chips let you pretty much max out the game and hold 60 fps" is still "yes".
so when did I say they dont?
seems like we're talking about two different things lol
It's possible because I've lost the thread of the conversation lol
and yeah, my machine can "hold" 60 FPS in YAAB (or 90 with VSYNC off), but there were still couple of drops even to 40 here and there, seemingly on loading assets
i think it was issue with dropbox
Still tho, you can now just upload the files to this channel it looks like
I can do 30+ and 50-
I would like to stick at 30 fps to have constant 30 fps allways. This consistency is better than variable fps for me.
Like in videogames.
Human eye can't see more than 30fps anyway, so what's the problem? 😛 /s
back in my days it was 24, you younglings and your cyber implants!
Moore's law!
"640 Kb is enough to everyone"
ehem Parkinson's desease
24 frames enough 😅
24 frames is more than enough, when interlaced (like TV, especially old CRT ones).
Without interlacing, 30 FPS is a minimum for the human eyes for something to be smooth, but more is better.
And yes, you can notice the different between 30 and 60 FPS, and perhaps even higher frame rates, but anyone who claims they "need" more than 60 FPS has either super sight or someone with too much money to spend
Oh no. Not this again 🤣
👆
144hz or nothing. Bye!
Getting arma3 to run at 144hz is like, 5 generations away.
👆
Keep pointing at that channel that I have disabled and cannot access 😛
whatever.
this is anyway not the place to discuss most of the above
please stahp indeed 😄
…I kinda started it, but still
actually...
#perf_prof_branch message

Whats this about?
why u necropost
I cannot repro your report, only now got to the ticket
its about the message that I replied to
2.12.150784 new PROFILING branch with PERFORMANCE binaries, v15, server and client, windows 32/64-bit, linux server 32/64-bit
- Tweaked: deleteVehicle is now able to delete #track/#mark type objects - https://feedback.bistudio.com/T172751
- Tweaked: The game date acquisition routine is now more optimized
- Fixed: When a vehicle is deleted not all tracks were deleted with it - https://feedback.bistudio.com/T172751
- Fixed: explosionForceCoef was ignored for direct hits
- Fixed: Vehicles on an empty layer in Eden Editor would be incorrectly assigned to a group if one was created earlier - https://feedback.bistudio.com/T169079
- Fixed: Pylon weapons did not trigger "GunParticles" effects
- Fixed: MusicStop Event Handler did not fire on 'playMusic ""' - https://feedback.bistudio.com/T173412
- Fixed: damageEffects material swap did not consider hiddenSelection material changes - https://feedback.bistudio.com/T173561
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
- Fixed: Pylon weapons did not trigger "GunParticles" effects
oh thats nice, what memorypoints does it use though? the vehicle or the pylon proxy?
The weapon's
I.. Think :harold: I only had one test case, and I saw shell casings eject at what seemed to be the correct position.. But that was also the center position so not sure
will test it myself in a moment
https://feedback.bistudio.com/T148952
Does this mean this?
Maybe I read the changelog wrong tho
Hmm it is indeed the weapon but uh
if you have multiple of the same weapon, only one of them spawns the effects
@spiral pond
Its not multiplayer related
Hm
I think pylon animations are broken in mp, at least I've had reports of muzzleflash not appearing in MP for non local units using pylon weapons
That's a second bug then, that I didn't have on radar
lol to add to this - if another proxy has the same memorypoint name it uses it too
liek i have two different pylon weapons, both have chamber_1 and muzzle_1 - firing the second weapon will spawn the effects at the memorypoints of the first weapons proxy
Actually I think i've gotten this wrong - It's using the planes memorypoints
as i have memorypoints of the same name in there
when I changed the name in the proxy and config they just spawned at the plane model center
@whole cloud seems to be an issue with the latest profiling build when connecting to SM Koth servers - loading hangs forever
doesn't do it on stable build
should i let SM know or do you want a copy of the logs?
logs would be good
pm'd
The log looks like you joined in and played for 10 minutes
yeah i was stuck on the mission loading screen, couldn't actually do anything
dont have permissions to send an image of it
Oh I think I know why, that really shouldn't break anything 😄 But maybe it does somehow
🤔
I managed to join a official zeus server and start playing though, so its something koth specific 🤔
Ah, this loading screen
So actually in-game loading screen
yup
i can confirm, it breaks KOTH server too
New prof v15, same as v14 but not broke 
what was wrong?
Empty scripts didn't run. Apparently koth needs that somehow
same problem with 150784, koth server fails to boot
V15 is broken! I accidentally did a netcode change without touching netcode. V15 only works with V15 server
Fix tomorrow morning in ~14 hours
I accidentally did a netcode change without touching netcode
what in the spaghetti hell happened here 🍝
Tomorrow's Changelog:
New prof v16, same as v15 but not broke
and so on 😛
PS: broken, dangit!
you leveled up your mastery, soon, you will be able to break CODE w/o touching the CODe 😁
Removed decade old Java code 😄
It hasn't been working for so long, surely removing unused non working code couldn't break anything...
no more Take On Java 😢
🏆 Achievement Unlocked 😄
Its the same as before, we just need to switch a 0 to a 1 to turn it back on.
Just now it is all turned off, instead of juts 2/3rds of it
Talking about netcode, I've got a weird case where a client sends a moderately-sized hashmap to the server (on 127.0.0.1), and the server somehow receives "<NULL - team member>". Any idea how that's possible? Code apparently works fine on 99.9% of setups.
yes thats exactly what I meant by changing the netcode
profiling and stable doesn't match anymore
I doubt that.
It matches what I've seen from koth, with stable vs prof
wait, 2.12.150784 client vs 2.12.150301 server...
ffs :P
Does perf normally say Build: Stable?
Probably 🤔
Ok, had four of these now
It does, Version number is the way to tell.
Fell for the same before...
Quite a few ppl report getting this crash while joining modded servers after yesterdays update (it's only thing that was updated in last 24hrs)
0xc0000094-Integer Divide by Zero Exception
I will try to get their RPTs
Hey man, don't know if you are awake yet but on profiling HashMaps appear to refuse to be transmitted over network, which is causing some unintended issues, is it possible for me to disable joining my server on profiling branch for the time being?
Awesome thank you
Profiling on Steam should have been rolled back to v13 as of a few minutes ago.
2.12.150787 new PROFILING branch with PERFORMANCE binaries, v14, server and client, windows 32/64-bit, linux server 32/64-bit
- Tweaked: deleteVehicle is now able to delete #track/#mark type objects - https://feedback.bistudio.com/T172751
- Tweaked: The game date acquisition routine is now more optimized
- Fixed: When a vehicle is deleted not all tracks were deleted with it - https://feedback.bistudio.com/T172751
- Fixed: explosionForceCoef was ignored for direct hits
- Fixed: Vehicles on an empty layer in Eden Editor would be incorrectly assigned to a group if one was created earlier - https://feedback.bistudio.com/T169079
- Fixed: Pylon weapons did not trigger "GunParticles" effects
- Fixed: MusicStop Event Handler did not fire on 'playMusic ""' - https://feedback.bistudio.com/T173412
- Fixed: damageEffects material swap did not consider hiddenSelection material changes - https://feedback.bistudio.com/T173561
If you don't want to use the Steam branch, the files are also available for alternative download here:
https://drive.google.com/drive/folders/15p9j7C2nHUt6NoVfChX4YFuqzFXzblJh
v14 2: electric boogaloo
That's such a game changer if the non-deleting vehicle tracks was the cause of objects flickering and potential crash
That's due to game running out of memory afaik
I doubt a bunch of tracks could cause it
I've only noticed it happen when a large amount of vehicles happen to be in a mission, but it occurs so inconsistently and infrequently
A bunch of tracks could cause it.
But thats not the only cause, and I'm very sure its not even a common cause
well in theory , LOT of vehicles with lot of movement could cause lot of tracks to be tracked / stored in memory 🤣
😅
so basically lower RAM/vRAM usage expected?
If you don't delete vehicles, then no.
If you do, then yes a tiny bit, usually not much. It will slowly add up over a long mission where many vehicles are deleted
Warlords after like 5-8 or even 12 hours
i can confirm now KOTH server works as expected
we still think the total flicker (of e.g. vegetation/terrain) is more indicator of some overflow / leak and you need good allocator to get around it (which has working cleanup like the mimalloc (v2.09 i used a lot , but now last version is 2.12) https://github.com/GoldJohnKing/mimalloc/releases
I still experience that flicker and eventual crash even with mimalloc, after about 2 and a half rounds of koth
How often do you submit crash reports?
looks at @inland dew you fixed it with mimalloc right ? so the real question is then what's difference between your and his system (size of ram / os / hw platform ?)
32gb / win 10
I don't think I've ever submitted a report for that crash, I always manually restart my game when the flickering starts getting bad
but it can be reproduced pretty consistently after about 2 and a half rounds of koth for me, beginning to rapidly deteriorate into the third round
well if you get crash in future and it creates .rpt / .mdmp / .bidmp files, then i suggest you .7z them all and create the ticket and attach it, no report ticket, no bug known to fix
join the stress test server and let's hope it reach 160 players soon so you get your crash (or better not 🤣 )
Understood. In my group, whenever the flickering occurs, usually I'm not the only one that happens to see it as well.
Unfortunately mimalloc was unstable for me so I stopped using it. Might try it again though
will do
i noticed vehicle weapons with a high RoF are enough to force the crash when the flickering starts
like i know what the bug you talk about is, but i fixed it using the old xtbmalloc / cma and then since certain build of mimalloc with lock pages (i use only the lock pages one, enabled lock memory flag+largepages)
the only person who i know who was tracking it somewhat reliably was groove, he even tried other allocators to find out they fail cause lacking working cleanup over time
but you can try experiment try mimalloc_v212_no_collect.dll for less chance of crash or the other variants (see descriptions)
yep, I've always used the lock-pages one
next time i play koth ill let it crash and collect all of the logs
not really fixed.
just that 24 GB vRAM make it possible for it to happen later, but it's still there, with mimalloc (lock pages)
ok, so i guess i misread some of your post and though it was gone for good ... sigh ...
I've noticed it begin flickering even while I still have free/unused vram left to spare
i recall it happening when it was using 12 out of 16gb once
several times I was able to not face it, somehow, so I thought it was gone.
but played more and whitnessed it again
Out of memory crash reports very rarely have useful info
ye but at least he may provide the crash dump 🙂 it's better than just reporting crash w/o any files to take look at 😁
haven't played for months.
once I'll finish my build + OC, I'll see how 2.12 behaves
maybe approach is from different angle, limit memory to something like 4 or 8 gb and force it happen very soon but that's just boiled neurons talking due to overheat
does the vram limit parameter actually work? I set it to i think 4 or 8gb once, but it quickly used more than that
limiting vRAM doesn't work.
same goes for RAM
because using both, for test, I observed both being used way above what I'd set them to
huge pages in the launcher also doesn't work
i meant physically (e.g. instead of using 32GB system using just one 8GB stick) or you tried that too ?
haven't
probably normal because i dont know how it works, but i also regularly observe the executables vram usage being very different from my total vram used. eg: 15gb being used, but the game is reported to only be using 2.4gb
Ded, when -flushMaxFileCacheSize=?
set the size of file cache size and at the same time this is the size starting from which it will auto-flush (when tabbing out), if this size is reached and at the same time it sets the file cache size.
because currently -maxFileCacheSize= is +- useless, since when you tab out - it flushes, so setting the size to big numbers makes no sense, because it will be flushed way before it will be able to populate the size set, since majority tab out regularly
or change the behavior of -maxFileCacheSize= to flush only once the set size is reached, when tabbing out.
and if set size isn't reached, yet, when tabbing out, then it doesn't flush
no ETA
do you have an AMD graphics card? Some guys in my community had same issue with AMD cards.
nvidia
Mh. Interesting.
Do you have tried to flush the VRAM? If yes, does this help?
makes zero difference
ok, interestingly, i just played 3 full rounds on the stable branch with zero flickering issues
that would never happen on profiling. the third round always gets very bad fps, then starts flickering, then crashes
I can't seem to join any servers via the MP game menu. Anyone else experiencing this with v14 specifically? (assuming that's what this post was referencing, but odd I haven't seen others posting similarly). At least 2 in our community are getting that behavior at the moment. No success stories yet, but small sample size.
try now ...
Good evening. Has anyone experienced any issues with Linux performance server 64 bit and HC? I am using the most updated version of the performance server and I can’t get more than 1 HC connected to the server. If I swap the server back to the stable 64 bit version I can get however many HCs connected that I request but can only manage 1 on the performance version. Thanks for your time.
So far the performance version has solved my crashing and I am extremely happy with it but was just curious if there’s anything I can do on my end to resolve the HC issue.
running performance on the HC too?
Are you running them with same -name= parameter? so they try to share the same profile directory?
maybe try also setting different -profiles= so they have separate profile directories
I'm thinking its the cache.ch file conflicting between the two clients
I think you might be correct. I don’t believe I have a -name or -profiles parameter set for the HC - is it possible that the option is not required on the stable build and worked fine but is required on the performance build? I am using the same performance build for all.
Performance build should ignore the cache.ch stuff, but something is wrong making it do the opposite.
And if you have everything use same profile (which is wrong anyway as they will all try to access and probably corrupt the same profile namespace) they'll all try to access the same cache
Do you have any suggestions on anything I can try to get more to connect? Should I delete that file? Is it possible to not add any additional parameters or is it required? The reason I’m asking is I’m using a panel for my game servers and the panel has a gui setting for how many HC you would like. When running stable build with different server version it spawns them all but not when using performance. The line that spawns them is below keep in mind parameters may look wonky because of gui settings.
clients+=($!)
Dev for the template is asking this
I did think about names and profiles but got feedback that it wasn't really needed
So just add it to the profiles dir in the instance?
Ah it's not stored in profile directory.
Its in
~/.local/share/Arma 3/DataCache/cache.ch mh
Don't have a solution then.
Need to look into why that cache thing keeps happening
Ah I found it :harold:
Wanted to improve performance for HC which doesn't need to load signatures because server isn't checking them for HC.
So I made it skip the signature init and finish if you are dedicated client.
But the init happens before the command line parameters are read, so it doesn't know yet that its gonna be a dedicated client, so it loads signatures anyway. And on finish, the flag is set and it never releases the cache 😄
Since March 2021 :x
It'll be fixed in v15
You are the best! Tyvm!
Oh wow there has been a bug in there since it was introduced.
It also checks for -server parameter for other things, that also never worked
So with this, HC's will also start up faster, you've probably seen "Waiting for 'cache.ch' to be available in logs. That is the HC just freezing at startup, waiting for the other HC to be done starting.
That'll be gone
Really appreciate you - don’t ever see this kind of support and care these days from devs. Thank you kindly ❤️.
Still the same unfortunately. I wind up at the same oddly bugged UI screen each time. I'll DM you a video of it, but it looks like nigh all UI elements I'd usually see (think group chat icon popping up during connect, etc.) all get bunched up about a third of the way in the upper left corner, and she just sits there. Something definitely up with the sigchecking maybe based on RPT log from v14. Video of it is uploading rn
14:40:54 Error 5 reading file ''
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:04 Skipping mods and signatures due to overflow flag being set.
14:46:05 Skipping mods and signatures due to overflow flag being set.
14:46:05 Skipping mods and signatures due to overflow flag being set.
14:46:05 Skipping mods and signatures due to overflow flag being set.
<this continues on>
What would have changed in the meantime? Just curious
What game version (revision number) are you on on client/server
Also that looks like steamMaxDataSize or whatever its called in server.cfg, isn't large enough
in relation to test KOTH server , it's on Type: Public Build: Profile Version: 2.12.150787 with
steamProtocolMaxDataSize = 1440; // but no mods just vanilla game, only serverMod , still that's slightly bigger than default 1024
Intercept Minimal Dev crashes my game on startup every time on profiling branch. Is this more to do with the game or the mod, do I create a feedback tracker ticket or DM dedmen the crash files?
The flickering issue is relatively easy to recreate. Load many different textures and different LODs of them into your VRAM by moving the camera at different places and go close up to buildings in every town. Works especially well on Livonia or the Fallujah map. Once the vram is fully loaded you need to fly around with the camera fast and at some point the unloading/loading gets hiccup and the flickering begins. In my experience the least annoying flickering performance is achieved with the system memory allocator. It will crash at some point though too.
.
