Thursday, July 8, 2010

Some information/speculation about how the 3DS operates *UPDATE*

I was reading a bit over at Disruptive Sketchbook, and I thought I'd try to translate a recent post about the operation of the 3DS for everyone here, as some of this seems like new information to me. Apparently primary writer of the site, Urian, has some connection with developers that have had a closer look at it. Very interesting stuff! Here is my best shot at translating this article... it's not perfect by any means:


I can not reveal much, because of an NDA, but I'll try to explain the way that the console generates real-time 3D stereo based on talks I've had in the last few weeks with people who are developing for the console.
It turns out that the system is NOT a dual GPU running in parallel as speculated. Instead, the console runs a dual framebuffer (but via a single GPU) to achieve the parallel frames. The system sacrifices the SSAA abilities of the GPU, whose execution time is 8ms.
The 3ds produces its effects as follows:
  • Each framebuffer generates a new frame intermittently, every 8ms.
  • Every 16ms the two frames generated are shown on the screen (for stereo 3D without glasses).
  • The geometric capability is ~16K polygons per frame.
  • The 3DS framerate, like the original DS and DSi, is fixed at 60fps
The version of the PICA200 which was designed for 3DS is not able to allow direct access to the SSAA *and* generate the second image quickly enough, so Nintendo sacrificed the SSAA in order to generate the second frames without using a second GPU.

Some interesting stuff nonetheless :) I'm not so knowledgeable about all that fancy techno-talk, but I do love me some speculation! I also love me some sexy 3DS :) Thanks for the info Urian!

(Source, Disruptive Sketchbook (en Espanol))


UPDATE: Thanks to the commenters below (kyle_hyde and The CronoLink) for help with the translation! I have updated the main text to reflect these changes as best I could. 


UPDATE 2: Urian from Disruptive Sketchbook has commented on this post to provide further information and insight. Here is the additional information provided:




"Hi tactics, I am Urian.


DS and 3DS have their frame rate completely fixed, every 16ms (1/60fps) it copies the information from the frame buffer to the screen, in the case of 3DS some people speculated that the Nintendo would use a second GPU but you don't need a second one if you have the ability to render 2 images in enough time.


Super Sampling AntiAliasing is one of effects that cost more time for a GPU and more when we have a handheld GPU, it is a loss of time to put a second GPU only because you want a little more image quality when because the low resolution that a handheld system has you will have aliasing problems ever.


In other words... why do you need the ability to draw some special FX that only the graphic whores are able to appreciate when with a single GPU you can:


*Reduce Cost.


*Increase Battery Life


*For developers is more easy to program since they don't hace to sync both GPUs


To put a dual GPU is a very bad idea and from the info that I have Nintendo has discarded this approach for the Stereo screen, another subject is the bottom screen that uses an improved version of DS GPU."



It is great to get more additional information! Thank you very much for visiting :)

8 comments :

  1. Hi there, I readed the information and is really interested but there are is a little mistakes in the second pink phrase.

    the part where it says:
    "It turns out that the system is a dual GPU running in parallel, and as speculated, the console runs a dual framebuffer..."

    should be:
    "It turns out that the system doesn't have a dual GPU running in parallel as it was speculated, instead the console runs a dual framebuffer..."

    The second one was diffiult to translate. The part where it says:
    "Sacrificing the SSAA for the generation of a second frame is achieved using a second GPU"

    it should be more like:
    "Sacrificing the SSAA for the generation of a second frame eliminated the need of a second GPU"

    I know that the second change doesn't have a literal translation, but what I understand in the original text (the spanish one) is that nintendo sacrificed the GPU's SSAA for generate many effect without the need of useing a second GPU, also the text indicates that 3DS only has 1 GPU.

    ReplyDelete
  2. I can help. This is how it is read:

    "Turns out the system doesn't have a dual GPU running in parallel like it was speculated but what the console has is a dual framebuffer and it does everything with a single GPU, [Note: even though Urian uses a comma here, I think he's starting a new sentence, should have used a semi-colon, I think] in order to carry out the parallel frame what the system does is to sacrifice the GPU's SSAA, of which its execution time is 8ms in the case of the 3DS's GPU.

    ...

    Sacrificing the SSAA in favor of generating a second shot (or still) achieves not having to use a second GPU, the version of the PICA200 expected for the 3DS doesn't support direct access to the SSAA just so the second image can be generated on time."

    ReplyDelete
  3. OMG that is fantastic!!! Thank you so much! My spanish is pathetic, but I just *had* to try-- this article was so interesting to me.

    Thanks a lot! <333

    ReplyDelete
  4. Okay, I have updated the main post to reflect these changes as best I could. Thank you very much for your help :)

    ReplyDelete
  5. Hi tactics, I am Urian.

    DS and 3DS have their frame rate completely fixed, every 16ms (1/60fps) it copies the information from the frame buffer to the screen, in the case of 3DS some people speculated that the Nintendo would use a second GPU but you don't need a second one if you have the ability to render 2 images in enough time.

    Super Sampling AntiAliasing is one of effects that cost more time for a GPU and more when we have a handheld GPU, it is a loss of time to put a second GPU only because you want a little more image quality when because the low resolution that a handheld system has you will have aliasing problems ever.

    In other words... why do you need the ability to draw some special FX that only the graphic whores are able to appreciate when with a single GPU you can:

    *Reduce Cost.

    *Increase Battery Life

    *For developers is more easy to program since they don't hace to sync both GPUs

    To put a dual GPU is a very bad idea and from the info that I have Nintendo has discarded this approach for the Stereo screen, another subject is the bottom screen that uses an improved version of DS GPU.

    ReplyDelete
  6. Urian,

    I agree. Now that I understand the "cost" of losing SSAA (instead of using another GPU), this was clearly the best decision they could've made.

    Thank you for the further information, it is very much appreciated. Keep up the great work, I love your blog even though I have trouble understanding much sometimes xD

    ReplyDelete
  7. Actually, as a Mexican I thought your understanding of Spanish was pretty good. ;)

    ReplyDelete