VOGONS

Common searches


First post, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

Hello, I am not sure if programs that are designed for a single processor are meant to use both processor cores when run. I have tried my best to find all the updates Microsoft has provided for such CPU's working under Windows XP Home Service Pack 2, If possible, could someone post a list of all the updates Microsoft have released for this issue?

I believe based on what I have been told from some emulator project authors (zsnes, snes9x, bsnes) that switching between processors is very slow when it comes to emulation and well, i think this might relate to my not so great performance with DOSBox and other complex emulators (n64/playstation emulators anyone?). I believe the single threaded program is constantly being thrown from core to core.

I am aware that i can force it to use a single thread via the affinity settings in Task Manager and via imagecfg.exe but this is a work around.

-----
If the behavior i noted above is normal, then please forgive me for wasting your time.

Core2 DUO e6750 @ 2.66GHZ, ASUS P5KC mb, 2 gig ddr2 800 ram DC, 200 gig sata2 hdd, x-fi xtreme sound, nvidia geforce 8800gt 512mb pcie, windows xp home sp2, Thermaltake 750watt toughpower power supply.

EDIT: Is it possible to completely disable a core? i do mean completely and not just via the affinity setting... i mean actually have windows think there is only 1 cpu?

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 1 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I can see no reason why it should be slow down any emulation, or any other program.

The first question you have to ask yourself is this:

In which situation would the the process/thread switch to a different core?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 2 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:

I can see no reason why it should be slow down any emulation, or any other program.

The first question you have to ask yourself is this:

In which situation would the the process/thread switch to a different core?

You know the snes and how it has special chips in some games? Now, is it faster to emulate the base snes in one thread and the special chip in a second thread?

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 3 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I dunno, but if you have 2 threads (base + special), and a CPU with 2 cores, then there is no need to switch the thread to a different core is there?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 4 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

Well, I am after a way to make it so that single threaded programs run on a single thread. I do not wish to use the affinity setting.

people with core 2 duo's say bsnes runs on a single thread for them but for me it does not.

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 5 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Single-threaded programs by definition always run on a single-thread.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 6 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

Yet they do not on my machine. DOSBox does not use one thread on my machine.

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 7 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Then DOSBox is not single-threaded.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 8 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

Are you sure? and here are some screenshots of taskmanager...

http://i63.photobucket.com/albums/h133/franpa … untitled-10.png [doing nothing]
http://i63.photobucket.com/albums/h133/franpa … untitled1-1.png [running bnsf (a NSF music player)]

trust me there is something that is slow, i believe if a program is split into 2 threads and the 2 threads need too communicate with each other to stay in sync, you would take a performance hit everytime that occurred right?

sorry, i can't think of the term im after in regards to what im talking about... is it Context Switching?

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 10 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

Ok, I have done some checking and will get back to you tomorrow or something about this... I could be wrong 😜

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 11 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

http://board.zsnes.com/phpBB2/viewtopic.php?t … 4510&start=5700
So, does DOSBox use more then one kernel-level thread?

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 12 of 27, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Dunno what a kernel-level thread is supposed to be but DOSBox has one thread that does most of the work and some others that mix the sound, read input devices and such.

1+1=10

Reply 13 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

I'm aware it is wikipedia but still... http://en.wikipedia.org/wiki/Thread_(computer_science)

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 14 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

And your question was?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 15 of 27, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

It explains what a kernel-level thread is?

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 16 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Yes.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 18 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Dosbox does get scheduled from one core to another. That is how windows scheduler works, it checks which core is used less so it schedules the next slice to that core. Does that make single thread programs slower? Dunno, maybe. Can I do anything about it? Write a better scheduler or set process affinity. Can I make windows see only 1 core? Check your bios or change Computer to ACPI Uniprocessor PC. But I wouldn't recommend that, it is better to set the affinity.

http://www.si-gamer.net/gulikoza

Reply 19 of 27, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
MiniMax wrote:

In which situation would the the process/thread switch to a different core?

So potentially at the beginning of each time-slice, after the CPU has already destroyed registers, polluted the cache etc, in order to run the scheduler code?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32