CompuServe Thread

#VistaPro

9 messages in this thread
#147272From: Shawn RandolphMay 20, 1994 9:17 PM
Hello there, I noticed your thread that you are involved with VistaPro. I would like to say my company uses VP and I think you all did and excellent job. 🙂 I had a question you might answer, I run a shop with Amigas and a single PC (er, sorry) and it seems to me that the PC version is quite a bit faster than our amiga version (both 3.0). Is this true or just an "illusion?" Thanks 🙂 Shawn Randolph Silent Paw Productions
#147291From: Clint Woeltjen@VRLIMay 20, 1994 10:33 PM
Shawn: The PC version running on a 486/66 renders about 4 times faster than the released Amiga version on an 040/25. Since 3.0 was released, I have ported the Amiga code over to the SAS C compiler, which has resulted in about a 30% improvement in rendering speed making the Amiga 3.1 about 3 times slower. There are two major factors in the speed difference, one being compiler optimization and the other being processor speed. The WatCOM compiler on the PC has many man-years of optimization in it which SAS does not yet have. Given the size of the market, SAS is doing quite well with their compiler, improving it with each release, but it doesn't generate nearly the revenue that a PC compiler does, hence less money available for optimization. From what I've seen, if you had a 486/25 and an 040/25, they would be pretty close in speed. The reason that PCs seem so slow is usually the fault of Windows and code written in 16 bit mode, rather than the processor. VistaPro is actually a pretty good test of processor speed and compiler optimization as the rendering code is identical on the various processors. I am looking forward to seeing how well it does on the 060. <grin> Clint <VRLI><Chaocity>
#147423From: Dale LarsonMay 21, 1994 5:16 AM
If you compiled a version with 040-native FPU calls, you'd be a LOT better off. You are probably taking exceptions right and left for transendentals, and that is slower than an '882 on an '030! — Dale L. Larson, Intangible Assets Manufacturing
#147615From: Clint Woeltjen@VRLIMay 21, 1994 11:24 PM
Dale: Actually VistaPro spends very little time on floating point calls, the vast majority is integer arithmetic. The integer trancendentals are all table lookup for speed. There are fewer then a half a dozen floating point trancendental calls per render cycle. Compiling for 040 code with the SAS compiler improved rendering speeds about 30% over the Manx 5.2 code on an 040. Clint <VRLI><Chaocity>
#147720From: Dale LarsonMay 22, 1994 4:44 AM
Sorry, stupid me. I should have guessed that you'd taken the integer arithmetic optimization. Wow. Kinda suprises me that your 486 version is so much faster, even if you chalk it up to compiler optimizations. I assume you've run both versions through a profiler — are they both spending most of their time in the same functions? — Dale L. Larson, Intangible Assets Manufacturing
#147904From: Clint Woeltjen@VRLIMay 22, 1994 10:44 PM
Dale: Given that the code is identical, I would imagine that they would spend their time in the same functions. <grin> The differences are in the GUI, both render to a 24 bit chunky pixel buffer. John and I have worked hard to keep the basic rendering engine the same so that code could be passed back and forth without conversion being needed. I did "cheat" on some of the actual polygon calculating code, and recoded it in assembly on the Amiga, which was about a third of the speed improvement, so if anything, the compiler differences are greater than they look. I profiled the Amiga to determine which routines to recode, and have about 5% of the total code optimized to assembly. Using identical "C" source, the Amiga is even slower than the current numbers. I was quite surprized myself, as the PC seems so sluggish with other programs, but VP seems to like the 486. John did compile in 32 bit protected-mode on the PC which was much faster than VistaPro 1.0 on the PC which was 16 bit. Unfortunately, on the PC most programs try to maintain 286 compatability which effectively cripples them. Clint <VRLI><Chaocity>
#147964From: Dale LarsonMay 23, 1994 4:44 AM
The profiling comparison of the "identical code" on different processors with different compilers would still be potentially interesting, though not as much so with your assembly optimizations. You might find that a particular function is much slower on the 040, and that might lead you to a single cause (or couple of single causes) you could point to for the speed difference. — Dale L. Larson, Intangible Assets Manufacturing
#148236From: Clint Woeltjen@VRLIMay 24, 1994 1:34 AM
Dale: I profiled the Amiga version when I converted it from Manx to SAS, and the optimizations that I added in response to the info I gained did improve the Amiga version. However, they also improved the PC version by a like amount. I personally much prefer the Motorola 680×0 architecture and the Amiga OS, but I have yet to come up with a benchmark that doesn't show the 486/66 to be at least 3x faster than the 040/25. I wish it weren't so, but John and I have written and run dozens of benchmarks trying to find out just where the speed is coming from, but it seems to be across the board, not any particular set of instructions. Clint <VRLI><Chaocity>
#148273From: Dale LarsonMay 24, 1994 5:38 AM
Well the 66mhz isn't helping the Amiga side. Try with a Warp board. The extra clock speed will help, and getting rid of the stupid slow RAM on the A4000 with the 3640 will certainly help. — Dale L. Larson, Intangible Assets Manufacturing