Recent updates have apparently changed the functioning of multicore rendering.
I now recommend trying the "-threads #" launch option.
Specifically, "-threads 4" no longer causes instability for me and in fact spreads the CPU load throughout all 8 of my hyper-threading-capable quad-core i7 920 processor's "cores."
On the flip side:
Without "-threads 4", hl2.exe now only utilizes 3 threads, rather than the current 8 or previous 4.
At the very least, check on your CPU core usage if you've previously implemented this tweak.
-------------
Edit: Quote: Originally Posted by jgr9 View Post Well your i7 has 4 cores/8 threads right? Why would you put "-threads 4"? or is that the highest it goes? Good question
"-threads 8" reportedly exists, but is unstable. I didn't try it, because "4" worked like a charm, but you're welcome to. Regardless, hooray!
* Added a note that the "r_threaded_renderables [0/1]" command is worth trying out, but still not guaranteed to be stable (it isn't for me).
* I neglected to mention that it's worth toggling off affinity for Core0 for Steam.exe as well, since for some reason it syncs its affinity and priority settings with hl2.exe. You probably don't want it doing that while you're in-game, although it won't cause any major problems, just a potential hiccup.
-------------
I'd like to share a very counterintuitive method I recently discovered to gain a performance boost on my 2.66ghz i7 920 quad core --which uses multi-threading (thanks to Ciaos for reminding me to point this out)--in Windows 7 64-bit.
I ran the game in windowed mode ("-window -noborder" in launch settings) which gives me around 10 more FPS than fullscreen. I'm afraid this isn't a guide or a recommendation since I only know it worked for me [Edit: Nevermind!! See quotes at the bottom].
I do know that core 0 bias is a uniform tendency with TF, and that some find that TF reverts to setting the affinity exclusively to core 0 after starting a game...you'll see if that's the case when you do what's described here.
It seems the implications of why and when this works could be very interesting, and perhaps relevant to other troubleshooting methods. I'm curious to see who else this might work for.
-------------------------
Here's the problem addressed:
When looking at the Performance Monitor while running a demo of TF, I noticed that when Core 0's affinity was toggled on the game absolutely maxed out the load on Core 0, while distributing very little work to the other cores.
When Core0 reached 100%, my FPS would drop and the game would stutter noticeably.
Here's the Fix:
I toggled off processor affinity for Core 0.
I tested this first with Task Manager (right click HL2.exe>>Set Affinity>>Uncheck 'Core 0', all others checked) then with the application Process Lasso to automate the procedure. Disabling Core0 gave me a boost of ~15 FPS and lowered my FPS variability by about 5.
Once affinity for Core 0 was toggled off, the other cores spread the load very evenly amongst themselves--none of them ever reached 100% like Core 0 would when toggled on.
So, despite disabling affinity for one 1 out of 8 threads, TF2 is now running significantly more smoothly for me.
Note: Again, Windows will not remember any changes you make to a program's affinity after you exit it.
Here are some programs that will automatically set program affinities to your preference:
Process Lasso what I use--works with Windows 7 64-bit. Hat-tip to RedDot for d/l link Prio suggested by Neveridle. I haven't tried it.
I tried SetAffinity and Prifinity, but they did not work on my 64-bit OS.
-------------------------
Important Multicore Rendering Commands:
Before disabling any cores, I inputted these cvars into my autoexec to resolve crashes I'd been having due to having multicore support enabled:
mat_queue_mode "2" cl_threaded_bone_setup "0" cl_interp_threadmodeticks "0" cl_threaded_client_leaf_system "0" r_threaded_client_shadow_manager "0" r_threaded_particles "1" r_threaded_renderables "0" // [Certain users, particularly those using AMD processors find that setting this command to "1" increases performance. With my system, however, the cvar causes stuttering, occasional crashes, and odd keyboard lag. Still, feel free to give it a shot] r_queued_decals "0" r_queued_post_processing "0" mp_usehwmmodels "-1" mp_usehwmvcds "-1"
Thanks to Whisper's Wiki for recommending these settings.
Edit: I forgot add this important note from the wiki page (which is also a great read for troubleshooting!)
Quote: certain people appear to have better stability when they use this in conjunction with host_thread_mode 1
-------------------------
Alternative Method:
Apparently disabling hyperthreading yields roughly the same result, for those of you that would prefer not to use a third-party app. Thank Auld if so:
Quote: Originally Posted by Auld View Post My personal results from a 32 man demo with the camera zoomed out for a full view of the action, using the timedemo command to speed it up and be more stressful and recording with fraps benchmark:
i7 920 @ 3.6Ghz
Hyperthreading on, 8 cores. Min 52, Max 74, Avg 61.967 Hyperthreading on, 7 cores. Min 64, Max 87, Avg 73.813 (core 0 affinity disabled)
Comparable information from the same demo:
Hyper-threading off, 4 cores. Min 64, Max 88, Avg 73.903 Hyper-threading off, 3 cores. Min 63, Max 84, Avg 71.957 Hyper-threading off, 2 cores. Min 54, Max 75, Avg 62.947 Hyper-threading off, 1 cores. Min 29, Max 42, Avg 34.902
TF2 and i7's core 0 don't play nice when Hyper-threading is on. ----------------
Success Stories:
Quote: Originally Posted by swedishsanta View Post i will give it a shot, lets see if it works.
(i have quadcore AMD, 6 gigaram graphic from nvidia 120, i think)
I have 45 fps now, lets see if i can boost this...
OMG it worked i have around 55+ fps now! Quote: Originally Posted by bigred240588 View Post i did this a month ago and it worked for me Quote: Originally Posted by ingredients1 View Post Removed CPU0 from affinities and it seems to smoothen my game a tad (it's like the feeling you get when you turn off VSYNC, except to a smaller extent) and seems to give a slight boost in frame rate.
Also, just to add in that I'm on a Core i7 920, with mat_queue_mode set to 2. Quote: Originally Posted by Maverick. View Post IT WORKS!
What I was previously doing was just changing Steam's Affinity, which automatically changes HL2.exe's. I didn't read the OP properly in the beginning but then I read it again and it said to launch TF2 and then disable the Affinity. I done that with Process Lasso and now it's great! So, somehow Steam.exe makes TF2 freeze in the beginning.
I tried it only with -threads 4 on my I7-920 and it was like WTF THIS IS AWESOME .. it runs like butter now, before it didnt go so smoothly..hope it keeps beeing stable and stuff, but this is fantastic!
Quote:
THIS CONTINUES TO WORK EVEN AFTER VALVE's FIX ATTEMPT
This has worked for plenty of people in this thread so I suggest you read it completely, however be aware that your millage may vary, perhaps you will gain something perhaps not, but you will never lose
Everybody has experienced how FPS are going down the drain recently with TF2, however I believe I've found one of the sources (I'm pretty sure there many others) and found a way to fix it, so enough with the rambling I'm going straight to the point:
The folder:
Code:
C:\Program Files\Steam\appcache\stats
Contains a file called: Code:
UserGameStats_####_#### (# = some numbers)
This file keeps records of god knows what about TF2, and it gets updated EXTREMELY frequently while playing.
The problem is that, most of us run high quality Anti-virus programs and they tend to scan all files that get updated in the system, and a lot of them tend to do so the instant it happens, clogging up the processor and making our FPSs die.
Apparently, having a multicore processor and fast hard drives (or a RAID 0 config) makes this even worse.
Quote:
How I fixed my poor performance problem Like a lot of posters, I was surprised how badly TF2 ran on my system. I would get 120fps and then all of a sudden drop to 30 when a few enemies would come into my sight.
But it wasn't always like this; in fact, about a month ago everything ran fine, so I decided to investigate what changes had been made in my computer since then. And after hours of searching, I found the culprit:
A bad realtek lan driver from windows update. I went to my motherboard company's website and downloaded the official lan driver for my motherboard, and since then my FPS has been fine. No more choppiness or suddenly dropping to 10FPS in a fire fight.
So if you're having a performance problem and have a realtek lan chip (which most motherboards use) then I suggest you do what I did and see if it helps.
UPDATE:
Go to device manager and see if you have a realtek network interface card.
Pick the "Auto Installation Program" with your correct version of Windows. For example, if you're using Vista get the "Vista 32/64 Auto Installation Program."
Once downloaded, extract the zip file and run setup.exe to install the driver.
------------------------------------------------ CUT HERE OLD STUFF Thanks for posting AKA the link first, found some interesting stuff there..
Quote:
cl_forcepreload "1" //0 force preloading on map, more fps! ai_expression_optimization "1" //If set to 1, disables NPC expressions when you can't see them, potentially improving performance. snd_mix_async "1" //If set to 1, this command will allow multi-core CPUs to run most of the sound engine in parallel with the renderer, which can improve performance and reduce stuttering. [Machine gun on Sniper sounds different now, but not bad]
Also, this is my cfg with Ultra Details Settings Running @ 60-300 fps for multicore machines (but only with 4 players tested atm, still needs confirm so use it @ own risk [I wrote the standard cvars behind every change]
// Threading cl_threaded_bone_setup "0" //0 cl_threaded_client_leaf_system "0" //0 mat_queue_mode "2" //0 for multicores (originaly set to -1 in AKA's link, but caused a fog image on the screen, 2 is for multicores!) r_queued_post_processing "1" //0 r_threaded_client_shadow_manager "1" //0 r_threaded_particles "1" //1 r_threaded_renderables "1" //0
BUT WHAT TO DO FIRST
Quote:
// Launch options: // FOR FULLSCREEN: -dxlevel 98 -full -w WIDTH -h HEIGHT -console -nojoy -noipx -novid -noforcemaccel -noforcemparms -noforcemspd // FOR WINDOWED MODE: -dxlevel 98 -sw -w WIDTH -h HEIGHT -console -noborder -nojoy -noipx -novid -noforcemaccel -noforcemparms -noforcemspd // // If you ignore the launch options and still ask me why stuff is weird you are legally declaring yourself retarded // // Remember to remove -dxlevel 98 after first run (but leave the rest of the launch options intact), if you don't you will not get antialiasing! // // Specifially: // 1.) Put in the launch options you want to use // 2.) Run TF2 // 3.) Exit TF2 // 4.) Edit the launch options so that -dxlevel 98 is removed (so fullscreen would now look like "-full -w WIDTH -h HEIGHT -console -nojoy -noipx -novid -noforcemaccel -noforcemparms -noforcemspd" // 5.) Now the config is installed and ready to go.
OLD settings (blurry textures, all set to highest possible in settings tab)
NEW settings (clear textures, tweaked cfg)
_________________
Last edited by fluff-a-licious on Sat Jun 19, 2010 1:20 am, edited 5 times in total.
Like when you get in close combat? That's probably network trouble. Always happens to me when I play scout.
I'll also give this a go. I'm quite skeptical of the fps boosts. More often than not they're placebos. I also don't really need it, go Q9550!
_________________
Paco Rodrigez: yeh, most peple just roll over and receve cocking |H|H| Bolt: I did like that a lot at the time Paco Rodrigez: same, im licky tho, all i do is give my mum the scent and she's on it like a bloodhound |H|H| Bolt: I was talking about recieving cocking
Like when you get in close combat? That's probably network trouble. Always happens to me when I play scout.
I'll also give this a go. I'm quite skeptical of the fps boosts. More often than not they're placebos. I also don't really need it, go Q9550!
Still chuffed even today that you got a decent rig mate.
Fri May 21, 2010 11:40 pm
PiLsY.
HH VIP
Joined: Fri Nov 16, 2007 3:27 am Posts: 891
Re: Possible FPS boost / Fix
Hyperthreading is shocking for games. Drops your performance by about 10% across the vast majority of games. RTS are the only type of game that seem to consistently benefit from HT - Supreme Commander you get a 30% boost in fps with HT on compared to off.
Those of you with overclocked i7's will find you can get 100 to 200mhz more out of your cpu with hyperthreading disabled in bios - also core temp under (stress test) load will be down 10 - 15c.
Hyperthreading is great for encoding and real work, not so hot for us though .
Oh and its threads -4 because the hyperthreaded cores dont exist. They are allocated work by the cpu in hardware. You have 4 cores but 8 threads - the tf2 startup option is poorly worded and should really be cores not threads. It will be unstable if you use threas -8 as the HT threads cannot be addressed individually, only the 4 physical cores which then send any extra data down the spare pipelines not being used in the 4 hardware cores. The HT threads are of much lower processing capability than the physical threads due to only being allocated "leftovers" not being used in the physical cores. They run the same speed but less data can flow through them. Its more about fully allocating the resources available to your 4 physical cores by creating a spare virtual one for each than actually doubling up to 8 cores. Marketing at its best.
Users browsing this forum: No registered users and 1 guest
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum