Dolphin, the GameCube and Wii emulator - Forums

Full Version: Multi-Core Performance speedup with(out) hyperthreading
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

Nightdweller

Hi,

i am new around here, so someone else may have posted this somewhere else.
Anyhow - i thought it might save some people time and frustration.

I have an I7 920 quad core machine with hyperthreading turned on, and an nvidia gtx 275.

I tried various configuration settings until i learned that the directx plugin worked considerable better then the open-gl version, but i wasn't getting good framerates, i tried my sports resort and i was getting something like 30 fraps on the table tennis.

After getting no where for a while i tried running it on my girlfriends mobile, and even though its has a far inferior processor and graphics card - it worked faster!

I played around with the settings and then i noticed that every now and then i get much improved performance, and then slow again - regardless of the settings i changed.

On a hunch i set the emulator affinity int task manager to core 0 and core 2 (core 1 is really the hyperthreading core 0) and things started working much faster.

So, went to the bios, turned off hyperthreading and now everything is fast all the time.

I also did some additional settings with the "lock threads to cores" option, on my machine it is slower and task manager shows activity on all four cores. on dual core machines i tried - locking is faster.

btw: turning off hyperthreading is strictly faster then any other config i tested, looks like the emulator behaves better when all the cores are real ones.
Hey.

I have an i7 920 and a gtx 295. Can you advise me in non-technical terms how to maximise the speed? Currently on Super Mario Galaxy I only get 30FPS on average which is 50% speed which surprised me given that I thought my machine was powerful.

Nightdweller

(05-21-2010, 10:50 AM)iwantzelda Wrote: [ -> ]Hey.

I have an i7 920 and a gtx 295. Can you advise me in non-technical terms how to maximise the speed? Currently on Super Mario Galaxy I only get 30FPS on average which is 50% speed which surprised me given that I thought my machine was powerful.

well, your question is a technical one, i am pretty sure it only has a technical answer....what do you want to know?
This is already a well known issue. Anyone with a processor with HT whether it's an i7/i5/i3 or a P4 needs to turn it off or they'll only get half of their potential speed. This isn't always true depending on the build and setup but for most people it's true.
Try turning off with latest build and slow down worst....i have an i3 540 procesor...
(05-21-2010, 11:15 AM)Nightdweller Wrote: [ -> ]well, your question is a technical one, i am pretty sure it only has a technical answer....what do you want to know?
What does: 'emulator affinity int task manager to core 0 and core 2' mean?

Also, what is your overal conclusion? Simply turn off hyperthreading in the BIOS? Or do I have to do this emulator affinity stuff/other things?

I don't know much about computers. Undecided

Thanks. Heart

Nightdweller

(05-21-2010, 06:49 PM)iwantzelda Wrote: [ -> ]
(05-21-2010, 11:15 AM)Nightdweller Wrote: [ -> ]well, your question is a technical one, i am pretty sure it only has a technical answer....what do you want to know?
What does: 'emulator affinity int task manager to core 0 and core 2' mean?

Also, what is your overal conclusion? Simply turn off hyperthreading in the BIOS? Or do I have to do this emulator affinity stuff/other things?

I don't know much about computers. Undecided

Thanks. Heart


hi,
Well, yes - you should turn off hyperthreading in the bios if you want to get better performance. it's a fairly safe thing to do as long as you don't touch anything else while you're in the bios.

you'll have to look for specific instructions for your specific board/bios on how to turn off hyperthreading (or you could look around the menus and try to find "hyperthreading" Smile
it usually around menus that have to do with the processor.

as for setting affinity, if you're using windows 7/vista (and maybe xp - not sure) you can open task manager, right click on dolphin process in the process list, click set affinity and select cores 0 and 2, it's basically the same as turning off hyperthreading, but you'd have to do it again every time you start the emulator.
Only enabling affinity for cores is tedious because it doesn't stick. It's much easier to go in bios, select advanced options, then select hyperthreading and disable it. HT will have no advantage in dolphin and your 920 can run it at full speed without it. During present time there is no need for more than 2 or 3 cores/threads utilized (1 dsp processor, 1 video, 1 for windows/linux/osx background processes).

Even a good dual core, like core 2 duo/core i3 will run dolphin full speed with adequate gpu, if you have i3 you don't need hyperthreading enabled either.

ashir

(05-21-2010, 09:24 PM)Ocean Wrote: [ -> ]Only enabling affinity for cores is tedious because it doesn't stick.

In fact it is possible thanks to a wonderful program called Core Affinity Resident.

You just ajust the program core affinity and every time you launch that program Core Affinity Resodent will auto ajust the core affinity, so you don't have to do it manually...

http://coreaffinity.megabyet.net/coreaffinity.htm
How i dont have that menue on my dolphin emulator... how do u turn it off
Pages: 1 2