zsnes vs zsnexbox
Moderator: General Mods
-
- New Member
- Posts: 5
- Joined: Tue Jun 06, 2006 1:51 am
zsnes vs zsnexbox
Hi, had a question about a ported version of zsnes (zsnexbox) and thought; hey zsnes forums would be the place to ask!
The question is...
Why cant the windows version of the snes emu run at full speed at 800x600 with say hq2x enabled (most noticeable on chrono trigger, when on world map) on a similar setup to an xbox, when the xbox port runs at full speed with filters?
Here is an example; I have a 1.0ghz pIII w/384mb sdr ram plus a radeon 9600 w/128mb ddr ram at agp4x, that can’t run zsnes at full speed with all the bells and whistles. My comp has xp sp2, dx9.0c installed w/ the latest omega drivers (tried ati drivers too) and I don’t run anything EXTRA in the background...
I believe the xbox only has a 733mhz celeron or pIII cpu and a gpu similar to a geforce 3/4 with 64mb ddr2 shared ram...
I'm not complaining... Just thought I’d ask.
The question is...
Why cant the windows version of the snes emu run at full speed at 800x600 with say hq2x enabled (most noticeable on chrono trigger, when on world map) on a similar setup to an xbox, when the xbox port runs at full speed with filters?
Here is an example; I have a 1.0ghz pIII w/384mb sdr ram plus a radeon 9600 w/128mb ddr ram at agp4x, that can’t run zsnes at full speed with all the bells and whistles. My comp has xp sp2, dx9.0c installed w/ the latest omega drivers (tried ati drivers too) and I don’t run anything EXTRA in the background...
I believe the xbox only has a 733mhz celeron or pIII cpu and a gpu similar to a geforce 3/4 with 64mb ddr2 shared ram...
I'm not complaining... Just thought I’d ask.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Re: zsnes vs zsnexbox
We don't do support for zsnexbox.customcarvin wrote:Hi, had a question about a ported version of zsnes (zsnexbox) and thought; hey zsnes forums would be the place to ask!
That's probably because you haven't compiled one for the P3. I suspect the one for the XBOX has specific optimizations compiled for that system. If you were to compile ZSNES for your processor, it would certainly match or beat the XBOX version. All ZSNES binary releases are compiled for the Pentium, hence the discrepancy.The question is...
Why cant the windows version of the snes emu run at full speed at 800x600 with say hq2x enabled (most noticeable on chrono trigger, when on world map) on a similar setup to an xbox, when the xbox port runs at full speed with filters?
Here is an example; I have a 1.0ghz pIII w/384mb sdr ram plus a radeon 9600 w/128mb ddr ram at agp4x, that can’t run zsnes at full speed with all the bells and whistles. My comp has xp sp2, dx9.0c installed w/ the latest omega drivers (tried ati drivers too) and I don’t run anything EXTRA in the background...
I believe the xbox only has a 733mhz celeron or pIII cpu and a gpu similar to a geforce 3/4 with 64mb ddr2 shared ram...
I'm not complaining... Just thought I’d ask.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Re: zsnes vs zsnexbox
When you say Pentium, do you mean Pentium = i586 = Pentium I?Deathlike2 wrote:All ZSNES binary releases are compiled for the Pentium,
[url=http://zsnes-docs.sf.net]Official ZSNES Docs[/url] | [url=http://zsnes-docs.sf.net/nsrt]NSRT Guide[/url] | [url=http://endoftransmission.net/phpBB3/viewtopic.php?t=394]Using a Wiimote w/ emulators[/url]
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Re: zsnes vs zsnexbox
Yes. Although, I guess it's slightly different, since i586 is generic for many different processors of its era. Most processors of that era that were not Pentiums had poor FPUs, which the compiler "may" be compensating for, but I'm not really sure.Jipcy wrote:When you say Pentium, do you mean Pentium = i586 = Pentium I?Deathlike2 wrote:All ZSNES binary releases are compiled for the Pentium,
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Overhead by hardware abstraction... this is consistant for all OSes. XBOXes use fixed hardware, so the hardware abstraction is not needed.Gil_Hamilton wrote:'S also worth noting that there's a LOT less overhead on the XBox than a PC, regardless if it's running Windows, Linux, or Mac.
Not quite, it is still used but the CPU is more important here.And that GPU is meaningless to emulation... well, except in cases like ePSXe where it has weird wrapper setups available.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- Regular
- Posts: 282
- Joined: Sun Aug 08, 2004 12:22 am
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
I believe that zsnexbox uses some asm and c code hacked specifically for running on xbox, there are lots of optimized lines of code in there.
although some of the Zsnes members helped, the port is being done and maintained by "nes6502" the official support thread is here: http://forums.xbox-scene.com/index.php?showtopic=582841
although some of the Zsnes members helped, the port is being done and maintained by "nes6502" the official support thread is here: http://forums.xbox-scene.com/index.php?showtopic=582841
Is there an option in ZSNES (the standard PC version) to force the emulator to use System Memory instead of VRAM for graphics display (as in NEStopia)?pagefault wrote:The xbox shares main memory with video memory (no blitting required) so you don't need to worry about the copying. Thats why it runs so fast.
That would _greatly_ speed up the emulation with HQ4x filter enabled,especially at high resolutions or for cards with 64MB or less VRAM.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
You are soooooo wrong there. System memory on a PC is FAR FAR slower than one on the XBOX. Video memory on modern video cards are FAR FAR faster (and more efficient) than system memory.kick wrote:Is there an option in ZSNES (the standard PC version) to force the emulator to use System Memory instead of VRAM for graphics display (as in NEStopia)?pagefault wrote:The xbox shares main memory with video memory (no blitting required) so you don't need to worry about the copying. Thats why it runs so fast.
That would _greatly_ speed up the emulation with HQ4x filter enabled,especially at high resolutions or for cards with 64MB or less VRAM.
ZSNES uses Video Memory at all times, using System Memory slows ZSNES down to a Powerpoint crawl especially with HQx in use. Don't even DARE suggest that.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Yes,but that's not always true.
Imagine this situation: You have an old machine with Dual-Channel DDR400 system memory and an old 64MB AGP GFX card with slow 200MHz DDR framebuffer.Run any emulator at 1600x1200 or higher resolution with a HQ3x/4x filter.
Emulation with software filters will always run faster in this case,not just because of the faster system memory,but because having much more than 64MB available (without the speed penalty) and eliminating the copying stage will lead to a significant speed increase.
Imagine this situation: You have an old machine with Dual-Channel DDR400 system memory and an old 64MB AGP GFX card with slow 200MHz DDR framebuffer.Run any emulator at 1600x1200 or higher resolution with a HQ3x/4x filter.
Emulation with software filters will always run faster in this case,not just because of the faster system memory,but because having much more than 64MB available (without the speed penalty) and eliminating the copying stage will lead to a significant speed increase.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
That is even more wrong there. When you use system memory, you are increasing the bandwidth load on system memory (whereas dedicated video cards do not have such a limitation). The framebuffer copies are even worse in this instance since you have to do work traveling through the PCI/AGP/PCI-E bus just do work on the graphics. I'm pretty sure someone knows better on this matter.. but the speed penalty INCREASES when you do stuff on this magintude. HQx works better when you have a beefy CPU and a dedicated video card to handle some of the work. Doing what you are suggesting increases the the CPU requirement further when the video card is not as fast or does not have sufficient memory to handle this. HQ4x is not meant to run on system memory or slower computers, end of story.kick wrote:Yes,but that's not always true.
Imagine this situation: You have an old machine with Dual-Channel DDR400 system memory and an old 64MB AGP GFX card with slow 200MHz DDR framebuffer.Run any emulator at 1600x1200 or higher resolution with a HQ3x/4x filter.
Emulation with software filters will always run faster in this case,not just because of the faster system memory,but because having much more than 64MB available (without the speed penalty) and eliminating the copying stage will lead to a significant speed increase.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
The xbox port used old inaccurate code as well that is full of speedhacks that removed. Even if this wasn't the problem, we cannot get to this "magical speedy code" because the author of it doesn't want to share his source even though he is required to under the GPL terms. He has also violated the GPL by including code from other non GPL emulators. It's something I wouldn't touch with a 10 foot pole.
Then why do I get only 45fps with NEStopia (with a HQ4x filter) when using VRAM and solid 60fps when using System memory?
On the other hand,when using a hardware bilinear filter or no filter at all,VRAM is notably faster than system RAM.
On the other hand,when using a hardware bilinear filter or no filter at all,VRAM is notably faster than system RAM.
Last edited by kick on Sat Feb 17, 2007 10:43 am, edited 1 time in total.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Your system is most likely hitting other bottlenecks. Fact is, emulating the NES is not as complex as the SNES by a significant factor.
I've tinkered with the adding such an option to ZSNES.. ZSNES's GUI slows down by like a factor of 4 or more just because of using System Memory instead of Video Memory in a Windowed mode with a 32-bit desktop and HQ4x. This is unacceptable on all levels.
I've tinkered with the adding such an option to ZSNES.. ZSNES's GUI slows down by like a factor of 4 or more just because of using System Memory instead of Video Memory in a Windowed mode with a 32-bit desktop and HQ4x. This is unacceptable on all levels.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Video cards may use GDDR3, but that doesn't matter. You have to get your graphics to the video card, and that is still painfully slow. Once the memory is in there, you get GDDR3 speeds and hardware acceleration for moving those images around, and yes, video->video blits are damn fast. However, getting data from the RAM to the video card is damn slow. Reading from it is even worse.Video memory on modern video cards are FAR FAR faster (and more efficient) than system memory.
If you draw anything in system memory, your video card can't do anything with it. Eventually, the system memory surface is transferred to video memory. The larger that sysmem surface is, the longer that transfer will take.
The fastest way to do graphics on a PC is to draw the smallest possible buffer into system RAM, and then copy that to video RAM and let the video card upscale the image. You're screwed with HQ4x, you have to draw ~1024x1024 in system memory.
Who knows. Maybe Marty is performing the HQ4x filter inside video RAM, causing reads from video memory.Then why do I get only 45fps with NEStopia (with a HQ4x filter) when using VRAM and solid 60fps when using System memory?
-
- "Your thread will be crushed."
- Posts: 1236
- Joined: Wed Jul 28, 2004 1:49 am
- Location: Not in Winnipeg
- Contact:
-
- New Member
- Posts: 5
- Joined: Tue Jun 06, 2006 1:51 am
pagefault:
Version 3.0 Final just came out and nes6502 released the source...
badinsults:
Also, the graphics settings seem great to me, plenty of choices too... I use SuperScale2x and bilinear filtering. It runs smooth as butta and looks incredible!
That WAS true....we cannot get to this "magical speedy code" because the author of it doesn't want to share his source even though he is required to under the GPL terms.
Version 3.0 Final just came out and nes6502 released the source...
badinsults:
Thanks for the opinion, but id rather use a port of zsnes, though be it full of speed hacks or not, over snes9x... I never liked that emu from the start. I tried the windows version and never thought it compared to zsnes on any level... maybe its different on xbox, but I don't care, zsnexbox works and looks close enough to the real thing for meTo be honest, I tried Zsnexbox, and I would suggest sticking with the xbox port of snes9x. I tried fiddling around with the graphics settings, and there wasn't a single one that was good.

Also, the graphics settings seem great to me, plenty of choices too... I use SuperScale2x and bilinear filtering. It runs smooth as butta and looks incredible!
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
-
- New Member
- Posts: 5
- Joined: Tue Jun 06, 2006 1:51 am
Deathlike2:
For example; I have mine stretched to 640.0023x480.0088 (closest that I could get it to 640x480) which I believe is essentially the 4:3 aspect ratio that you speak of...
Again, I could be wrong, so by all means correct me if I am. (And if I am, I can then fix it in zsnexbox if given the correct answer
)
I'm not too savvy with technical explanations so, I hope this makes sense; in zsnexbox v3.0 you can have the image stretched to any custom pixel size you want...Any image that is not stretched 4:3 will make the image not look like the original... which I hear the XBOX port fails at.
For example; I have mine stretched to 640.0023x480.0088 (closest that I could get it to 640x480) which I believe is essentially the 4:3 aspect ratio that you speak of...
Again, I could be wrong, so by all means correct me if I am. (And if I am, I can then fix it in zsnexbox if given the correct answer
