SNES native 3D performance ST-NICC no SFX demo

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Mon Aug 17, 2020 1:55 am

This is tangential to the DOOM discussions but if you don't have a SuperFX chip this is kind of the bench mark for 3D on retro platforms.

https://demozoo.org/productions/282451/ You can view the video in the gallery or by following the link. If you don't want to download the ROM. Note it is PAL only.

User avatar
Bregalad
Posts: 7951
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Bregalad » Mon Aug 17, 2020 3:04 am

Amazing demo !!
That girl is not bad either...
Useless, lumbering half-wits don't scare us.

turboxray
Posts: 104
Joined: Thu Oct 31, 2019 12:56 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by turboxray » Mon Aug 17, 2020 10:21 am

Oziphantom wrote:
Mon Aug 17, 2020 1:55 am
This is tangential to the DOOM discussions but if you don't have a SuperFX chip this is kind of the bench mark for 3D on retro platforms.

https://demozoo.org/productions/282451/ You can view the video in the gallery or by following the link. If you don't want to download the ROM. Note it is PAL only.
Except that's not 3D. It's just streaming 2D vectors in which you rasterize into a frame.

User avatar
Señor Ventura
Posts: 135
Joined: Sat Aug 20, 2016 3:58 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Señor Ventura » Mon Aug 17, 2020 12:17 pm

It's good, but i miss a full screen, in megadrive we have:

25 FPS Fullscreen, 320x224, 68000 Driven
26Khz Lossy PCM audio, Z80 Driven

https://www.youtube.com/watch?v=4qmS3lAid2E


edit:

Here the super fx version.

https://www.youtube.com/watch?v=uxpeMQiqT-Q

User avatar
Bregalad
Posts: 7951
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Bregalad » Mon Aug 17, 2020 1:04 pm

turboxray wrote:
Mon Aug 17, 2020 10:21 am
Except that's not 3D. It's just streaming 2D vectors in which you rasterize into a frame.
This definitely makes a difference; any 3D cutscene can be pre-rendered that way, but if a game actually wanted 3D rendering with that technology it should first do the projection and as thus the FPS would be lower than that for the same polygon count.
It's good, but i miss a full screen, in megadrive we have:

25 FPS Fullscreen, 320x224, 68000 Driven
26Khz Lossy PCM audio, Z80 Driven
Nice but the cute girl is missing.
Useless, lumbering half-wits don't scare us.

User avatar
Señor Ventura
Posts: 135
Joined: Sat Aug 20, 2016 3:58 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Señor Ventura » Mon Aug 17, 2020 1:07 pm

Here is the super fx version alone, without comparisons:
https://www.youtube.com/watch?v=dOqxLBZiBRA
Last edited by Señor Ventura on Mon Aug 17, 2020 1:07 pm, edited 1 time in total.

User avatar
tokumaru
Posts: 11858
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: SNES native 3D performance ST-NICC no SFX demo

Post by tokumaru » Mon Aug 17, 2020 1:07 pm

Bregalad wrote:
Mon Aug 17, 2020 1:04 pm
Nice but the cute girl is missing.
I'm sure they can add one using sprites!

turboxray
Posts: 104
Joined: Thu Oct 31, 2019 12:56 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by turboxray » Mon Aug 17, 2020 1:08 pm

Señor Ventura wrote:
Mon Aug 17, 2020 12:17 pm
It's good, but i miss a full screen, in megadrive we have:

25 FPS Fullscreen, 320x224, 68000 Driven
26Khz Lossy PCM audio, Z80 Driven

https://www.youtube.com/watch?v=4qmS3lAid2E


edit:

Here the super fx version.

https://www.youtube.com/watch?v=uxpeMQiqT-Q
The MD version got lucky for the simple fact that the MD uses linear pixels instead of planar.

User avatar
Señor Ventura
Posts: 135
Joined: Sat Aug 20, 2016 3:58 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Señor Ventura » Mon Aug 17, 2020 2:34 pm

turboxray wrote:
Mon Aug 17, 2020 1:08 pm
The MD version got lucky for the simple fact that the MD uses linear pixels instead of planar.
Interesting, Where can i read about this and its differences?.

I know about the chunky tiles although i don't know how it works exactly. Do linear pixels are related to chunky tiles?.

93143
Posts: 1225
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES native 3D performance ST-NICC no SFX demo

Post by 93143 » Mon Aug 17, 2020 3:25 pm

https://mrclick.zophar.net/TilEd/downlo ... olegfx.txt (the Genesis/x68k format explanation seems to be botched slightly; I believe the first two pixels should be labeled "p0-1", not "p1-2")

https://www.youtube.com/watch?v=57ibhDU2SAI

...

re: OP, what sort of rendering techniques were used for this demo? I can see it appears to be using Mode 7 tilemap-as-bitmap format, and there appears to be DMA aimed at the WRAM gate...

