Ya, the cpu drain from DTAS seemed to get worse as the match progressed. Towards the 7th or 8th round, it was almost unplayable at times.
if( MyFonts != None ) //Duke: check in case access none
Canvas.Font = MyFonts.GetSmallFont (canvas.ClipX);
Crowze said:Please tell me why it even gets to that line before the FontInfo is spawned.
MP_Duke said:I don't know exactly why this happens... There may be unforseen lag issues or it's just the nature of code reading and engine processing. You can think of it as reading text really quickly and not fully understanding what you just read. Ok, maybe it's not that drastic, but there may quite possibly be a delay between the engine reading the code and realizing it in-game. The old unrealtech site gave a rather crude explanation of this something to the effect of ...in the case of a spawn failure, you always want to check if these actors exist before modifying them...
Just add that check to a spawned object ALWAYS before accessing anything from them, trust me. i've dealt with this during my ventures into yurch's rav2 till i tracked down every spawned object i could and made sure to eliminate all accessed nones that i found in the log file.
Fat Marrow said:Could it have something to do with replication? (variable doesn't exist where you expect it to exist) Either way, what you said sounds right.
Crowze said:Well, since UT uses UDP which is inherantly unreliable, that might be causing this to happen. It would explain why I don't get any accessed nones during my offline testing, too.
Once I get round to writing it as a HUD mutator, hopefully all this crap should be fixed as I won't have to mess around with HUD fonts etc..
Crowze said:What I would give to have proper exception handling in UT...
shan said:I have reverted back to 1.0 on the DTAS server. I will put 1.12 on as soon as it is released.
Shan