home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 3594 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.1 KB

  1. Path: news.eunet.fi!fipnet!kone!jsaarinen
  2. Newsgroups: comp.sys.amiga.programmer
  3. X-NewsReader: IntuiNews 1.2b (31.7.94)
  4. References: <38232464@kone.fipnet.fi> <4ga21v$lsk@brachio.zrz.TU-Berlin.DE>
  5. From: "Jyrki Saarinen" <jsaarinen@kone.fipnet.fi>
  6. Date: Wed, 21 Feb 96 18:00:40 UT
  7. Comments: Illegal date header - new date added by quicknews
  8. X-Original-Date: Wed, 21 Feb 96 13:01:37 
  9. MIME-Version: 1.0
  10. Content-Type: text/plain; charset=iso-8859-1
  11. Content-Transfer-Encoding: binary
  12. Subject: Re: Texture/Gouraud innerloop speedtests
  13. Message-ID: <38232562@kone.fipnet.fi>
  14.  
  15.  
  16. > >Ok, I did a little research. My CPU is a 40MHz 68040,
  17. > >a Warp Engine with a very fast memory system, maybe
  18. > >this is the reason I did not gain any speed even if
  19. > >I turned the data cache and thus data burst off,
  20. > >with data burst everything was about 50% slower.
  21. > Not very surprising! Data burst means that whenever
  22. > a cache-miss occurs the CPU loads 4 longwords around
  23. > the mem area where the data to be fetched is. For a
  24. > tmapping loop this means that for almost any pixel that
  25. > is fetched from the texture the CPU keeps the bus busy
  26. > for 4 mem cycles!
  27.  
  28. ;) I said 50% slower when I switched the data cache OFF.
  29.  
  30. > >So the frame rates were for a 320x256 screen:
  31. > >Texture/Gouraud/Shading table, 64k aligned: ~43 fps
  32. > >Plain Texture, 64k aligned: ~67 fps
  33. > fps? Are these figures for the mere repetition (320*256 times)
  34. > of the innerloop?
  35.  
  36. Yep. 
  37.  
  38. > >    move.b    (a3,d0.l),d1
  39. > >    move.b    (a4,d1.l),(a0)+
  40. >         [...]
  41. > >    dbf    d7,poly
  42. > >    rts
  43. > If I understand your problem right you wonder why the
  44. > two version are almost equal in terms of speed? The scheduling
  45. > is not optimal in both versions, you use the data that you
  46. > fetch in the next instruction.
  47.  
  48. If you have read my posting .. I said I could not speed
  49. up the "normal index version" of the routine, I tried
  50. all the possible instruction combinations.
  51.  
  52. Besides, the 64k-aligned routine is ~20% faster. And it is
  53. properly scheduled at least on the 040, I could gain about
  54. ~10-15% by changing instructions to that order where
  55. they are now.
  56.  
  57. --                               _
  58. a Stellar programmer          _ //
  59. "Amiga - back for the future" \X/
  60.