Opened 17 years ago

Closed 17 years ago

#180 closed defect (fixed)

Default DepthTextureBits is very slow on GF4

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

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 (6)

comment:1 by Philip Taylor, 17 years ago

(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 by Matei, 17 years ago

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 by philip, 17 years ago

(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 by Philip Taylor, 17 years ago

(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 by Philip Taylor, 17 years ago

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 by philip, 17 years ago

Resolution: fixed
Status: newclosed

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

Note: See TracTickets for help on using tickets.