| Main > Main Forum |
| Integrated vs Card - Sounds Cards |
| << < (6/6) |
| elvis:
--- Quote from: Taborious on July 31, 2005, 06:14:44 pm ---Well sense the concensus is faster not tweaks, anyone know of any dual processor boards for pentium chips? not xeon and what not, but just the P4 intel processors??? --- End quote --- The P4 cannot be used in a dual processor configuration. Only the Xeon can. That's intel's way of keeping server/workstation components high cost, and controlling a market. MAME is single threaded on Win32. AdvanceMAME under Linux is the only SMP MAME available, but the improvements are not worth the cost, simply because the emulation of 99% of the components is still very serial, and only minor offloading of blitting effects will occur, giving you not much more than 5 FPS extra on blit-limited stuff (ie: if you use HQ4X style AA effects in software). If you want fast MAME, get the fastest single CPU you can afford (or are prepared to spend money on). There's no black magic, dark sciences or secret handshakes. For MAME-style emulation, speed is king. Other non-accurate emulators perform all sorts of hacks and trickery to speed things up. These will benefit greatly from your usual gaming-PC tweaks and tricks. MAME is a totally different kettle of fish. |
| Xiaou2:
Some Onboard chips have great quality... however, theres almost always going to be a tradeoff of cpu performance. On one older system I had.. I think it was a PIII550. I had a software modem and onbaord sound enabled. Everything seemed fine.. till I tried to install a dvd player. The frames skipped like mad and the system just couldnt handle it for some reason. Even though, the specs should have been fine. I had plenty of ram. A pc guru freind came over, and told me I had to remove and replace the software modem with a hardware modem and to put in a real soundcard. I thought he was full of crap... but eventaully, I decided to try. After that, all worked well. No more frame drops, lockups, ..ect. Clear and clean as a dream. Im sure mame was sped up too... but I forgot to take before and after framerates. The onboard components tend to use your system ram. Some also use software to run them instead of direct hardware chips (simular to emulation!).. which really does eat up more horsepower than youd think. |
| elvis:
--- Quote from: Xiaou2 on August 01, 2005, 05:58:30 am --- On one older system I had.. I think it was a PIII550. I had a software modem and onbaord sound enabled. --- End quote --- The era of soundcards on PIII boards compared to the AC'97 stuff on cards today are LIGHTYEARS apart. Don't confuse the average intel/nvidia/via onboard sound on P4 and AthlonXP boards today with the horrible CMI (and the like) stuff they used to bundle on boards back in the day. I have an old PCI add-in CMI sound card, and it slows down any system I plug it in to. That was the chipset itself, and not whether the unit was onboard or standalone. Times have changed a bit since then. |
| RayB:
People don't seem to understand that multi-processor boards require software that actually makes use of this feature. For example, many years ago you needed Windows NT 4 and then the apps you ran had to be made to use the multiCPUs (software like 3D Studio Mac for example used the multi processors, but Photoshop did not). I'll assume XP supports multi-processors, since it's a descendant of 2000 which is a descendant of NT, but I think apps still need to be designed to use the multi-CPUs. |
| elvis:
--- Quote from: RayB on August 01, 2005, 01:25:58 pm ---People don't seem to understand that multi-processor boards require software that actually makes use of this feature. For example, many years ago you needed Windows NT 4 and then the apps you ran had to be made to use the multiCPUs (software like 3D Studio Mac for example used the multi processors, but Photoshop did not). I'll assume XP supports multi-processors, since it's a descendant of 2000 which is a descendant of NT, but I think apps still need to be designed to use the multi-CPUs. --- End quote --- It isn't as cut and dry as that, but you are generally right. When pograms are compiled, they can either be single threaded or multithreaded. This is not something you can just turn on or off at compile time either: the programs do need to be written with the intent of being multi threaded to (a) get the best performance from it and (b) avoid nasty programmers problems like thread locking and starvation, which will cause a program to lag badly, or worse: crash. Every program is broken down into processes: ie: the smaller individual parts or functions of the program that make up the greater package. Any program you can think of is broken down like this (unless it is a single process program, of course). Processes are then broken down further into threads (ie: the smaller routines within a process). A few buzzwords exist to describe systems that can run more than one thread or process at once. We have SMP (Symmetric multi processing). This means two or more unique CPUs that can run two or more entirely separate processes (or threads) at the same time. SMP has an advantage in that if you run an SMP aware OS (WinNT4, Win2K or WinXP Pro (home will not allow SMP for licensing reasons)) you can run two programs that are not multithreaded, and they will both run at full speed (assuming I/O needs are negligable). SMP users often swear by their setups even if they don't run fully SMP software, as the OS has more CPU resources to share around when multi-tasking. Next is SMT (Symmetric Multi Threading). SMT can intelligently run two threads at the same time. There are a few CPUs that can do this, the most famous being the Intel Pentium 4 with "HyperThreading". On the CPU is a thing called a scheduler. As the name suggests, it schedules the threads to run in a certain order. It's job is to ensure things don't lock up, and that threads that need to run first to give information back to other threads do so. SMT allows a single CPU to break processes down into threads, and process them at the same time. These threads can be from two separate applications, or one application that is Multi Threaded. Win2K, WinXP Home and WinXP Pro all understand SMT for P4 processors. Remeber that the WinXP Home kernel is essentially the same as the XP Pro kernel, so the lack of SMP above is not a physical limitation, but a political one. Just one of the few reasons folks like me dislike the big fat corporates. :) But I'm digressing... moving on... So in the case of MAME: MAME is single threaded. ie: it cannot be "broken up" to run on mutliple CPUs. People ask why, considering that there are many games that use multiple CPUs that are being emulated. Unfortunately on the real game hardware boards, timing between these CPUs was critical, and often clock-controlled to the Hz. As such, mutli-threading of the software emulation would prove a massive overhead, as you would need very tight control to synchronise everything correctly. The speedup benefits in most cases would be negligable anyway, mainly due to the fact that multi-CPU game boards would have one super fast processor (say, a 3D game graphics processor) and then a slow one too (sound processor, or similar). AdvanceMAME for Linux is multi-threaded, but again only for "addon" stuff like graphics blitters (eg: high-res smoothing effects and whatnot). So you won't see any games run faster, but what you would see is the game running full speed even if you ran one of the Scale2X or Scale4X effect filters: http://scale2x.sourceforge.net/snapshot1.html SMT or SMP systems running MAME would certainly benefit a user who is multitasking. But I ask, who does that? It's not like I can play MAME *AND* do some spreadsheet calculations. Or play MAME *AND* browse the web, watch videos, whatever. MAME pretty much takes up all of my time (as well as the CPUs) when I play it, and I most often play it fullscreen anyway. And for most of us here, we play MAME in a cabinet, so background resources are negligable, as we either disable them, or don't use them. Then consider the cost: SMP boards are expensive. The last desktop-level chip that could be run in a dual-processor board was the PIII. After that, Intel split the SMP and single processor line up into P4s and Xeons, and AMD had their AthlonXP and AthlonMP (although XP's could be modded, but you risk blowing things up). After that was the Athlon64 and Opteron. SMP boards cost a fortune. I can buy an AthlonXP board (with good, fast AC'97 sound onboard) for AU$35 (US$27), and a Sempron 2200+ with heatsink for AU$82 (US$62) or if you wanted cheaper a Duron 1600 for AU$65 (US$49). I'm actually now building cabinets for commercial sale, and we by default throw a Duron 1600 in. Considering that every other cabinet builder is throwing in refurbished PII or PIII systems with 30-day warranties, we can put in brand new hardware that's 3 times faster with 12 month warranties for the same price! And then you have to pay for SMP CPUs. Old PIII SMP CPUs are usually sold in matched pairs (they don't have to be matched, but often you'll have less headaches if you do). For this reason they seem to hold a bit more value than normal stuff. Outside of that, pricing modern Xeon and Opteron gear quickly pushes system costs into the multiple thousands. New, bottom-of-the-market hardware is the way to go for MAME. It doesn't cost much, and will save you a bucket of stuffing around. |
| Navigation |
| Message Index |
| Previous page |