View Full Version : [Workaround] EQ2 performance boost for many-core systems.
Huene
01-21-2010, 03:18 AM
<p><strong>The Situation</strong></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Everquest 2 has a problem with processors numbering more than 2 cores. For instance, on my computer I would vary in framerate between 6 and 25 depending on my system, on Balanced settings. </p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Some of you may have realized this and tried to set the affinity of EQ2 to specific cores only to discover that EQ2 seems to want to set its-self back to all your cores no more than about 10 seconds later. As such this isn't a viable option for anything more than testing to see if this is in fact your problem.</p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>This work around isn't for everyone, let me put that out there right now, because essentially what we're going to be doing is shutting down two of your cores so that windows believes you only have two. If you use your computer for other things where multi core processing is important, you may want to weigh your costs and benifits. </p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Since making the change I'm proposing, those frame rate numbers I put in the first paragraph have changed to 35 and 60 in the same test locations.</p><p style="padding-left: 30px;"> </p><p><strong>My Specs, the test system (Relevant)</strong></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>I wanted to make sure to include my stats to explain that while I'm not state of the art, my computer is entirely capable of getting more than the 6 fps as I've seen in certain places.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>CPU</strong>:<span style="white-space: pre;"> </span>Intel Q6600 G0 2.4Ghz (Quad Core) Over clocked to 3.6Ghz</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>GPU</strong>:<span style="white-space: pre;"> </span>Nvidia Geforce GTX 280</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>MEM</strong>:<span style="white-space: pre;"> </span>8GB DDR2</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>HDD</strong>:<span style="white-space: pre;"> </span>Raid 0; 3TB</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>SND</strong>:<span style="white-space: pre;"> </span>Razer Barracuda AC-1 Sound card</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>OS</strong>:<span style="white-space: pre;"> </span>Windows 7 64bit</p><p style="padding-left: 30px;"> </p><p><span style="font-weight: bold;">The Test (Is this the problem I'm having?)</span></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Okay well before you go and make any changes, lets make sure this work-around will actually make a difference for you. All instructions I'm giving here will be for the 64 bit version of Windows 7. You may need to do some research if you have a different OS on how to achieve the same goals.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>1)</strong> Make sure EQ2 is running and in a window since we only have about 10 seconds before it auto-corrects the method we're using to test. You'll want to be able to see both Task Manager and the in-game FPS monitor</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>2)</strong> Open the in game monitor if you don't have it open already by pressing <strong>F11</strong>, the green number is FPS and is the number we need to check against.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>3)</strong> <strong>Right-Click </strong>on the taskbar and select <strong>Start Task Manager.</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>4) Click</strong> on the <strong>Processes</strong> tab to show all running processes on your computer.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>5)</strong> <strong>Right-Click</strong> on <strong>Everquest2.exe</strong> and choose <strong>Set Affinity...</strong> </p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>6) Uncheck</strong> all but <strong>2</strong> check boxes, it doesn't really matter which ones.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>7)</strong> <strong>Watch</strong> the in-game FPS meter and hit <strong>OK</strong>, if you get a dramatic spike on the green FPS number, then this work around will fix your problem until a proper fix can be implemented by Sony.</p><p><strong>The Work-Around</strong></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Okay now you've discovered you're a candidate for this. Here's how to make it persistant (until you undo it or re-install windows)</p><p style="padding-left: 60px;"><span style="white-space: pre;"><strong> 1)</strong> </span><strong>Click Start</strong> and type in <strong>msconfig</strong> and press enter to start the configuration utility for windows startup stuff.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>2) Click</strong> on the <strong>Boot</strong> tab when the System configuration utility comes up.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>3) Click</strong> on <strong>Advanced Options...</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>4) Check</strong> the box that says <strong>Number of processors...</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>5) </strong>Set the drop down box immediately below it to <strong>2</strong>.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>6) Click OK</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>7) </strong>[Optional] <strong>Check</strong> the box that says <strong>Make all boot settings permanent</strong> (this may or may not be neccesary, the interface is not clear on if this affects core settings as well)</p><p style="padding-left: 60px;"><span style="white-space: pre;"> <strong>8)</strong></span><strong> Click OK</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>9) Restart</strong> your computer. Because this is a boot option, it will not take effect until the next boot.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span>At this point you should now be running windows on 2 of your cores and EQ2 should be less of a struggle for you to deal with. </p><p><strong>The un-Work-Around</strong></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>Okay so all this is great, but Huene, what if I decide I'm not going to play EQ2 anymore for any reason and want to undo this. Don't worry, I'm not going to leave you guessing, in truth it's quite similar to disabling the cores with just one small difference.</p><p style="padding-left: 30px;"> </p><p style="padding-left: 60px;"><span style="white-space: pre;"><strong> 1)</strong> </span><strong>Click Start</strong> and type in <strong>msconfig</strong> and press enter to start the configuration utility for windows startup stuff.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>2) Click</strong> on the <strong>Boot</strong> tab when the System configuration utility comes up.</p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>3) Click</strong> on <strong>Advanced Options...</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> </span><strong>4) Unc</strong><strong>heck</strong> the box that says <strong>Number of processors...</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> <strong>5</strong></span><strong>)</strong><strong> Click OK</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> <strong>6</strong></span><strong>) </strong>[Optional] <strong>Check</strong> the box that says <strong>Make all boot settings permanent</strong> (this may or may not be neccesary, the interface is not clear on if this affects core settings as well)</p><p style="padding-left: 60px;"><span style="white-space: pre;"> <strong>7)</strong></span><strong> Click OK</strong></p><p style="padding-left: 60px;"><span style="white-space: pre;"> <strong>8</strong></span><strong>)</strong><strong> Restart</strong> your computer. Because this is a boot option, it will not take effect until the next boot.</p><div></div><p><strong>Conclusion</strong></p><p style="padding-left: 30px;"><span style="white-space: pre;"> </span>I hope that someone finds this useful. Let me know your experiences.</p>
Nagel
01-21-2010, 08:13 AM
Just sucks that we pay so much for Quad Core to have top of the line to only have to downgrade it...
Huene
01-21-2010, 02:48 PM
<p>I agree, I would love to see an EQ2 expansion (and at this point, I would pay expansion price for this) that does nothing but rewrite the engine. Previously I would have expected it, and in other circumstances I would have expected it. But at this point, I'm just willing to pay for it.</p><p>Bring us up to DirectX 11 (or OpenGL, so I can go back to Ubuntu) with full Multi-core 64bit support.</p><p>I'd be content with that.</p>
Nagel
01-21-2010, 03:24 PM
<p>You and i would say almost every everquest 2 player, because all new computers are dual or quad now... So just about EVERYONE has a multi-core.</p>
FreddyRo
01-21-2010, 03:30 PM
<p>The OP is reducing from a quad to a dual... If you have a single-core or dual-core cpu, don't do this!</p>
Autenil
01-21-2010, 04:00 PM
<p>This is very interesting. I'll see if our CompatLab can reproduce the problem. If they can, we can look into a solution.</p><p>Here's something else you can try. With all processors enabled, do the following:</p><ol><li>Start up EverQuest II.</li><li>Start up a second copy of EverQuest II.</li><li>Close the first EverQuest II.</li><li>See how your framerate compares</li></ol><p>EQII load balances multiple instances by assigning affinity to the main thread in reverse order of processors. I.e. with 4 cores, the first copy runs on core 3, the second copy runs on core 2, the third copy on core 1, the fourth on core 0, the fifth on core 3, etc. By starting two copies and running the second one, the main thread is locked to a different core than normal. Something else in your system may be locking itself to the same core. It would be curious to see if your framerate is affected, but it doesn't explain why your framerate is affected positively by limiting the OS to two cores.</p>
Huene
01-21-2010, 05:43 PM
<p><cite>Autenil wrote:</cite></p><blockquote><p>This is very interesting. I'll see if our CompatLab can reproduce the problem. If they can, we can look into a solution.</p><p>Here's something else you can try. With all processors enabled, do the following:</p><ol><li>Start up EverQuest II.</li><li>Start up a second copy of EverQuest II.</li><li>Close the first EverQuest II.</li><li>See how your framerate compares</li></ol><p>EQII load balances multiple instances by assigning affinity to the main thread in reverse order of processors. I.e. with 4 cores, the first copy runs on core 3, the second copy runs on core 2, the third copy on core 1, the fourth on core 0, the fifth on core 3, etc. By starting two copies and running the second one, the main thread is locked to a different core than normal. Something else in your system may be locking itself to the same core. It would be curious to see if your framerate is affected, but it doesn't explain why your framerate is affected positively by limiting the OS to two cores.</p></blockquote><p>Actually, I have tried that before, except without shutting down the first client, traditionally the second client does have quite a speed boost, but I'm in a group and on two cores at the moment. I will try that as you posted it when I am able, how far into the game do I need to get? Character select? all the way into Norrath?</p>
Destriel
01-21-2010, 05:48 PM
<p>i fought with this a while back, here's my thread:</p><p><a href="http://forums.station.sony.com/eq2/posts/list.m?topic_id=457105">http://forums.station.sony.com/eq2/...topic_id=457105</a></p><p>tried everything i can think of, and i have no idea what eq2 is doing to override manually set process affinity (or why it would want to) but it's EXTREMELY annoying. i run a quad core i7 with hyperthreading enabled, theres no way im disabling most of my cores just to box better... thank you Autenil for offering to look in to this, i was not satisfied with the SOE responses in my thread...</p>
Huene
01-21-2010, 06:02 PM
<p><cite>Autenil wrote:</cite></p><blockquote><p>This is very interesting. I'll see if our CompatLab can reproduce the problem. If they can, we can look into a solution.</p><p>Here's something else you can try. With all processors enabled, do the following:</p><ol><li>Start up EverQuest II.</li><li>Start up a second copy of EverQuest II.</li><li>Close the first EverQuest II.</li><li>See how your framerate compares</li></ol><p>EQII load balances multiple instances by assigning affinity to the main thread in reverse order of processors. I.e. with 4 cores, the first copy runs on core 3, the second copy runs on core 2, the third copy on core 1, the fourth on core 0, the fifth on core 3, etc. By starting two copies and running the second one, the main thread is locked to a different core than normal. Something else in your system may be locking itself to the same core. It would be curious to see if your framerate is affected, but it doesn't explain why your framerate is affected positively by limiting the OS to two cores.</p></blockquote><p>Okay what I did was:</p><p>1) Rebooted</p><p>2) Started Client1 and got all the way into Norrath (16fps Kylong Plains)</p><p>3) Started Client2 and got all the way into Norrath (35fps Kylong Plains next to Client1)</p><p>4) Exited Client1</p><p>5) Started Client3 and got all the way into Norrath (10fps Kylong Plains next to Client2) </p><p>6) Checked Client2 and it's still running at 30-35fps in the same spot</p>
kdmorse
01-21-2010, 06:06 PM
<p><cite>Autenil wrote:</cite></p><blockquote><p>EQII load balances multiple instances by assigning affinity to the main thread in reverse order of processors. I.e. with 4 cores, the first copy runs on core 3, the second copy runs on core 2, the third copy on core 1, the fourth on core 0, the fifth on core 3, etc. By starting two copies and running the second one, the main thread is locked to a different core than normal. Something else in your system may be locking itself to the same core. It would be curious to see if your framerate is affected, but it doesn't explain why your framerate is affected positively by limiting the OS to two cores.</p></blockquote><p>I think I can definitively state that this logic is not working reliably 100%, and has not for some time.</p><p>I regularly dual-client on my quad core system, and some times (I'd almost go as far as to say about 1 in 4 times), the two main threads lock to the same processor. One processor pins at 100%, the rest idle along at 10%, and my framerates are cut in half.</p><p>When this happens, sometimes I can bring up task manager, and limit one process to cores 0 and 1, and the other process to cores 2 and 3. I get an immediate doubling of framerates in both clients, and two CPU's (one from each set) run at 100%. Sometimes it's permanent, and I can run for hours this way. Sometimes, somehow, the affinity gets lost (sometimes as fast as in 5 minutes), and both processes become eligable for all four cores again, and the main threads converge back on the same core. </p><p>Normally two clients don't land on the same core. When they do, usually tweaking the process afinities gets things flowing smoothly. Sometimes, when it insists on being cranky, I have to keep restarting clients (never the entire system) until the two main threads land on seperate cores.</p><p>(Vista, SP1, UAC enabled, Administrative user, regular (non streaming) station launcher).</p><p>-Ken</p>
Huene
01-21-2010, 06:13 PM
<p><cite>kdmorse wrote:</cite></p><blockquote><p><cite>Autenil wrote:</cite></p><blockquote><p>EQII load balances multiple instances by assigning affinity to the main thread in reverse order of processors. I.e. with 4 cores, the first copy runs on core 3, the second copy runs on core 2, the third copy on core 1, the fourth on core 0, the fifth on core 3, etc. By starting two copies and running the second one, the main thread is locked to a different core than normal. Something else in your system may be locking itself to the same core. It would be curious to see if your framerate is affected, but it doesn't explain why your framerate is affected positively by limiting the OS to two cores.</p></blockquote><p>I think I can definitively state that this logic is not working reliably 100%, and has not for some time.</p><p>I regularly dual-client on my quad core system, and some times (I'd almost go as far as to say about 1 in 4 times), the two main threads lock to the same processor. One processor pins at 100%, the rest idle along at 10%, and my framerates are cut in half.</p><p>When this happens, sometimes I can bring up task manager, and limit one process to cores 0 and 1, and the other process to cores 2 and 3. I get an immediate doubling of framerates in both clients, and two CPU's (one from each set) run at 100%. Sometimes it's permanent, and I can run for hours this way. Sometimes, somehow, the affinity gets lost (sometimes as fast as in 5 minutes), and both processes become eligable for all four cores again, and the main threads converge back on the same core. </p><p>Normally two clients don't land on the same core. When they do, usually tweaking the process afinities gets things flowing smoothly. Sometimes, when it insists on being cranky, I have to keep restarting clients (never the entire system) until the two main threads land on seperate cores.</p><p>(Vista, SP1, UAC enabled, Administrative user, regular (non streaming) station launcher).</p><p>-Ken</p></blockquote><p>This is pretty much my experience as well</p>
Rothgar
01-22-2010, 02:23 AM
<p>I also have a Q6600 at home in my machine. I've just gotten home from work and i'll do some testing to see if i can repro any of these behaviors.</p>
Huene
01-22-2010, 02:24 AM
<p><cite>Rothgar wrote:</cite></p><blockquote><p>I also have a Q6600 at home in my machine. I've just gotten home from work and i'll do some testing to see if i can repro any of these behaviors.</p></blockquote><p>-nod- I'm on right now though in game but I'm getting notifications for this thread so let me know if you need any info.</p>
Rothgar
01-22-2010, 02:50 AM
<p>Unfortunately my tests didn't reveal any FPS changes.</p><p>I started the client and went to Moors of Ykesha. I set my Graphics Options to Balanced.</p><p>With all 4 cores enabled I was hovering around 39-40 FPS. As you can see the client is running on Core 3 which is typical. Core 2 also looks pretty busy. It's probably handling animation and resource loading. Cores 0 and 1 aren't really doing much.</p><p><img src="http://www.gregsplace.com/blogimages/all_cores.png" width="875" height="507" /></p><p>For the first test, I disabled Cores 0 and 1 so the EQII processes didn't have to do any switching. As you can see my frame rate pretty much stayed the same and the processor activity didn't change much either.</p><p><img src="http://www.gregsplace.com/blogimages/disabled_01.png" width="863" height="503" /></p><p>For the second test I disabled cores 2 and 3 which would cause EQII to be moved to cores 0 & 1. You can see the change in core activity, but again I didn't see any change in framerate.</p><p><img src="http://www.gregsplace.com/blogimages/disabled_23.png" width="862" height="501" /></p><p>So unfortunately I wasn't able to validate your claim on my system. I have no doubt it had some effect on your system but I can't explain why. Perhaps it could be some specific graphic setting that varies between our machines, or some other background process. If you can think of anything else I can try, let me know.</p>
Rothgar
01-22-2010, 03:04 AM
<p>Earlier tonight I started a second instance of the EQII client and it ran on Core2 as expected since the first client was running on Core 3. This caused my framerate to drop and both clients were getting about 25 FPS.</p><p>I decided to test this again after my affinity testing. When I started the second client, this time it came up on Core 3, the same Core that the first client was running on. This time Core 3 was pegged at 100% instead of bouncing around in the 90's like normal and both clients only got 18 FPS. So there is certainly an issue that's causing the client to not always choose a new core like some of you reported.</p><p>So I shutdown the first client, leaving the second on Core3. I started a new client again and this time it came up on Core 0. I killed the client running on Core 3 which left the other client on Core 0 as the only client running. Even in this situation the framerate was about the same.</p><p>So I've unsuccessfully been able to get a different framerate by forcing the client on different cores. It seems to me, at least on my system, that no matter what core a single client is running on, I get about the same framerate.</p><p><img src="http://www.gregsplace.com/blogimages/core0.png" width="895" height="505" /></p>
Huene
01-22-2010, 03:06 AM
<p><cite>Rothgar wrote:</cite></p><blockquote><p>So unfortunately I wasn't able to validate your claim on my system. I have no doubt it had some effect on your system but I can't explain why. Perhaps it could be some specific graphic setting that varies between our machines, or some other background process. If you can think of anything else I can try, let me know.</p></blockquote><p>About the only two things I can tell you for certain is</p><p>1) that it is not third party software getting in the way, I just recently reinstalled Windows 7 and right now the only things I have installed are EQ2 and Ventrilo and Google Chrome.</p><p>2) The problem seems to be intermittent now, up until I resolved this the first time (by disabling cores) it happened everytime. Now however it has good days and bad days. (day defined as run attempt)</p>
Dreyco
01-22-2010, 03:22 AM
<p><cite>Rothgar wrote:</cite></p><blockquote><p>Earlier tonight I started a second instance of the EQII client and it ran on Core2 as expected since the first client was running on Core 3. This caused my framerate to drop and both clients were getting about 25 FPS.</p><p>I decided to test this again after my affinity testing. When I started the second client, this time it came up on Core 3, the same Core that the first client was running on. This time Core 3 was pegged at 100% instead of bouncing around in the 90's like normal and both clients only got 18 FPS. So there is certainly an issue that's causing the client to not always choose a new core like some of you reported.</p><p>So I shutdown the first client, leaving the second on Core3. I started a new client again and this time it came up on Core 0. I killed the client running on Core 3 which left the other client on Core 0 as the only client running. Even in this situation the framerate was about the same.</p><p>So I've unsuccessfully been able to get a different framerate by forcing the client on different cores. It seems to me, at least on my system, that no matter what core a single client is running on, I get about the same framerate.</p><p><img src="http://www.gregsplace.com/blogimages/core0.png" width="895" height="505" /></p></blockquote><p>Can you repeat these results on Extreme Quality settings? Just out of curiosity.</p>
Tharzgak
01-22-2010, 10:25 AM
<p>For all the work that SOE has done to make the game play experience more enjoyable, it looks like there is a lot more work to be done. For example, given that the DB server for the Nagafen server (more of a group of servers) was just (in the last 6 months) updated to x64; they seem to not be up to date on current application parallelism whether it be load-balancing the zone servers down to recompiling the application to take advantage of current hardware.</p><p>If the development team did not know, there are compilers available to tackle the application parallelism issues available. You just have to spend money on them. Where does our $15 a month go if not to help improve the experience? There is no reason my brand new computer should be running the whole game on one core (off-loading is stupid and not even close to multi-core support) maxed out at 100%.</p><p>As a whole, EQ2 is a super fun game. I just wish I had a 10Ghz single core processor to play it good like the developers must have.</p>
Carpediem
01-22-2010, 11:47 AM
<p>I tried this test as well on my system with a QX6850 @3.3, 8 gigs DDR2 800, 285 GTX and Windows 7 64 bit with a fresh install on a SSD and not no difference in frame rates either.</p>
Destriel
01-22-2010, 12:40 PM
<p>Do you have multiple monitors? If so, where were the windows (both on same monitor and tabbing or on seperate monitors)?</p>
Huene
01-22-2010, 03:00 PM
<p><cite>Destriel wrote:</cite></p><blockquote><p>Do you have multiple monitors? If so, where were the windows (both on same monitor and tabbing or on seperate monitors)?</p></blockquote><p>Mine (OP) were on the same monitor, Acer G24 though I don't believe that would make a performance difference.</p>
Lantis
01-22-2010, 03:20 PM
<p>Just a thought: recent i5 and i7 processors have a Turbo Mode where unused cores can be parked, and the clock rate of the remaining cores raised.</p><p>Using the reverse allocation logic described, wouldn't that cause a drop in frame rate, since your OS would be loading stuff on core 0, while EQ2 would use core 2 and 3 (result: three cores out of four in use, only one parked)? If EQ2 was to be using core 0 and 1 along with everything else, then the OS would park core 2 and 3, and raise the clock rate of core 0 and 1, resulting in a performance boost. The clock increase on the latest generation of i5 and i7 can be quite significant when you have two or three cores parked (look at the datasheet for the i7 860 for example).</p>
Rothgar
01-22-2010, 03:33 PM
<p><cite>Lantis@Antonia Bayle wrote:</cite></p><blockquote><p>Just a thought: recent i5 and i7 processors have a Turbo Mode where unused cores can be parked, and the clock rate of the remaining cores raised.</p><p>Using the reverse allocation logic described, wouldn't that cause a drop in frame rate, since your OS would be loading stuff on core 0, while EQ2 would use core 2 and 3 (result: three cores out of four in use, only one parked)? If EQ2 was to be using core 0 and 1 along with everything else, then the OS would park core 2 and 3, and raise the clock rate of core 0 and 1, resulting in a performance boost. The clock increase on the latest generation of i5 and i7 can be quite significant when you have two or three cores parked (look at the datasheet for the i7 860 for example).</p></blockquote><p>The OS stuff you're talking about is pretty insignificant in terms of processor usage. The i7 should still be able to shut down cores 0 and 1 to get a performance increase on cores 2 and 3. Even if you run EQII on core 0 you will still see things happening on cores 2 and 3. The i7 would need to make it's decision about shutting down cores based on "low usage", not "no usage".</p><p>And if you are running tasks that are high in CPU usage, you probably don't want EQII sharing a core with it anyway.</p>
Oatheac
01-22-2010, 06:32 PM
<p>On a different note, it would be really neat to be able to divide up EQ2's processing and choose which cores to put them on (through options panel after it detects how many cores you have). I have no idea how difficult that could be.</p>
Lantis
01-22-2010, 07:32 PM
<p><cite>Rothgar wrote:</cite></p><blockquote><p><cite>Lantis@Antonia Bayle wrote:</cite></p><blockquote><p>Just a thought: recent i5 and i7 processors have a Turbo Mode where unused cores can be parked, and the clock rate of the remaining cores raised.</p><p>Using the reverse allocation logic described, wouldn't that cause a drop in frame rate, since your OS would be loading stuff on core 0, while EQ2 would use core 2 and 3 (result: three cores out of four in use, only one parked)? If EQ2 was to be using core 0 and 1 along with everything else, then the OS would park core 2 and 3, and raise the clock rate of core 0 and 1, resulting in a performance boost. The clock increase on the latest generation of i5 and i7 can be quite significant when you have two or three cores parked (look at the datasheet for the i7 860 for example).</p></blockquote><p>The OS stuff you're talking about is pretty insignificant in terms of processor usage. The i7 should still be able to shut down cores 0 and 1 to get a performance increase on cores 2 and 3. Even if you run EQII on core 0 you will still see things happening on cores 2 and 3. The i7 would need to make it's decision about shutting down cores based on "low usage", not "no usage".</p><p>And if you are running tasks that are high in CPU usage, you probably don't want EQII sharing a core with it anyway.</p></blockquote><p>Gotcha. I wasn't sure about the logic applied by Windows and Intel on determining when to park a core, but if core 0 can also be parked because it's underused, this would still be fine indeed.</p>
Huene
01-22-2010, 07:35 PM
<p><cite>Oatheac@Blackburrow wrote:</cite></p><blockquote><p>On a different note, it would be really neat to be able to divide up EQ2's processing and choose which cores to put them on (through options panel after it detects how many cores you have). I have no idea how difficult that could be.</p></blockquote><p>I would also like this, it would make things about a thousand times simpler, and yet grant improved control at the same time.</p>
Tharzgak
01-22-2010, 09:24 PM
<p><cite>Lantis@Antonia Bayle wrote:</cite></p><blockquote><p>Just a thought: recent i5 and i7 processors have a Turbo Mode where unused cores can be parked, and the clock rate of the remaining cores raised.</p><p>Using the reverse allocation logic described, wouldn't that cause a drop in frame rate, since your OS would be loading stuff on core 0, while EQ2 would use core 2 and 3 (result: three cores out of four in use, only one parked)? If EQ2 was to be using core 0 and 1 along with everything else, then the OS would park core 2 and 3, and raise the clock rate of core 0 and 1, resulting in a performance boost. The clock increase on the latest generation of i5 and i7 can be quite significant when you have two or three cores parked (look at the datasheet for the i7 860 for example).</p></blockquote><p>First you need to understand Intel iX Turbo mode and how it works. Basically all Turbo mode does is increase the Multiplier which is the reverse of the standard power saving features that have been in place since the Presler core (Pentium D 2nd Gen) and can turn off completely idle cores in a matter of milliseconds, but this is all dependent on how much heat is being generated as well. The power management module inside the chip handles all of this. If you run your chip at a 16x multiplier for example you could bring that all the way up to 22x with Turbo mode. If you're like me and run at 21x standard the performance increase is negligible.</p><p>Plain and simple, you will be bottlenecked based on how efficient your chip can process as well as clock speed. Unfortunately nearly everything in the game is designed for one super, duper fast processor core. Top of the line graphics card and multiple cores will get you nowhere.</p><p>BTW, changing Affinity and such will not help; Windows works off of the imagename (not the PID) of the program which is then stored in the Registry once you have manually set this. Multiple instances of EQ2 still have the same imagename and will not give any sort of performance boost.</p>
Hilamor
01-22-2010, 10:03 PM
<p>I seem to have fixed the problem for myself. When using Station Launcher, every client that gets launched was using CPU 0. If I use the old EQ2 Launcher (eq2.exe), the first instance runs on CPU 3. I launched another client using the old EQ2 Launcher and it selected CPU 2. I tested with the new streaming client and it selected CPU 0 too. I didn't try a second instance of the streaming client to see if it selected CPU 0 again because the stream client doesn't support dual-boxing (doesn't support sharing of the resource files between instances and causes it all to be downloaded again).</p>
Hilamor
01-22-2010, 10:18 PM
<p>I did some more testing with Station Launcher. After running Station Launcher as Run as Administrator, it choose CPU 3 for first instance and CPU 2 for second instance. I guess that makes since. When EQ 2 is launched from Station Launcher without Administrator rights it probably doesn't have the rights to select a core for the instance.</p>
Detor
01-23-2010, 06:01 PM
<p><cite>Rothgar wrote:</cite></p><blockquote>The OS stuff you're talking about is pretty insignificant in terms of processor usage. The i7 should still be able to shut down cores 0 and 1 to get a performance increase on cores 2 and 3. Even if you run EQII on core 0 you will still see things happening on cores 2 and 3. The i7 would need to make it's decision about shutting down cores based on "low usage", not "no usage".<p>And if you are running tasks that are high in CPU usage, you probably don't want EQII sharing a core with it anyway.</p></blockquote><p>The only EQ2/i7/i5 conflict I know of is that Windows knows core 0/1 are the same physical core, 2/3, 4/5, 6/7 are also the same physical core. EQ2 however doesn't realize this so if you run 2 instances it will put one on core 7, one on core 6 and you end up with 2 instances sharing the same physical core of the processor.</p>
Brorimed
01-26-2010, 07:00 AM
<p>are you guys testing this with or without multiple cores enabled inside the eq2 client ??</p><p>mainly because it was possible to select the running core before this change was implemented.</p><p>I'm just curious as to the effect this might have on the result ..</p><p>( I'm testing this now on a Q6600 core2 duo )</p><p>( test done )</p><p>without having to go into to much detail I can say that even with multicore support turned OFF inside the client</p><p>eq2 still falls back to multi core even after manually setting affinity in tasklist to cpu 1. It seemed however to have a good influence on the first run client , without MC enabled and then running the second client with MC enabled .</p><p>First client started out impacting core "1" second client maxed out core "0" and then maxed core "1" but then without having a large FPS impact on the first run client..</p><p>It is funny though. When I minimize the secondary client, cpu use drops to like no use and the character on the minimized client can no longer auto follow even though the client stays "active"</p>
Huene
01-27-2010, 05:52 PM
<p><cite>Bromrim@Runnyeye wrote:</cite></p><blockquote><p>are you guys testing this with or without multiple cores enabled inside the eq2 client ??</p><p>mainly because it was possible to select the running core before this change was implemented.</p><p>I'm just curious as to the effect this might have on the result ..</p><p>( I'm testing this now on a Q6600 core2 duo )</p><p>( test done )</p><p>without having to go into to much detail I can say that even with multicore support turned OFF inside the client</p><p>eq2 still falls back to multi core even after manually setting affinity in tasklist to cpu 1. It seemed however to have a good influence on the first run client , without MC enabled and then running the second client with MC enabled .</p><p>First client started out impacting core "1" second client maxed out core "0" and then maxed core "1" but then without having a large FPS impact on the first run client..</p><p>It is funny though. When I minimize the secondary client, cpu use drops to like no use and the character on the minimized client can no longer auto follow even though the client stays "active"</p></blockquote><p>Sorry for the delay, I'm experiencing these symptoms with multi-core enabled, I'll try disabling it and see if that makes a difference.</p>
Macduck
02-08-2010, 08:44 PM
<p>I just got my new system last week: i7 920, 80gb SSD, HD 4890, 6Gb 1600Mhz, etc...</p><p>I also noticed the CPU usage under TaskManager, and saw that not all cores/threads are being used. What a bummer... any way, there has been much technical talk, but after all was said and done, is there anything I can set on my system (outside of EQ2) to improve fps?</p><p>I would go as far as installing 3rd party software if it helped improve my fps, somehow. </p><p>By the way, this is my first post ever, so sorry if I missed something on etiquette. Thanks guys.</p>
vBulletin® v3.7.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.