Notes on fillrate and drawing large textures

From dreamcast.wiki
Revision as of 13:33, 8 May 2020 by Unknown user (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Those notes are from working on Reaperi Cycle and Summoning Signals, two projects that use primairly large textures for it's visual. Those projects are build using GLdc and a very light layer to interface with LUA.

Textures

I'm using ARGB1555 .dtex files for my test. At the moment of writing, all those textures are drawn in the TRANSLUCENT POLYGON LIST.

Fillrate

My calculation for fillrate is:

 (texture.width * texture.scale) * (texture.height * texture.scale)

I mention this because although scaling the texture doesn't affect the memory bandwith, it does affect the rendering speed. There seems to be a direct relation between polygone size and rendering speed (read Tile-Accel. and Raster)

In theory, this mean that drawing more smaller polygons is faster than drawing fewer larger polys, so using TRISTRIP can be quite useful here.

  • TRANSLUCENT LIST : 5-600K pixel before dipping under 60fps.
  • PUNCHTHRU LIST : 2.2M pixel before dipping under 60fps.


More Reading

Tile-Accelerator and Rasterisation