November 1, 201114 yr Dario, I tried. More than once, on more than one thread. But I generally give up. I guess times of Bojote are up, there are some newborns here and they have their opinions. I'm not gonna spend any more time educating others on hot water.Well Word Not Allowed, i have been able to collect a lot of usefull and helpful advice, from you and Dazz, and I am now running a very stable system, and FSX has never been smoother.I removed some of my tweaks except AM=14 and highmemfix, and it has transformed my sim to a whole new level.Even though some don't care to listen (or just don't want to) there are some, like myself who appreciate your postings. System: MSFS2024, ASUS Rog Stryx Z790-A, Intel i9-14900KF, Asus ROG Ryujin III 360 , Asus Hyperion Case,Rog Stryx 4090 OC, Samsung 970 EVO M.2 SSD, 1Tb Samsung 860 EVO SSD,64Gb G Skill Memory, Asus Aura 1200W Gold PSU,Win 11 ,LG C4 48" 4K OLED Screen., Airbus TCA Full Kit, Stream Deck XL. WinWing FCU, EFIS, MCDU
November 1, 201114 yr Well Word Not Allowed, i have been able to collect a lot of usefull and helpful advice, from you and Dazz, and I am now running a very stable system, and FSX has never been smoother.I removed most of my tweaks except AM=14 and highmemfix, and it has transformed my sim to a whole new level.Even though some don't care to listen (or just don't want to) there are some, like myself who appreciate your postings.Thank you. Glad to hear.
November 1, 201114 yr Apparently there's more involved than I thought. I was under the (mistaken?) impression that the main purpose of an settings was to get the main thread off the first core. Kenneth Weir My Saitek yoke mod i7 2600k @ 4.7 8GB Gskill CAS7 2x GTX580 SLI Surround + GT520 Accessory Win7x64
November 1, 201114 yr I have HT off and have never used any affinity mask nor buffer pools setting in over a year. Using an external limiter (antilag) set to 30, I get great performance almost everywhere with pretty much any addon aircraft at any addon scenery airport I have... the latest NGX post SP1 and the 600/700 expansion run well too...HT had no gain for me and caused temperature issues for my overclock settings, so I took it out. The only setting I needed in BIOS to avoid some strange system warnings and messages was the SpeedStep facility... Windows 7 kicks out strange warnings at boot up in the Windows Syslog if you have it set to off in the BIOS, something of the order of driver settings unable and so on...Andrew Andrew Entwistle
November 1, 201114 yr Apparently there's more involved than I thought. I was under the (mistaken?) impression that the main purpose of an settings was to get the main thread off the first core.Could very well be that, yeah. I don't know if running an affinity of 14 in a 6-core CPU will be smoother than 62. Probably notIt's true that 14 effectively turns an hexa core into a quad in FSX. You still have two cores to run other stuff, but it's not guaranteed that everything will be scheduled to the other 2 cores since Windows uses fixed cores for certain tasks. Not like it's relevant anyway, there is never (or shouldn't be) anything CPU demanding running in the background with FSX. ASE, RC4, Firefox, messengers... don't countMy point is that considering how poor FSX is at taking advantage of more than 3 or 4 cores, having a 980X with an AffinityMask or 14 or 62, probably won't make a differenceNow, if you use 14 or 62 with HT on, that's a complete different story. That's what I meant to say to CT1. You can't just leave HT on, change the affinity to 14 and conclude 1344 is a better setting than 14, because 14 is meant for 4 true cores. Besides, he seems to affirm that it proves that HT helps. How come? switch it off and try 14. Then we talk :)
November 1, 201114 yr Ok I understand what you mean. And 14 with ht on would enable the 1st virtual core and 2nd physical and virtual, correct? Kenneth Weir My Saitek yoke mod i7 2600k @ 4.7 8GB Gskill CAS7 2x GTX580 SLI Surround + GT520 Accessory Win7x64
November 1, 201114 yr Ok I understand what you mean. And 14 with ht on would enable the 1st virtual core and 2nd physical and virtual, correct?Yes. When HT is enabled, each true core is split in two virtual ones, but there's only one core to feed both virtual cores. So in a quad you have:Virtual Cores 0 & 1 -> True Core 0Virtual Cores 2 & 3 -> True Core 1Virtual Cores 4 & 5 -> True Core 2Virtual Cores 6 & 7 -> True Core 3All 8 cores in the task manager are virtual cores. An affinity of 14 (00001110) will assign FSX virtual cores 1, 2 & 3.That means that only the true cores 0 & 1 are assigned threads, and even worse, 2 threads are spawn to the true core #1 (virtual cores 2 & 3) competing for one core and unable to do anything with HT.Besides, fibers fixed to run in core 0 compete with threads assigned to virtual core 1 for execution time in true core 0That's why alternate 1's and 0's are supposed to be used in the mask for HT on. Not to assign threads to true cores instead ov virtual ones (again, all cores are virtual with HT on), but to make sure only one thread is assigned to each True Core. So 10101010 would be the same as 01010101
November 1, 201114 yr Yes. When HT is enabled, each true core is split in two virtual ones, but there's only one core to feed both virtual cores. So in a quad you have:Virtual Cores 0 & 1 -> True Core 0Virtual Cores 2 & 3 -> True Core 1Virtual Cores 4 & 5 -> True Core 2Virtual Cores 6 & 7 -> True Core 3All 8 cores in the task manager are virtual cores. An affinity of 14 (00001110) will assign FSX virtual cores 1, 2 & 3.That means that only the true cores 0 & 1 are assigned threads, and even worse, 2 threads are spawn to the true core #1 (virtual cores 2 & 3) competing for one core and unable to do anything with HT.Besides, fibers fixed to run in core 0 compete with threads assigned to virtual core 1 for execution time in true core 0That's why alternate 1's and 0's are supposed to be used in the mask for HT on. Not to assign threads to true cores instead ov virtual ones (again, all cores are virtual with HT on), but to make sure only one thread is assigned to each True Core. So 10101010 would be the same as 01010101Ok, that also answered a couple of other things I'd been wondering about. Kenneth Weir My Saitek yoke mod i7 2600k @ 4.7 8GB Gskill CAS7 2x GTX580 SLI Surround + GT520 Accessory Win7x64
November 1, 201114 yr Hello,In the i7 or i5 thread there were people saying that you better buy an i5 2500K over an i7 2600K, because it's not worth paying so much extra for a CPU with hyperthreading, that FSX could not use anyway. I have an i7 860 2.8 (OC 4GHz) myself, so I thought, let's test this! And the outcome was surprising. First of all these are my overclock settings:Base clock: 200Multiplier: 20xC1E = offEIST = offTurbo boost = offMemory ratio = 4xQPI ratio = 16xVCore = 1.4VCPU VIT = 1.3VVMemory = 1.65VSpread spectrum = offHyperthreading = ONThe test was using the NGX, at Aerosoft Amsterdam (extremely frame rate heavy), runway 36R, fair weather, time 7:29 am. I used REX and ENB Series. Also I used Bojote's tweaked fsx.cfgResults: 18 - 22 fps.Now the next test:Base clock: 200Multiplier: 20xC1E = offEIST = offTurbo boost = offMemory ratio = 4xQPI ratio = 16xVCore = 1.4VCPU VIT = 1.3VVMemory = 1.65VSpread spectrum = offHyperthreading = OFFAs you can see, HT has been disabled now. I loaded the exact same circumstances again, time maybe only a few minutes later, and these were the results:14-16 fps!This is quite a big difference. Both circumstances were exactly the same, I restart my pc for both test and didn't load any other programs apart from FSX.So I don't know why people are saying that HT doesn't, because there is a noticable difference. Maybe FSX does not support HT, but your OS does, maybe HT helps to run your OS better, so there more room left for FSX.Comments are very welcome!hi which software did use use for thisvivekanand
November 1, 201114 yr Dazz, thank you!I have looked for that information several times and have never been able to find it.My reason for wondering about it is that I have a core i7 laptop (my "fsx on the road" machine) which has no facility to turn HT off in the BIOS (or anywhere else, seemingly, according to the manufacturers). So I have often wondered about the correspondence of real and virtual cores in that scenario.Cheers,Brian
November 1, 201114 yr I have been doing some reading about this and I think I have come to a different conclusion...On the Microsoft Developer Network, I found information that states CPU numbering with HT to be different from that mooted here.I quote from here: http://msdn.microsof...e/cc300701.aspx"When hyper-threading is enabled, the operating system will assign a number to each logical CPU. In a system with n physical CPUs, the first physical CPU will be exposed as logical CPU 0 and logical CPU n. The second physical CPU will be exposed as logical CPU 1 and logical CPU n+1. Physical CPUs [a, b] would then be exposed as logical CPUs [0a, 1b, 2a, 3b]. Using the returned systemAffinityMask is a simple way to count the number of logical CPUs, simply by counting the number of set bits. (This information is also available from several other Windows API calls. However, using the process affinity mask would tell you how many logical CPUs are available to your process, and is preferable.)"So, for a 4 core i7 with HT on, the resulting table looks like this:LOGICAL PHYSICAL0 01 12 23 34 05 16 27 3What are the implications?11110000 sets logical cores 4,5,6, and 7 to available, making 0,1,2,3 unavailable. 4,5,6,7 are the HT elementsYou want only physical cores 1,2,3 with their respective HT on? 11101110It would interestingly imply that AffinityMask = 14 is the same both for HT on and HT off... (00001110 and 1110)Food for thought there...Andrew Andrew Entwistle
November 1, 201114 yr I have been doing some reading about this and I think I have come to a different conclusion...On the Microsoft Developer Network, I found information that states CPU numbering with HT to be different from that mooted here.I quote from here: http://msdn.microsof...e/cc300701.aspx"When hyper-threading is enabled, the operating system will assign a number to each logical CPU. In a system with n physical CPUs, the first physical CPU will be exposed as logical CPU 0 and logical CPU n. The second physical CPU will be exposed as logical CPU 1 and logical CPU n+1. Physical CPUs [a, b] would then be exposed as logical CPUs [0a, 1b, 2a, 3b]. Using the returned systemAffinityMask is a simple way to count the number of logical CPUs, simply by counting the number of set bits. (This information is also available from several other Windows API calls. However, using the process affinity mask would tell you how many logical CPUs are available to your process, and is preferable.)"So, for a 4 core i7 with HT on, the resulting table looks like this:LOGICAL PHYSICAL0 01 12 23 34 05 16 27 3What are the implications?11110000 sets logical cores 4,5,6, and 7 to available, making 0,1,2,3 unavailable. 4,5,6,7 are the HT elementsYou want only physical cores 1,2,3 with their respective HT on? 11101110It would interestingly imply that AffinityMask = 14 is the same both for HT on and HT off... (00001110 and 1110)Food for thought there...AndrewInteresting Andrew. Thanks for posting.However, that's not what I see here. If I run Prime95, one thread, I see core 0 active (50%) when I set the affinity to virtual cores 0 & 1.Time to read the article
November 1, 201114 yr As I wrote, food for thought...I thought it strange as well when reading, but it is on MSDN, and not a user post, but an article...What AM did you set for Prime95? 3?Your sig specs indicate HT is off...Run two threads with an AM of 3 (cores 0+1), 6 (cores 1+2), 12 (cores 2+3)...Then try the same with HT on, same AM...Andrew Andrew Entwistle
November 1, 201114 yr As I wrote, food for thought...I thought it strange as well when reading, but it is on MSDN, and not a user post, but an article...What AM did you set for Prime95? 3?Your sig specs indicate HT is off...Run two threads with an AM of 3 (cores 0+1), 6 (cores 1+2), 12 (cores 2+3)...Then try the same with HT on, same AM...AndrewI obviously switched on HT for the test man virtual cores seem to be assigned exactly as I described in my other post. 0 & 1 go to core 0. 2 & 3 to core 1 and so on.That article dates back to 2005 and the pentium 4 era. Not even Nehalem had seen the light by then, maybe the virtual core assignment pattern changed later on?
Create an account or sign in to comment