Everybody using tiles

Article: Tile-based Rasterization in Nvidia GPUs
By: wumpus (lost.delete@this.in-a.cave.net), August 2, 2016 6:57 am
Room: Moderated Discussions
Simon Farnsworth (simon.delete@this.farnz.org.uk) on August 1, 2016 1:01 pm wrote:
> wumpus (lost.delete@this.in-a.cave.net) on August 1, 2016 11:29 am wrote:
> > Rob Clark (robdclark.delete@this.gmail.com) on August 1, 2016 9:49 am wrote:
> > > vvid (no.delete@this.thanks.com) on August 1, 2016 9:45 am wrote:
> > > > Nvidia uses tiles since ~NV20.
> > > >
> > > > These small rectangles on video are ROP tiles (collection of pixels placed at
> > > > adjacent location in the same memory bank) and can be compressed (nv40+).
> > > >
> > > > http://www.google.ch/patents/US7545382
> > > > http://www.freepatentsonline.com/y2015/0154733.html
> > > > https://kernel.googlesource.com/pub/scm/linux/kernel/git/mchehab/linux-media/+/media/v4.7-2/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.c
> > > >
> > > > Specific ordering pattern is likely a result of non-linear (swizzled)
> > > > memory layout of ROP tiles grouped in a second level structure.
> > > >
> > > > AMD uses 8x8 tiles. It is highly intergrated with HSR system.
> > > >
> > >
> > > "tile" is a bit of an overloaded term. What you are describing above is tiled format (ie. layout
> > > of pixels in memory), which is a different thing from an internal tile buffer (ie. tiler gpu)
> > >
> >
> > I'll have to watch the video, but it seems to me that "tiling" is largely a means of increasing
> > cache hits while rendering (if not Nvidia's method, at least it can be used that way). Note
> > that even when not deferred, unless the API/engine is specifically designed to spit out tiles
> > (and likely even then) it is going to add roughly one frame of latency (because you presumably
> > have to collect enough polygons to bother with each tile). This isn't a terribly good long
> > term thing to do with VR on the horizon (which appears to want latency above all else).
>
> I don't see how you get the added frame of latency; both OpenGL and Vulkan have concepts that effectively delimit
> individual frames, and even a full-frame IMR is allowed to batch the drawing up until you hit the "end of rendering"
> command (be it glFlush(), glSwapBuffers(), or the more powerful Vulkan synchronization primitives).

I don't see how "allowed" == "required". From the demo it appears that the ATI board simply draws the triangles as they appear, no latency involved (of course they could be waiting to receive all the triangles first, but that seems weird).

Note that this is only true for current output definitions. Should nvidia create something like "G-sync 2.0" or more accurately "G-sync-VR" and allow the card to send each line to the LCD (or oLED or whatever) output display, it would get rid of much of this problem (since nvidia essentially "chases the beam", or at least works its way down the screen). You would then have to rewrite your graphics engine to chase the beam as well (or more likely, simply chop the screen into four horizontal stripes and render them separately (from a high level design this should be easy, finding and removing any "out of sight, out of mind" memory allocation/caching routines is another story).

All of this should only matter to VR, as it simply hasn't been an issue with current screens (although the G-sync feature seems to improve things). By all accounts, latency is the biggest issue for VR, and it seems to be solved largely by throwing transistors at it (i.e. simply increasing the framerate to force conventional GPUs to get each screen on the display quicker).
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2016/07/31 11:01 PM
  Article: Tile-based Rasterization in Nvidia GPUsBenjamin2016/08/01 01:22 AM
    GM, M = Maxwell, Tile = YesJohn H2016/08/01 04:59 AM
      GM, M = Maxwell, Tile = YesDavid Kanter2016/08/01 07:33 AM
        Updated articleDavid Kanter2016/08/01 07:35 AM
    Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2017/01/17 04:56 PM
      Optimus (d*mn, it isn't blue now)blue2017/01/19 05:34 PM
    Probably not in earlier MaxwellsDavid Kanter2017/01/17 04:56 PM
  Article: Tile-based Rasterization in Nvidia GPUsDan2016/08/01 02:12 AM
    Article: Tile-based Rasterization in Nvidia GPUsGionatan Danti2016/08/01 02:20 AM
      Article: Tile-based Rasterization in Nvidia GPUsSimon Farnsworth2016/08/01 03:00 AM
      Article: Tile-based Rasterization in Nvidia GPUsGiGNiC2016/08/01 03:30 AM
      Not deferred, still immediate-modeDavid Kanter2016/08/01 06:25 AM
        Not deferred, still immediate-modeRob Clark2016/08/01 08:44 AM
          Not deferred, still immediate-modeRob Clark2016/08/01 09:12 AM
            Not deferred, still immediate-modeSeni2016/08/01 11:25 AM
              Not deferred, still immediate-modeRob Clark2016/08/01 01:38 PM
              Not deferred, still immediate-modevvid2016/08/02 11:59 PM
            Not deferred, still immediate-modePhilip Taylor2016/08/01 03:55 PM
              Not deferred, still immediate-modeRob Clark2016/08/01 04:56 PM
                Not deferred, still immediate-modePhilip Taylor2016/08/01 06:33 PM
                  Not deferred, still immediate-modePhilip Taylor2016/08/02 03:46 PM
                    Not deferred, still immediate-modePhilip Taylor2016/08/03 12:36 PM
    Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2016/08/01 05:48 AM
      Article: Tile-based Rasterization in Nvidia GPUsExophase2016/08/01 10:35 AM
        Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2016/08/04 12:22 AM
  Article: Tile-based Rasterization in Nvidia GPUsGionatan Danti2016/08/01 02:16 AM
    Not deferred, still immediate-modeDavid Kanter2016/08/01 06:40 AM
  Article: Tile-based Rasterization in Nvidia GPUsJohn H2016/08/01 05:13 AM
    Article: Tile-based Rasterization in Nvidia GPUsAndrei Frumusanu2016/08/01 05:21 AM
      Article: Tile-based Rasterization in Nvidia GPUsblue2016/08/01 07:58 AM
        Article: Tile-based Rasterization in Nvidia GPUsAndrei Frumusanu2016/08/01 09:38 AM
          Article: Tile-based Rasterization in Nvidia GPUsblue2016/08/01 12:02 PM
  Article: Tile-based Rasterization in Nvidia GPUsKlimax2016/08/01 06:14 AM
    Article: Tile-based Rasterization in Nvidia GPUsAaron Spink2016/08/01 06:29 AM
  Everybody using tilesvvid2016/08/01 08:45 AM
    Everybody using tilesRob Clark2016/08/01 08:49 AM
      Everybody using tileswumpus2016/08/01 10:29 AM
        Everybody using tilesSimon Farnsworth2016/08/01 12:01 PM
          Everybody using tileswumpus2016/08/02 06:57 AM
            Everybody using tilesSimon Farnsworth2016/08/02 07:12 AM
  Testing MethodologyDavid2016/08/01 12:22 PM
    Testing MethodologyJoel H2016/08/01 12:57 PM
      Testing MethodologyDavid2016/08/01 03:09 PM
  Flicker?Wanderer2016/08/01 04:08 PM
    Flicker?Philip Taylor2016/08/01 04:30 PM
      Flicker?Beastian2016/08/01 08:33 PM
    Flicker?David Kanter2016/08/01 05:19 PM
      Flicker?Wanderer2016/08/02 06:14 AM
  Article: Tile-based Rasterization in Nvidia GPUsPM2016/08/01 05:39 PM
    Article: Tile-based Rasterization in Nvidia GPUsGiGNiC2016/08/02 11:03 AM
    GCN Imagesvvid2016/08/02 11:22 PM
      GCN ImagesVertexMaster2016/08/04 09:06 AM
        GCN Imagesvvid2016/08/04 10:30 AM
          GCN ImagesVertexMaster2016/08/04 03:38 PM
            GCN Imagesvvid2016/08/05 02:30 AM
              GCN ImagesVertexMaster2016/08/05 04:16 AM
                TBDRvvid2016/08/05 08:15 AM
                GCN1.2?vvid2016/08/07 03:33 AM
  Sorry, this is not a tile based renderer.Peter McGuinness2016/08/02 07:11 AM
    Render != RasterizeDavid Kanter2016/08/02 07:30 AM
      Render != RasterizePeter McGuinness2016/08/02 07:43 AM
        Render != RasterizeDavid Kanter2016/08/02 08:45 AM
          Render != RasterizePeter McGuinness2016/08/02 09:05 AM
            Render != RasterizePhilip Taylor2016/08/02 05:53 PM
              Render != RasterizePeter McGuinness2016/08/02 08:41 PM
                Render != RasterizePhilip Taylor2016/08/03 02:41 AM
                  Render != RasterizePeter McGuinness2016/08/04 11:34 AM
                    Render != RasterizePhilip Taylor2016/08/04 03:06 PM
                      Render != RasterizeMontaray Jack2016/08/05 01:26 PM
                        Render != RasterizeJouni Osmala2016/08/05 10:49 PM
                          Render != RasterizeMegol2016/08/06 02:30 AM
                            Render != RasterizeJouni Osmala2016/08/06 08:08 AM
                              Scratching that itchMontaray Jack2016/08/06 09:42 AM
                            Render != RasterizeMontaray Jack2016/08/06 09:08 AM
  Article: Tile-based Rasterization in Nvidia GPUsDoug Patel2016/08/02 08:39 AM
  Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/02 09:35 AM
    Article: Tile-based Rasterization in Nvidia GPUsdglow2016/08/02 04:08 PM
      Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/03 03:43 AM
        Article: Tile-based Rasterization in Nvidia GPUsdglow2016/08/03 06:04 AM
          Article: Tile-based Rasterization in Nvidia GPUsmarees2016/08/03 11:46 AM
      Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2016/08/04 07:03 AM
        Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/04 10:47 AM
    Oh god, the spambots have finally found us (NT)Anon2017/01/17 04:27 AM
      Delete the messages ASAPGtoo2017/01/17 02:19 PM
  Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/10 04:16 PM
    Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/10 06:15 PM
      Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/11 09:11 AM
        Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/12 01:15 AM
          Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/16 10:49 AM
            Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/17 04:43 AM
              Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/17 07:35 PM
                Article: Tile-based Rasterization in Nvidia GPUspocak2017/05/18 03:19 PM
                  Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2017/05/20 06:55 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?