home *** CD-ROM | disk | FTP | other *** search
/ PC Open 18 / pcopen18_giallo.iso / Win95 / SDK / DOCS / README / SOFTIM.TXT < prev   
Encoding:
Text File  |  1997-07-14  |  3.8 KB  |  98 lines

  1. Notes on the software emulation drivers
  2. =======================================
  3.  
  4. RGB driver
  5. ==========
  6.  
  7. There is now an MMX optimized version of the RGB driver.
  8. If you have an MMX capable PC the RGB software emulation will automatically
  9. be accelerated.
  10.  
  11. Release notes for D3D MMX driver
  12.  
  13. Functionality
  14. -------------
  15.  
  16. 1. D3D's external interfaces unchanged, all examples and all apps that
  17. can use the RGB driver should be able to run with the RGB MMX driver.
  18.  
  19. 2. Only 16-bit color depths have been optimized.  There is a relatively
  20. minor (2X) improvement in 8-bit dithered RGB rendering.
  21.  
  22. 3. The following are yet-to-be-implemented: 16-bit dithering.
  23.  
  24. 4. The Z-buffer is 16-bit, but is signed, so the farthest Z-value is 0x7fff,
  25. and the nearest is 0x8000.  This should not affect you unless you examine
  26. the Z-buffer directly.
  27.  
  28. 5. There are still some rendering artifacts in certain cases.  We're working
  29. on this problem right now, and should have fixes soon.
  30.  
  31. 6. The driver only supports the PAL8 texture format.  D3D apps should detect
  32. this and create the texture appropriately.  This format is the same as
  33. the one supported by the ramp driver.
  34.  
  35. Performance
  36. -----------
  37.  
  38. 1. Performance is much better when all surfaces are in system memory, this
  39. includes the rendering target and all textures.
  40.  
  41. 2. Performance is better than that of ramp mode in most situations.
  42. There are some performance bottlenecks that we have yet to address.
  43. We suggest you run the "tunnel" example with the MMX driver to get a
  44. feel for the changed relative costs of rendering qualities: for
  45. example, the speed of gouraud shading is now much closer to that of
  46. flat-shading.  To get the best performance from the tunnel, do the
  47. following:
  48.  
  49. Specular highlights     OFF
  50. Fog                     OFF
  51. Perspective Correction  OFF
  52. Gouraud shading         ON
  53.  
  54. With these settings, you should be getting about 29Hz for the tunnel
  55. running in systemmemory fullscreen at 640x400x16.
  56.  
  57. 3. The nonMMX ramp driver works best on textures that are 256x256.
  58. This restriction has been removed in the MMX driver: it supports all
  59. texture dimensions equally well. It is still important to keep the total
  60. texture size as small as possible to reduce memory bandwidth.  Note how
  61. fast the tiny checker texture runs in the tunnel.  The checker texture is
  62. only 64 bytes instead of 64k like most of the other textures in the SDK.
  63. 256x2048 is a reasonable size for the texture in a game.
  64.  
  65. 4. Mip-mapping now works on MMX.
  66.  
  67.  
  68. RAMP driver support
  69. ===================
  70. Optional Z buffering.
  71. Color key and stippled transparency.
  72. Mono interpolated rasterization only.
  73. Point sampled perspective correct textures.
  74. Flat and Gouraud shade modes.
  75.  
  76. Performance notes for the RAMP driver
  77. =====================================
  78. Texture mapping performance is heavily gated by the speed of memory.
  79. There are a number of ways of maximizing the cache performance of your
  80. textures.  The smaller the textures are, the better chance they have of being
  81. maintained in the secondary cache.  This is crucial for keeping performance
  82. high.  Also, changing the texture per primitive will thrash the cache.  Try
  83. and keep polygons grouped in order of the textures they use.
  84.  
  85. When using Z buffering and texturing, rendering your scene from front to
  86. back will increase performance.  The textured Z buffered primitives
  87. pre-test the Z buffer on a scanline basis.  If a scanline is hidden by a
  88. previously rendered polygon it is trivially rejected.  If this is the case, Z
  89. buffering performance can exceed non-Z performance.
  90.  
  91. The retained mode API automatically orders its scenes from front to back
  92. to facilitate this optimization.
  93.  
  94. In it often a good idea to use the D3DTest program to verify performance
  95. results with different drivers, especially where hardware is involved.
  96.  
  97.  
  98.