Ticket #180 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

Default DepthTextureBits is very slow on GF4

Reported by: Philip Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc:

Description

By default, the shadow DepthTextureBits is 16. With a GF4, that is very slow compared to other depths - e.g. on a blank grass map, with AA disabled, it is 72fps with DepthTextureBits=32 and 23fps with DepthTextureBits=16. With 4xAA enabled, it is 36fps at 32, but only 2fps at 16.

Is a similar effect visible on other graphics cards? (Use renderer.depthTextureBits in the console to change it). If so, presumably the default should be changed; otherwise, the default should depend on the hardware.

Change History

comment:1 Changed 6 years ago by Philip

(I seem to get the same performance at 24 bits as at 32 bits, and also at the default unspecified depth. Only 16 is slow.)

comment:2 Changed 6 years ago by Matei

Confirmed on GeForce? Go 5200: A map with a number of units on it gets ~20 FPS at 16 and ~33 at 24 or 32.

comment:3 Changed 6 years ago by philip

(In [4876]) # Fixed some graphical and scenario editor issues. Atlas: Changed video format to 640x480 and losslessly compressed. Added most-recently-used files list. Stopped switching sidebar when selecting tools, since it was getting annoying. Added Slow playback mode. Fixed crash when resetting sim while projectiles exist. Renderer: Added JS-accessible renderer.shadowMapSize to override the size of shadow maps. ShadowMap?: Changed default depth texture bits to 24, since that seems to go faster (see #180). PolygonSortModelRenderer?: Made more similar to other renderers, so that the renderer.sortAllTransparent=true mode works better. Projectile: Fixed update, so it interpolates smoothly. Entgraph: Fixed promotion detection.

comment:4 Changed 6 years ago by Philip

(r4876 changed the default to 24, but I don't want to close this ticket yet - we should see if the same issue is true on all other graphics hardware.)

comment:5 Changed 6 years ago by Philip

Michael reports the opposite situation with a Radeon 9800: 24 and 32 are very slow, 16 is fast. The default unspecified depth (e.g. what you get when DepthTextureBits=0) is fast for him and for me (presumably it's letting the drivers decide?), so I'll change the code to use that, since it's easier for now than doing hardware detection.

comment:6 Changed 6 years ago by philip

  • Status changed from new to closed
  • Resolution set to fixed

(In [4893]) Changed default DepthTextureBits? again. Should fix #180.

Note: See TracTickets for help on using tickets.