An Example for Comparison

VRML is a generalized language, developed not just for PCs and PC clones (indeed, not developed for that system at all in the first place), but designed to be platform independent, and universal in applicability. As usual, there is a price to be paid for that flexibility, and that is that VRML is somewhat inefficient in the use of space and computer resources, as compared to more platform dependent forms of 3D visualization (OpenGL as used in Punch! LiveView, for example). It therefore behooves me to give the user some idea of what VRML can be expected to do as compared to LiveView, at least roughly.

For comparison purposes I have chosen a Punch! design which includes most all of the Punch! features. It is 2.3 MB in size (the .pro file), which is fairly hefty. The machine used for testing is a 1.8GHz PIII with 512MB of RAM, and a video card with 32MB of video memory.

In Punch! the file takes 93 seconds of preparation and rendering time for the quarter page view with all feature suppression options turned off (that is, all features rendered), in LiveView.

When the design is created into VRML, the file is 7.98 MB in length, and took about 33 seconds to create on the disk. There is a compressed VRML mode available from some of the VRML tools that are available; compressed, the design file is 360 KB in length. The real difference comes in when you try to display the VRML model in the browser: When I tried to render a full up copy of the VRML, the browser showed the first frame very quickly: in 12 seconds, using about 100MB of RAM. In seemed to render pretty smoothly until I rotated the viewpoint to view the main part of the building; at that point the rendering slowed to a crawl, and the disk started thrashing (from swapping activity). When control returned about 5 minutes later, the virtual memory usage was up to 1.03 GB (from a starting point of 305 MB). After that, rendering animated frames took from instantaneous to about 3 seconds, depending on what was within the view frame.

The moral to the story is, if you want good performance out of VRML then have lots of RAM available. I would recommend 512MB for small to medium sized projects and 1, possibly 2 GB for large projects. CPU speed is not as important as memory capacity; while rendering, the CPU meter never went to 100% more then momentarily.

The main measurement of complexity for an image in VRML is the number of surfaces that have to be created. The Punch! objects that create the lion's shares of surfaces are 3D Objects (particularly those with curved edges like cylinders, and most particularly those with doubly-curved edges (curved in two dimensions, like spheres). Curved anything (like curved walls, or windows and doors with arches, increase size. Railings can generate many surfaces when they are long, hence the different options for simplifying the balusters. Stairs are fairly profligate, but usually are not extensive enough to worry about. Plants are cheap, unless there are a great many of them. Terrain, when it is rough with knolls, ridges, gullies and so on can become problematic. In general, you pay for what you get - increased realism usually increases the cost, and slows the animation.


    

VRML Export Expert and the contents of this help file are
Copyright©2006 by ThistleKeep Engineering; all rights are reserved.

Comments and suggestions, as well as support, are entertained at Lmc@ThistleKeep.com.
"Punch!" and other titles of Punch! operations are trademarks of Punch! Software L.L.C.