Video mode color depth for snes emulation

Announce new emulators, discuss which games run best under each emulator, and much much more.

Moderator: General Mods

vanfanel
Rookie
Posts: 34
Joined: Mon Mar 02, 2009 4:59 pm

Video mode color depth for snes emulation

Post by vanfanel »

Hello there

I take the deepest video mode needed for faithfull snes video emulation is 16 bits, but I see most emulators (SnesGT) have 32 bit modes.

Should be 16 bit modes any faster? In WinUAE here's a notable speed improvement in 16 bit modes when running on ddraw.
Or do 16 bit modes involve some image conversion making those modes slower than 32 bit modes on nowadays cards?

Thanks!
Spanish third republic NOW!
AamirM
Regen Developer
Regen Developer
Posts: 533
Joined: Sun Feb 17, 2008 8:01 am
Contact:

Post by AamirM »

Displaying 16-bit on 32-bit does require conversion so yes it will be a little slower than 32-bit.

But some emulators can render (like mine) directly in 32-bit which doesn't involve any conversion.

I just did some quick benchmarking. I was running Sonic 3D in Regen 0.95. Note that the FPS I got are only valid for my system:

Render 16-bit in 16-bit mode: 424 FPS
Render 32-bit in 32-bit Mode: 448 FPS
Render 16-bit in 32-bit mode (using DDraw's 16 bit surface creation): 398 FPS

I have an onboard Intel card (yeah I know it sucks yada yada).

Of course someone else may get completely different results.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

You'll actually find on modern video cards, its rendering at 16bit that is slower then 32bit.

Apparently its because most 16bit modes are sampled back to 32bit in the graphics hardware or something??
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

See this link to basically get the answer why that happens: http://forum.beyond3d.com/showthread.php?t=46378
vanfanel
Rookie
Posts: 34
Joined: Mon Mar 02, 2009 4:59 pm

Post by vanfanel »

AamirM: I also have an intel onboard card (GMA950) and it seems faster on 32 bit modes, too.
What do you mean by 32 bits on 32 bits? Do you mean 32 bits desktop and a 32 bits mode selected on the emulator?

Thanks!
Spanish third republic NOW!
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

he means the emulator renders the graphics in 32bits then your video card displays in 32bit. It never converts 16bit -> 32bit.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
vanfanel
Rookie
Posts: 34
Joined: Mon Mar 02, 2009 4:59 pm

Post by vanfanel »

thanks for the obvious answer, franpa. I knew that. I wanted to know what he meant configuration-wise.
What's 32bits on 32 bits? an emulator configured with a 32bpp resolution that switches to that 32bpp resolution , I understand.
But if I configure, let's say, SnesGT with 640x480@16bpp or 32bpp it will switch to that resolution without color conversion involvment whatever I do... How could I have 16bpp on 32bpp for example? Thanks
Spanish third republic NOW!
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

depends on your hardware.

if its newer then a G80, its 32bpp no matter what you do since its internally resampled to 32bpp regardless of desktop/window depth setting.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
vanfanel
Rookie
Posts: 34
Joined: Mon Mar 02, 2009 4:59 pm

Post by vanfanel »

well, the GMA950 seems to be newer but less advanced. What's the case then? anybody knows what's faster for GMA950?
Spanish third republic NOW!
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

Rocketfuel would burn heaps faster.... err i mean lol.

16bpp, the 950 is Dx9 tech, and only supports emulated TnL
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
byuu

Re: Video mode color depth for snes emulation

Post by byuu »

vanfanel wrote:I take the deepest video mode needed for faithfull snes video emulation is 16 bits, but I see most emulators (SnesGT) have 32 bit modes.
Yes and no. The SNES itself is 15-bit, so technically yes. But in practice a few issues come up.

First, TV to PC monitor gamma is very different. To adjust that with only 16-bits is not really enough precision, and you'll end up crushing especially the lower-band colors together. The extra precision also helps with other adjustments: brightness, contrast, etc.

Second, I've seen some shitty video cards / drivers that upconvert improperly. At 16bpp the color white is 11111 111111 11111. Yet on these cards, that gets converted to 11111000 11111100 11111000, or RGB 248, 252, 248. So what should be bright white ends up slightly gray with a green tint. You can tell by running 32-bit mode with a 16-bit mode emulator, and use a white background for your desktop. Again, only some drivers do this. Otherwise the difference is very minor, especially for red and blue.

Lastly, sometimes it's faster to render at 32bpp, sometimes at 16bpp. Depends on the card and drivers. But either way, the bottleneck is PPU emulation, which takes at least 10x as long as blitting either 16bpp or 32bpp @ 256x224 to your monitor. It's not really worth worrying about the overhead involved.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

As it is,... coupled with a decent cpu, the 950 should be capable of fullspeed snes emulation with atleast 2xSaI.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
byuu

Post by byuu »

An S3 ViRGE is capable of full-speed emulation. The bottleneck for emulation and video filters (sans pixel shaders) is entirely on the CPU-side, and there's no point in discussing what CPU power should be required for that.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

a video card does become a limiting factor when scale filters are used at higher resolutions. on an old 2000+ with an mx440, Hq2x was impossible at 1280x1024, but with a 6600GT suddenly it works fine.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
funkyass
"God"
Posts: 1128
Joined: Tue Jul 27, 2004 11:24 pm

Post by funkyass »

are both AGP cards?
Does [Kevin] Smith masturbate with steel wool too?

- Yes, but don’t change the subject.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

I could run zsnes in hq4x 1024x768@60FPS fine on Century, my previous comp; (p3 450 + mx440); same old w98se install i transferred over to this one.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

funkyass wrote:are both AGP cards?
Yeah they were, I'm sure its a XP thing though.

i have an app which tests Dxdraw performance, and it was faster on windows 98, then it was on XP.

grinvader wrote:I could run zsnes in hq4x 1024x768@60FPS fine on Century, my previous comp; (p3 450 + mx440); same old w98se install i transferred over to this one.
Yeah, like i said, it was probably the fact XP is generally slower with DirectDraw then windows 98 is.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
snkcube
Hero of Time
Posts: 2646
Joined: Fri Jul 30, 2004 2:49 am
Location: In front of the monitor
Contact:

Post by snkcube »

funkyass wrote:are both AGP cards?
I'm pretty sure the MX440 was only AGP.
Try out CCleaner and other free software at Piriform
Image
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

It came in PCI as well.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
snkcube
Hero of Time
Posts: 2646
Joined: Fri Jul 30, 2004 2:49 am
Location: In front of the monitor
Contact:

Post by snkcube »

Squall_Leonhart wrote:It came in PCI as well.
I totally forgot about those old PCI slots.
Try out CCleaner and other free software at Piriform
Image
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

Squall_Leonhart wrote:depends on your hardware.

if its newer then a G80, its 32bpp no matter what you do since its internally resampled to 32bpp regardless of desktop/window depth setting.
Actually, I think it's been that way since the GeForce 7 generation and the Radeon 1K generation.
Squall_Leonhart
Trooper
Posts: 369
Joined: Tue Jun 10, 2008 6:19 am
Location: Australia
Contact:

Post by Squall_Leonhart »

Hmm, no... I'm fairly sure its G80+ since the 7 series isn't effected by the Dithering bug in Thief.
[img]http://img.photobucket.com/albums/v253/squall_leonhart69r/Final_Fantasy_8/squall_sig1.gif[/img]
[url=http://vba-m.com/]VBA-M Forum[/url], [url=http://www.ngohq.com]NGOHQ[/url]
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

I.S.T. wrote:See this link to basically get the answer why that happens: http://forum.beyond3d.com/showthread.php?t=46378
If you read what you posted (the link) you would have seen that the g80 and newer cards only render in 32bit.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
vanfanel
Rookie
Posts: 34
Joined: Mon Mar 02, 2009 4:59 pm

Post by vanfanel »

ok, I may sound stupid, but GMA950 is not comparable to those Nvidia cards. It has a i915-based design afaik and the Intel chipsets release timeline isn't related to Nvidia timeline.
It's a DirectX 9 card, ok, so what does that mean?
Should it be faster in 16 bits mode?
Spanish third republic NOW!
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

Possibly. After a while 32 bit color stops being a performance bottleneck. Cutting back to 16 bit won't help in those cases. It also wouldn't help if something else was cutting into performance, such as the CPU, amount of RAM(Either system or video), the chip being too slow anyway, etc.
Post Reply