A Hotkey to Change ISOs Would Be Nice
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
A Hotkey to Change ISOs Would Be Nice
I don't how easy this would be to implement, but it would be really nice if there was a hotkey to open a dialog to change CD images so you don't have to exit fullscreen to swap discs.
Would be especially helpful for multiple CD games so you don't have you break the immersion factor when changing discs by going back to windowed mode
Would be especially helpful for multiple CD games so you don't have you break the immersion factor when changing discs by going back to windowed mode
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
There are emulators that have very limited use of SMT. Though most times its limited to things like post processing video filters or midi playback devices like an MT32 or other things that are considered external to the core emulation itself. Emulating different chips in a computer on different threads ends up killing the overall performance in overhead of thread message passing. The amiga emulator UAE is one example where this would be quite prohibitive. This may only be feasible with absurd amounts of TSX optimizing and using extended page tables. But vga, sound, storage and IO peripherals are only a few % of an emulators processing. Far as I know its impossible to multithread non-smt based processor emulation. Full stop.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
About any of them that added Vulkan support have some level of multi-threading when using that API because AMD designed it to be well optimized for multi-core CPUs. Running Dolphin on a CPU with weak single core like an FX is night and day between DX and Vulkan.
- unreal9010
- Posts: 160
- Joined: Sat 14 Nov, 2020 8:20 pm
Re: A Hotkey to Change ISOs Would Be Nice
This forum has always been open to suggestions (such as this one), however not to impossible demands that some people have made over the years (e.g. GeForce 3 etc.).Sooga wrote: ↑Wed 20 Jul, 2022 9:23 am Oh God would it! But this fourm is generally not open to suggestions sadly unless your 'in' if you know what I mean but I totally agree with your thread about a hot key function: (Does a baby voice) "It will breeeeeeeeeak reeeeeeeeeealism!" It's fine to a point to want PCEM to be realistic hardware but you gotta know when to make sacrifices for efficiency.
Not to be mean but this project is out of touch with reality sadly by people so obessed with 'realism' they are sacrificing usefulness (cough) multi threading (cough).
The best is a mix between 'real' and modern for function: Not sure hwo else to word it.
And no, the project itself is not out of touch with reality. Already now certain things are omitted in order not to have a too big performance impact.
Prioritizing speed over accuracy would result in frequent crashes and glitches. PCem was designed in a way so it would be able to emulate machines and their components, not to offer quick solutions that would allow you to run individual apps on newer machines.
Bear in mind that these things are very difficult to do, especially if not all information is available in the datasheets. A LOT of free time needs to be sacrificed to get things done properly. The project is free and open source and anybody can contribute to it. Developers and contributors have already achieved much despite having no official obligation to contribute a single line of code. This emulator was the first one to offer Pentium II and Voodoo 3 emulation.
You will have to accept the project as it is.
Re: A Hotkey to Change ISOs Would Be Nice
This forum has been through this "multi-thread" nonsense enough times already. Vulkan has nothing to do with CPU emulation; dolphin's CPU code is single-threaded, because GC/Wii games are single threaded, because GC/Wii are single core (No, the "Dual core" option does not split the CPU emulation). The reason vulkan improves performance on weak host CPUs mainly has to do with performing less draw calls, therefore less load on the CPU. Also, no, direct3d 11 IS multi-threaded.CryptidWorks wrote: ↑Sat 23 Jul, 2022 2:21 am
About any of them that added Vulkan support have some level of multi-threading when using that API because AMD designed it to be well optimized for multi-core CPUs. Running Dolphin on a CPU with weak single core like an FX is night and day between DX and Vulkan.
This topic has gone beyond beating a dead horse. It's also completely off-topic here.
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
Those are HLE. PCEM is not. Nor is it capable of it.CryptidWorks wrote: ↑Sat 23 Jul, 2022 2:21 am About any of them that added Vulkan support have some level of multi-threading when using that API because AMD designed it to be well optimized for multi-core CPUs. Running Dolphin on a CPU with weak single core like an FX is night and day between DX and Vulkan.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
It's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reachededdman wrote: ↑Sat 23 Jul, 2022 3:21 pmThis forum has been through this "multi-thread" nonsense enough times already. Vulkan has nothing to do with CPU emulation; dolphin's CPU code is single-threaded, because GC/Wii games are single threaded, because GC/Wii are single core (No, the "Dual core" option does not split the CPU emulation). The reason vulkan improves performance on weak host CPUs mainly has to do with performing less draw calls, therefore less load on the CPU. Also, no, direct3d 11 IS multi-threaded.CryptidWorks wrote: ↑Sat 23 Jul, 2022 2:21 am
About any of them that added Vulkan support have some level of multi-threading when using that API because AMD designed it to be well optimized for multi-core CPUs. Running Dolphin on a CPU with weak single core like an FX is night and day between DX and Vulkan.
This topic has gone beyond beating a dead horse. It's also completely off-topic here.
Re: A Hotkey to Change ISOs Would Be Nice
It seems you do not understand what I wrote. You cannot multi-thread emulation of a single-core CPU; it simply doesn't work.CryptidWorks wrote: ↑Mon 25 Jul, 2022 11:18 pm
It's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reached
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
Multithreading a cpu like you are thinking, is dang near impossible for even the best out there. No emulator on the planet does this except for old mainframe emulators where things are modular and in distinctive IP blocks where thread messaging isn't branchy, and most common OPS can be trapped without stalling other threads. Modern VMs use virtualization technologies like AMD-V and VT-x on intel to give nearly native performance of the host by doing instruction level pass through. But on an emulator like PCEM this would be impractical and still be able to emulate genuine hardware. In which case, just use Virtual Box or VMWare Workstation. You can limit execution share and approximate the performance you want on Virtual Box.. Personally I think PCEM should not delve past the classic Pentium. But Glide support is a big plus too.CryptidWorks wrote: ↑Mon 25 Jul, 2022 11:18 pm It's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reached
Re: A Hotkey to Change ISOs Would Be Nice
I'm not a virtualization expert, but it still would not make a single-threaded guest application to utilize more than one core; it'd simply make that one core more effective.wishusknight wrote: ↑Tue 26 Jul, 2022 7:22 am Modern VMs use virtualization technologies like AMD-V and VT-x on intel to give nearly native performance of the host by doing instruction level pass through. But on an emulator like PCEM this would be impractical and still be able to emulate genuine hardware. In which case, just use Virtual Box or VMWare Workstation. You can limit execution share and approximate the performance you want on Virtual Box.. Personally I think PCEM should not delve past the classic Pentium. But Glide support is a big plus too.
In any case, it cannot be applied to PCem, as you also mentioned.
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
I didn't say it would multi-thread a virtual core. Though I think I may have not been very clear in my wording there. I am often accused my my work mates of English being my second language, while not actually having a first language........
I am not particularly an expert either but I do use VM systems quite extensively on the daily from bare metal hypervisors like ESX to client based emulators like Workstation and VirtualBox to vintage emulators like PCEM, UAE, MiniVmac and multi system emulators like QEMU. I do know a decent bit about how they work and even tweak them to an extent. But by no means am I a programmer or engineer.
The best way I could tell someone why this would not work for PCEM, is to say that all visors that use VT-x will always use fairly specific and a very narrow curated list of virtual hardware in the guests. Which can approximate the basic functions of the real thing but are no where near being as close to 1:1 as emulators like PCEM (even though PCEM is no where near 1:1 either, but has a different focus of functionality). They make a lot of compromises to the virtual hardware to make it all work nicely for instruction passthrough while being seamless to any OS used in the guest. A good example is to model VirtualBox's implementation of the PIIX southbridge functionality in HDL and compare it to current efforts to model the real thing... They are so alien to each other that any form of bios compatibility or diversity of virtual hardware is impossible. So now you need different firmwares. Which negates part of PCEM's charm, Your virtual vga needs to also follow this kind of path as well. And at this point, the PCEM team is taking VirtualBox and just changing its branding banner.
About as diverse as it gets in VirtualBox for example is offering a choice of PIIX or ICH-9 hardware controller options. Which is basically having a switch for Legacy OS or Modern OS. And basic soundblaster 16 or AC97 software sound. With the soundblaster support being very limited and incomplete once you actually get digging into it, and can actually prevent modern OS's from being virtualized properly. VGA support is also not so great for VESA applications and will sometimes require modification. These options are only there, because desktop visors like VMWare Workstation used these as standard before the days of instruction virtualization in hardware. And its the bare minimum to make vintage commercial applications functional.
The advantage these compromises have is speed, even on hardware that does not support VT-x fully. And if you have the right hardware, playing old Direct3d games on win98 and 2000 actually works pretty dang well. Which is why I suggested to the other person here to just use virtualbox if they want more performance. PCEM doesn't seem to be the right emulator for what they are wanting to do.
People also forget they can use more than one kind of emulator... lol. I use PCEM mostly for 386 nostalgia trips even though I still have the real hardware in my closet. I find its Pentium MMX and higher emulation rather pointless really, except for the Voodoo2 component I suppose. But it is nice that it is there non-the-less. But anything that needs decent Pentium level emulation and performance has worked in VirtualBox for me just fine. But when it comes to wanting a more authentic experience with the older hardware, PCEM is unreal.
Re: A Hotkey to Change ISOs Would Be Nice
Just to make everyone is one the same page, what's the difference between PIIX or ICH-9 (or what computers had them? So high level explanation.) Which are considered the last Legacy OS and the first Modern OS? Ok, the Sound Blaster 16 and AC97 are pretty obvious, but you may this explain if you like to.wishusknight wrote: ↑Tue 26 Jul, 2022 10:07 pm About as diverse as it gets in VirtualBox for example is offering a choice of PIIX or ICH-9 hardware controller options. Which is basically having a switch for Legacy OS or Modern OS. And basic soundblaster 16 or AC97 software sound.
Yes, I try this to explain this on this the people on this forum all the time. Well, I actually did this only once or twice, but I would if this forum was much bigger. To us it is pointless to install Windows 98 on PCem to play to start Alley Cat.wishusknight wrote: ↑Tue 26 Jul, 2022 10:07 pm People also forget they can use more than one kind of emulator... lol.
Yes, it's a lot about nostalgia. Computers where more like computers in the old days.wishusknight wrote: ↑Tue 26 Jul, 2022 10:07 pm I use PCEM mostly for 386 nostalgia trips even though I still have the real hardware in my closet. I find its Pentium MMX and higher emulation rather pointless really, except for the Voodoo2 component I suppose. But it is nice that it is there non-the-less. But anything that needs decent Pentium level emulation and performance has worked in VirtualBox for me just fine. But when it comes to wanting a more authentic experience with the older hardware, PCEM is unreal.
I have also other emulators installed, like Arculator. Sometimes I boot it up, click around, and then shut it down. There's very little nostalgia for me here. This is much about curiosity.
Also if you want a better than that you might want to look at something this: https://www.youtube.com/watch?v=USHvvSbYmJA, while this might look to good to be true, and might not exactly be what some people it this forum want, this would cost about a game console, while PCem would be free.
Personally I don't really care much about the late nineties to the mid two thousands games. Currently some of those games are remastered or other games exist which are similar and are just other on almost every one front. Other games at that time just work on a modern operating system like Windows 10 or 11, like Sid Meijer's Pirates! (2004). But those could be the exception. Why would this game work on a current operating system while other do not? Could it be due better programmers?
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
It is the southbridge chip contained on the motherboard that did most of the IO and other menial tasks on modern pc's. The Piix is found on the intel 430TX, 440LX and 440BX chipsets from the Pentium MMX to Pentium 2 era. And is pretty strait forward in its operation. It is the last of its kind before intel went to "hub architecture" (ICH). And contains all the legacy stuff found in almost every system upto that point with rather genaric IDE and IO port handling. Yet is modern enough to have a standardized USB implementation, SMP and APIC support. And it can also encompass other things in the package unrelated to the southbridge like AGP Texture mapping.
Just to make everyone is one the same page, what's the difference between PIIX or ICH-9 (or what computers had them? So high level explanation.) Which are considered the last Legacy OS and the first Modern OS? Ok, the Sound Blaster 16 and AC97 are pretty obvious, but you may this explain if you like to.
ICH9 was a much later southbridge found on computers from about the core 2 duo era. And has most more modern functions to handle EFI and other technologies like PCI express and SATA. These things allow greater integration and interaction with the guest and host PC's in ways the PIIX can't. And is especially valuable for using hardware PCI Passthrough to allow a guest os to take direct control of a physical peripheral on the host PC, like a sound card or video card.
There are also many differences in how the disk adapters and base device functions work and present themselves to the guest OS.
Its like having too many choices on the mcsdonalds menu.
Yes, I try this to explain this on this the people on this forum all the time. Well, I actually did this only once or twice, but I would if this forum was much bigger. To us it is pointless to install Windows 98 on PCem to play to start Alley Cat.
I consider DOS itself to be the 6th best dos game of all time.Yes, it's a lot about nostalgia. Computers where more like computers in the old days.
I have an industrial 86PC based ISA SBC that runs at 333mhz. Among several other SBC's authentic to their time periods. I used to work with them alot in the 80s and 90s. So I have collected a few. There are some very interesting configurations out there for sure. It is also kind of neat to just swap a card to have a different computer. Though I do have other complete systems of various capabilities.I have also other emulators installed, like Arculator. Sometimes I boot it up, click around, and then shut it down. There's very little nostalgia for me here. This is much about curiosity.
Also if you want a better than that you might want to look at something this: https://www.youtube.com/watch?v=USHvvSbYmJA, while this might look to good to be true, and might not exactly be what some people it this forum want, this would cost about a game console, while PCem would be free.
Personally I don't really care much about the late nineties to the mid two thousands games. Currently some of those games are remastered or other games exist which are similar and are just other on almost every one front. Other games at that time just work on a modern operating system like Windows 10 or 11, like Sid Meijer's Pirates! (2004). But those could be the exception. Why would this game work on a current operating system while other do not? Could it be due better programmers?
I also have a Retro-PI and complete Mister stack. The latter of which is used as much as any modern console in the house.
I am pretty nostalgic for late 90s games occasionally as that was the golden era of lan parties. Lots of good times there. But having gone through the headache of windows 98 once in my life, I usually try to avoid that again.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
I also have a Windows XP VMWare machine setup on my PC. it works great until it doesn't since.wishusknight wrote: ↑Tue 26 Jul, 2022 7:22 am =In which case, just use Virtual Box or VMWare Workstation. You can limit execution share and approximate the performance you want on Virtual Box.. Personally I think PCEM should not delve past the classic Pentium. But Glide support is a big plus too.
The problem you're missing with virtualization is that since it relies on weird simulated GPU driver instead of a direct passthrough 3D hardware acceleration in games only works with a tiny handful of titles that play nice with it. So far Quake II and Heretic II are the only two games I've gotten working in hardware mode on it.
Others range from instantly crashing to booting into levels but having major rendering and texture glitches garbing the graphics. The only saving grace is that since I'm basically directly feeding it two cores of a 5600X it can run a lot of things really fast in software mode.
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
CryptidWorks wrote: ↑Fri 29 Jul, 2022 7:08 amI must be a bit luckier here. I have had better success with getting a few titles up to dx9 running with VMWare. Though my library that I actually play is admittedly rather small. And open GL games have been much easier as well. Though it was still no match for having a dedicated machine for the task.wishusknight wrote: ↑Tue 26 Jul, 2022 7:22 am I also have a Windows XP VMWare machine setup on my PC. it works great until it doesn't since.
The problem you're missing with virtualization is that since it relies on weird simulated GPU driver instead of a direct passthrough 3D hardware acceleration in games only works with a tiny handful of titles that play nice with it. So far Quake II and Heretic II are the only two games I've gotten working in hardware mode on it.
Others range from instantly crashing to booting into levels but having major rendering and texture glitches garbing the graphics. The only saving grace is that since I'm basically directly feeding it two cores of a 5600X it can run a lot of things really fast in software mode.
The way to solve the problem for certainty is to lobby VMWare to enable passthrough for their desktop products. Having to use ESXi as a foundation is a bit pita. And the 3d implementation for the virtual drivers is not fully baked yet. Albeit it is improving.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
As pissy as VMWare spaces tend to get when you suggest more gaming focused features like better GPU virtualization that's a tall order, as nice as it would be.wishusknight wrote: ↑Fri 29 Jul, 2022 10:27 pm I must be a bit luckier here. I have had better success with getting a few titles up to dx9 running with VMWare. Though my library that I actually play is admittedly rather small. And open GL games have been much easier as well. Though it was still no match for having a dedicated machine for the task.
The way to solve the problem for certainty is to lobby VMWare to enable passthrough for their desktop products. Having to use ESXi as a foundation is a bit pita. And the 3d implementation for the virtual drivers is not fully baked yet. Albeit it is improving.
Re: A Hotkey to Change ISOs Would Be Nice
It's a shame this discussion has gone off topic. I would like to ask the moderator to split these message off to its own topic.
Back on topic. I could think wouldn't be to hard to change the CD-ROM to a cd-changer, with hot keys like Ctrl-1 to Ctrl-0. If you have multiple games that need this you would probable need more emPC's, unless your have enough slots.
Back on topic. I could think wouldn't be to hard to change the CD-ROM to a cd-changer, with hot keys like Ctrl-1 to Ctrl-0. If you have multiple games that need this you would probable need more emPC's, unless your have enough slots.
Re: A Hotkey to Change ISOs Would Be Nice
What does that mean a hard wall with single threaded performance of X86 CPU's?CryptidWorks wrote: ↑Mon 25 Jul, 2022 11:18 pmIt's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reachededdman wrote: ↑Sat 23 Jul, 2022 3:21 pmThis forum has been through this "multi-thread" nonsense enough times already. Vulkan has nothing to do with CPU emulation; dolphin's CPU code is single-threaded, because GC/Wii games are single threaded, because GC/Wii are single core (No, the "Dual core" option does not split the CPU emulation). The reason vulkan improves performance on weak host CPUs mainly has to do with performing less draw calls, therefore less load on the CPU. Also, no, direct3d 11 IS multi-threaded.CryptidWorks wrote: ↑Sat 23 Jul, 2022 2:21 am
About any of them that added Vulkan support have some level of multi-threading when using that API because AMD designed it to be well optimized for multi-core CPUs. Running Dolphin on a CPU with weak single core like an FX is night and day between DX and Vulkan.
This topic has gone beyond beating a dead horse. It's also completely off-topic here.
Re: A Hotkey to Change ISOs Would Be Nice
PCem only emulates single-socket single-core single-threaded cpu's. This means only one program or more precisely only thread of a process can run at any time. It is very difficult to emulate such a cpu using multiple threads. This is because it's impossible to split the work the emulated cpu has to do in multiple threads. This is because each instruction has to be done in order.
Another reason is that most software and games from that time * are not designed to advantage of multiple threads. Yes, games designed for Windows 95 and up do are multiple threaded, but only the main thread does all the real work and the other threads are just helper threads that don't do very much. Windows 95, 98, and ME do support multi threading but do not multiple sockets, multiple cores, or multi-threaded cpu's (HT or SMT). Earlier versions of Windows NT do support multiple sockets, but are less suitable for games.
In order to create an emulator that takes advantage of multi-threading it has either emulate a multi cpu machine. Or it has to simulate the components that the cpu is made of. Only the designers of cpu's are capable of doing that effectively.
* Before 2010 I believe, but I'm not sure, this may probably be very optimistic.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
Sooga wrote: ↑Fri 12 Aug, 2022 8:08 pmWhat does that mean a hard wall with single threaded performance of X86 CPU's?CryptidWorks wrote: ↑Mon 25 Jul, 2022 11:18 pmIt's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reachededdman wrote: ↑Sat 23 Jul, 2022 3:21 pm
This forum has been through this "multi-thread" nonsense enough times already. Vulkan has nothing to do with CPU emulation; dolphin's CPU code is single-threaded, because GC/Wii games are single threaded, because GC/Wii are single core (No, the "Dual core" option does not split the CPU emulation). The reason vulkan improves performance on weak host CPUs mainly has to do with performing less draw calls, therefore less load on the CPU. Also, no, direct3d 11 IS multi-threaded.
This topic has gone beyond beating a dead horse. It's also completely off-topic here.
I mean we're reaching a point where unless a huge change-up happens with x86 architecture to improve power efficiency enough to start cranking clock speeds stupid high we're going to get less and less single core performance gains per new CPU generation. It's why high core count CPUs are becoming the norm and game engines are leaning more and more into multi-threading
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
in software emulation yes. The next logical step was instruction passthrough and emulation in hardware. Which is out of scope and impossible for PCEM.CryptidWorks wrote: ↑Tue 16 Aug, 2022 9:02 amSooga wrote: ↑Fri 12 Aug, 2022 8:08 pmWhat does that mean a hard wall with single threaded performance of X86 CPU's?CryptidWorks wrote: ↑Mon 25 Jul, 2022 11:18 pm
It's been through it several times because it's a unavoidable fact we're approaching a hard wall with the single-threaded performance of x86 CPUs so emulation that doesn't leverage multi-threading is going to get left behind since the point you can't brute force it with fast enough single-threaded performance will be reached
I mean we're reaching a point where unless a huge change-up happens with x86 architecture to improve power efficiency enough to start cranking clock speeds stupid high we're going to get less and less single core performance gains per new CPU generation. It's why high core count CPUs are becoming the norm and game engines are leaning more and more into multi-threading
Re: A Hotkey to Change ISOs Would Be Nice
Increasing single-core performance only by increasing the clock speed is gone; we are past pentium 4 days. The main method for increasing is by designing a core micro-architecture with a higher IPC. Alder lake clocks about the same as previous gens and yet has a much higher single-core performance.CryptidWorks wrote: ↑Tue 16 Aug, 2022 9:02 am ...unless a huge change-up happens with x86 architecture to improve power efficiency enough to start cranking clock speeds stupid high...
A 12900k does about 5.2 GHz under single threaded loads, and a 10900k does about 5.1 GHz, very close, and yet the former performs about 47% better in CB 23 ST.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
Every single other emulator for anything heavier than a Super Nintendo fully supports hardware acceleration so that is completely false. If the dev wanted to he could 100% find a way to make use of it. At the very least GPU emulation could be offloaded to it in order to free up resources for CPU emulation.wishusknight wrote: ↑Sun 28 Aug, 2022 12:06 pmin software emulation yes. The next logical step was instruction passthrough and emulation in hardware. Which is out of scope and impossible for PCEM.CryptidWorks wrote: ↑Tue 16 Aug, 2022 9:02 am
I mean we're reaching a point where unless a huge change-up happens with x86 architecture to improve power efficiency enough to start cranking clock speeds stupid high we're going to get less and less single core performance gains per new CPU generation. It's why high core count CPUs are becoming the norm and game engines are leaning more and more into multi-threading
There only so much you can do to increase IPC by reducing the size of the transistors or implementing 3D layering to architectures, and synthetic benchmarks that work under controlled conditions don't always reflect real world performance. Gaming benches show a difference that's far less pronounced:eddman wrote: ↑Sun 28 Aug, 2022 1:18 pmIncreasing single-core performance only by increasing the clock speed is gone; we are past pentium 4 days. The main method for increasing is by designing a core micro-architecture with a higher IPC. Alder lake clocks about the same as previous gens and yet has a much higher single-core performance.CryptidWorks wrote: ↑Tue 16 Aug, 2022 9:02 am ...unless a huge change-up happens with x86 architecture to improve power efficiency enough to start cranking clock speeds stupid high...
A 12900k does about 5.2 GHz under single threaded loads, and a 10900k does about 5.1 GHz, very close, and yet the former performs about 47% better in CB 23 ST.
https://www.youtube.com/watch?v=15Qmgiqf5Jk
Re: A Hotkey to Change ISOs Would Be Nice
Maybe it can be done, maybe not. The goal of PCem is emulation of the actual hardware, not emulating the applications. You cannot emulate hardware through rasterized rendering on a GPU. Most console emulators can leverage the host GPU because they are not emulating actual video hardware.CryptidWorks wrote: ↑Fri 02 Sep, 2022 3:36 am Every single other emulator for anything heavier than a Super Nintendo fully supports hardware acceleration so that is completely false. If the dev wanted to he could 100% find a way to make use of it. At the very least GPU emulation could be offloaded to it in order to free up resources for CPU emulation.
The only possible way for PCem (which was also talked about by the dev a while back) would be to run the video card emulation code as a compute load on the GPU, but that's a big undertaking and not even guaranteed to be accurate enough to work; unless it can be done partially in conjunction with the CPU, and even then it's not certain. In any case, it's not what you think it is.
Also, PCem already emulates video cards on a separate thread from the main thread. Offloading video emulation would not do much to increase CPU emulation performance. Perhaps there would be an improvement, because of having a lower load on other host CPU components like caches, interconnects, etc. but it won't be significant.
PCem is simply limited by single core performance, and there isn't really anything that can be done about it on the software side.
It's certainly far better to use the smaller transistors to design a higher IPC microarchitecture, than it is to merely increase the clocks. Relying on clock speed alone is an extremely inefficient way of improving performance, since power consumption does not increase linearly as clocks go up.CryptidWorks wrote: ↑Fri 02 Sep, 2022 3:36 am There only so much you can do to increase IPC by reducing the size of the transistors or implementing 3D layering to architectures, and synthetic benchmarks that work under controlled conditions don't always reflect real world performance. Gaming benches show a difference that's far less pronounced:
https://www.youtube.com/watch?v=15Qmgiqf5Jk
Besides, the performance gain you get by higher clocks is very much microarchitecture dependent. Some microarchitectures simply do not scale well, because of factors like pipeline depth, etc. Cranking up the clocks for these cases not only would provide less and less performance increase, it might actually hurt it at a certain threshold.
This is why CPU companies eventually design new higher IPC microarchitectures when they get access to new nodes.
Game performance is an absolutely terrible metric for gauging CPU performance, since a lot of other PC components are involved.
CB is not an artificial load benchmark, if that's what you mean. It's based on the commercial Cinema 4D rendering application. It performs actual rendering on the CPU and then assigns a score. Yes, it might not be a completely accurate metric, but it's far better than using games.
Let's compare single threaded POV-ray results then, which is not synthetic, for 10900k and 12900k: 552, 855.
The point is, the main method of achieving higher performance is by increasing the IPC, not relying on failed Perntium 4 era tactics.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
You can't innovate if you don't try. I'm sure at some point someone also said emulating the complete shitshow that the PS3's cell processor at all would be impossible but look at RPCS3 now.eddman wrote: ↑Fri 02 Sep, 2022 6:34 amMaybe it can be done, maybe not. The goal of PCem is emulation of the actual hardware, not emulating the applications. You cannot emulate hardware through rasterized rendering on a GPU. Most console emulators can leverage the host GPU because they are not emulating actual video hardware.CryptidWorks wrote: ↑Fri 02 Sep, 2022 3:36 am Every single other emulator for anything heavier than a Super Nintendo fully supports hardware acceleration so that is completely false. If the dev wanted to he could 100% find a way to make use of it. At the very least GPU emulation could be offloaded to it in order to free up resources for CPU emulation.
The only possible way for PCem (which was also talked about by the dev a while back) would be to run the video card emulation code as a compute load on the GPU, but that's a big undertaking and not even guaranteed to be accurate enough to work; unless it can be done partially in conjunction with the CPU, and even then it's not certain. In any case, it's not what you think it is.
Also, PCem already emulates video cards on a separate thread from the main thread. Offloading video emulation would not do much to increase CPU emulation performance. Perhaps there would be an improvement, because of having a lower load on other host CPU components like caches, interconnects, etc. but it won't be significant.
PCem is simply limited by single core performance, and there isn't really anything that can be done about it on the software side.
Games are much more accurately represent the complexity and variance involved in a real-world load than a canned rendering routine in a canned benchmark. Particularly in regards to PCEM when there's a lot of totally random shit being thrown at it related to what the user doing on the emulated machine at any given moment.eddman wrote: ↑Fri 02 Sep, 2022 6:34 am
CB is not an artificial load benchmark, if that's what you mean. It's based on the commercial Cinema 4D rendering application. It performs actual rendering on the CPU and then assigns a score. Yes, it might not be a completely accurate metric, but it's far better than using games.
As for shrinking the node, we're already at 5mm as it is with Intel planning on starting development of 3mm chips next year and that's pretty close to the limit with silicon.
Re: A Hotkey to Change ISOs Would Be Nice
There's nothing to innovate by the PCem dev in regard to making emulation of single-core CPUs multi-threaded. It's not done by any other emulator that emulates a single-core system, and it cannot be done here. PS3's CPU is multi-core (the SPEs are not part of the main core and are their own independent processing blocks), therefore its CPU emulation can be multithreaded.CryptidWorks wrote: ↑Fri 02 Sep, 2022 7:40 am You can't innovate if you don't try. I'm sure at some point someone also said emulating the complete shitshow that the PS3's cell processor at all would be impossible but look at RPCS3 now.
Games are much more accurately represent the complexity and variance involved in a real-world load than a canned rendering routine in a canned benchmark. Particularly in regards to PCEM when there's a lot of totally random shit being thrown at it related to what the user doing on the emulated machine at any given moment.
As for shrinking the node, we're already at 5mm as it is with Intel planning on starting development of 3mm chips next year and that's pretty close to the limit with silicon.
Games do not represent PCem either, since PCem runs on the CPU only. Even if rendering performance is not a fully accurate representative, it's still a far better metric to use for comparing raw CPU performance than games, specially when the latter heavily rely on the GPU.
That's not even the main point. The point was to show that single-core performance is mainly improved by increasing the IPC.
No matter how small a node gets, the efficent and proper way of increasing performance would be by designing a higher IPC core, not solely increasing the clock speed.
Besides, if we reach a point where nodes cannot get smaller, clock speeds cannot be increased beyond a certain point anyway. We'd be stuck at a certain single-core performance level and that would be that.
-
- Posts: 38
- Joined: Mon 18 Jul, 2022 9:07 pm
Re: A Hotkey to Change ISOs Would Be Nice
Cycle accurate emulation is impossible with instruction pass-through, its not hardware acceleration or offloading in that sense. It is purley a mechanism that traps and executes instructions by bypassing an abstraction layer. That's it. Also it requires the virtual client to have emulated devices that are specifically coded for it and requires a custom coded firmware for the client. Ones you have done all that, bam, you have virtual box. So go use that.CryptidWorks wrote: ↑Fri 02 Sep, 2022 3:36 am
Every single other emulator for anything heavier than a Super Nintendo fully supports hardware acceleration so that is completely false. If the dev wanted to he could 100% find a way to make use of it. At the very least GPU emulation could be offloaded to it in order to free up resources for CPU emulation.
Actual hardware acceleration, well.... that is more like actual simulation. And this is done with an FPGA. The other form of "hardware emulation" is done through HLE. Which is what PS3 emulation had to do before it could do anything. The CPU and Cell are still done software through the host cpu or GPGPU Compute.
PCEM does none of these things. There is a reason why the VM hosts that have passthrough only have a very small amount of curated hardware options.
- CryptidWorks
- Posts: 141
- Joined: Fri 26 Apr, 2019 7:11 am
Re: A Hotkey to Change ISOs Would Be Nice
I'm kind of done with this circular argument that's of no benefit to either of us, so back on topic:
How about that quick-swap function?
How about that quick-swap function?