I believe the MD version used heavy preprocessing to achieve its high render speed. I have a few ideas for how to improve performance on SNES while using bitplane format for a larger frame, but I'm not familiar with what exactly they did on MD.

turboxray
Posts: 104
Joined: Thu Oct 31, 2019 12:56 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by turboxray » Mon Aug 17, 2020 4:12 pm

93143 wrote:
Mon Aug 17, 2020 3:25 pm
I believe the MD version used heavy preprocessing to achieve its high render speed. I have a few ideas for how to improve performance on SNES while using bitplane format for a larger frame, but I'm not familiar with what exactly they did on MD.
I thought the rules for the compo was that you couldn't alter the data (other than to maybe interleave it or whatever). There's more than one MD demo entry/team for this compo, too.

turboxray
Posts: 104
Joined: Thu Oct 31, 2019 12:56 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by turboxray » Mon Aug 17, 2020 4:23 pm

Señor Ventura wrote:
Mon Aug 17, 2020 2:34 pm
turboxray wrote:
Mon Aug 17, 2020 1:08 pm
The MD version got lucky for the simple fact that the MD uses linear pixels instead of planar.
Interesting, Where can i read about this and its differences?.

I know about the chunky tiles although i don't know how it works exactly. Do linear pixels are related to chunky tiles?.
I'm sure you'll find plenty about it on the old Amiga and ST forums. Linear = packed pixel (terminology wise).


On the MD size, there's a few tricks for splitting the frame buffer in ram and having the DMA iterate on it a few times to copy it to vram, meaning the layout in ram is much more friendly for rendering as a frame buffer. Plus, you can optimize for vertical rendering using a supervisor stack relative instruction (though that's for byte writes, so might not be super advantageous in this position) - save a few cycles per write, but can't write bytes to odd columns of words (needs a second pass for that with different code).


For large areas, you can probably optimize for simple mapping tiles and just write the remaining edges as a raster (vertical or horizontal). I'm not sure pre-processing for that was allowed though. There's a lot of entries for the compo, including a sam coupe one haha.

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Mon Aug 17, 2020 8:20 pm

yeah it uses Mode 7 and we use tile per "pixel" this way we basically get a simple byte per pixel to write out. So if you want to make it full screen you can, you just turn off sprite layer and expand the mode7 params.
It's just span buffers in to a WRAM map then DMA'd to VRAM. Gets mostly 12.5fps, it could probably be improved, massage the data to be more 65XX friendly rather than 68K friendly etc

The hardest trick was actually the sprites, they look simple but I had to pull a few tricks to get them working.

The BBC Micro version modifies the data extensively. How else do you hold 650K in a 32K machine ;)

93143
Posts: 1225
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES native 3D performance ST-NICC no SFX demo

Post by 93143 » Mon Aug 17, 2020 11:35 pm

turboxray wrote:
Mon Aug 17, 2020 4:12 pm
I thought the rules for the compo was that you couldn't alter the data (other than to maybe interleave it or whatever). There's more than one MD demo entry/team for this compo, too.
Which compo? That video was from last year.

I seem to recall comments about the MD version being extensively preprocessed, which is why the ROM was so large. The SNES version in the OP is basically brute force as far as I can tell, using a creative but size-limited video mode to get around the tile format issues, with DMA to speed up drawing.

There is a difference between the SNES and MD CPUs, but it doesn't amount to a factor of eight in rendering speed, especially with the SNES rendering into an 8bpp linear bitmap (the easiest possible format in the general case). Something else is going on.

Stef
Posts: 259
Joined: Mon Jul 01, 2013 11:25 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Stef » Tue Aug 18, 2020 1:43 am

There is 2 versions of the MD demo, i believe the Titan version does parse original data, that explain the slightly not full-screen viewport and the more limited frame rate compared to the full-screen 25 FPS version of the MD demo from Resistance. The later use a larger ROM and can be seen more as a FMV player with very fast decompression... I know it's heavily based on LZ4W compression. To be honest i think that both version are interesting. The first as it respects the original constraints and still perform as good (if not better) than the SFX version on SNES. The second as it's just mind blowing to see it fullscreen and so smooth (and working on NTSC) whatever is the method behind (i mean, it's still heavily compressed compared to a raw video) and the sound is awesome too.

I think the SNES native demo is interesting as it directly compare to the Titan MD version, using the mode 7 is probably the best approach here for real polygon rendering. I wonder how much it can be improved but i know the 65816 is definitely not a beast when it comes to fill memory... Still it would be interesting to see how can perform the second method (FMV like) too, using a reasonable compression (something comparable to the MD ROM size which is already a bit less demanding as SNES has 25% less pixels than MD to display).

Post Reply