TimeVideo ![]()
TimeVideo is a "fat" Macintosh test program that checks out the timing of all video devices (ie every display) in anticipation of their use in critical real-time applications, e.g. movies or lookup table animation. For each video card, TimeVideo measures the video frame rate, frequency of VBL interrupts (supposed to be one per frame), how long it takes to load the clut, and how fast CopyBits can copy data from memory into an open window. From the data and frame rates, it also calculates for you how much of the screen you can fill with a real-time (one-image-per-frame) movie. And it does a write-then-read test of the video card's clut. These tests are performed for every pixel depth, in both gray and color modes, for every video card. Just double-click the application and watch it do its stuff. C source is available. Supports all Macs (with System 6.07 or better) from MacPlus to G4. Can use Display Manager, if present, to test multiple resolutions of your displays. It runs as a Classic application under Mac OS X.
The CopyBits data rate (MB/s) is useful as part of any comparitive evaluation of the performance of a combined computer and video card. The "CopyBitsQuickly" rate is only interesting if it's faster than CopyBits, indicating that my simple homemade code runs faster than Apple's CopyBits code, which they optimize for each machine. In fact Apple does this very well, so it's very unusual to find that CopyBitsQuickly is better.
TimeVideo is free. Complete sources are included in the VideoToolbox archive.![]()
VERSION HISTORY:
9/30/99 3.8.6 Explain that CopyBitsQuickly is my simple homemade loop. Suppress movie size report.
9/14/99 3.8.5 Better identifies new Macs.
7/17/98 3.8.4 Identifies new Macs, and works around bug in Radius Thunder video card/driver.
3/26/98 3.8.3 Fuller version string, e.g. 3.0f7. Now copes gracefully with high priority.
2/27/98 3.8.2 Reports driver version even on PCI Macs.
2/27/98 3.8.1 Hides the Control Strip.
1/8/98 3.8.0. Updated from CodeWarrior 10 to Pro 2. Fixed the runtime display of which test is currently running.
7/9/97 3.7.9 recompiled. Tests for weak-linked routines now follow TN1083.
3/19/97 3.7.8 recompiled. We no longer use Timer.c. Increased heap and stack.
1/14/97 3.7.7 recompiled with CodeWarrior 10.
1/14/97 3.7.7: Updated some of the comments and addresses. Recompiled with CodeWarrior 10.
3/26/96 3.7.6 increase tolerance for recognizing identity, ignore errors in insignificant bits.
3/7/96 3.7.5 report if VM, RAMDoubler, or FileSharing is on.
3/7/96 Fixed TestCLUT.c to reflect fact that cscSetEntries reads from table[0],.... whereas cscGetEntries writes to table[start],....
10/25/95 added Caution about multiple resolutions.
10/24/95 dropped ".fat" from name of application. Now prefer the mirror.apple.com ftp site.
10/14/95 fixed bug reported by Brian McElree and Beau Watson whereby requesting tests at multiple resolutions on a PCI Mac resulted in no testing at all. The bug was due to my erroneous assumption that PCI Macs would not have a Slot Manager. Now scan PCI device list even if the Slot Manager is present. Recompiled with new Identify.c functions that work on PCI bus (they call UseNameRegistery.c).
10/6/95 changed default to normally NOT do the visual tests.
10/5/95 3.7.4 recompiled with new GDVideo.c:GDCardName that checks for Slot Manager first, for compatibility with PCI Macs.
9/18/95 deleted Syracuse address.
6/24/95 3.7.3 updated URL from info-mac/dev/src/ to info-mac/dev/lib/.
6/14/95 3.7.2 recompile with new less-wordy version of IdentifyMachine().
5/27/95 cosmetic corrections. Recompile with CodeWarrior 6.
4/18/95 Call SVersion() only if _SlotManager trap is available.
4/8/95 3.7.0 Polished the explanatory text that appears at the beginning of the results file.
4/7/95 3.6.6 Read A7 draft of "Designing Cards & Drivers for Power Mac Computers", and added support for multiple resolutions on PCI Macs.
4/1/95 Updated my address. Added advice about how to interpret cscSetEntries/cscGetEntries errors.
3/22/95 3.6.5 Added check for bad Dome driver, and enhanced detection of CW compiler version.
3/18/94 3.6.4 Recompiled with CodeWarrior 5.5, which supposedly fixs some C bugs.
1/7/95 3.6.3 Got Display Manager calls to work.
12/29/94 3.6.2 WriteAndReadClut now waits for vbl before reading.
11/30/94 Use Display Manager to test all display modes. Untested.
11/17/94 3.6.1 added explanation of GDSetEntries ... NAN ... frames.
11/17/94 3.6 updated the text describing VideoToolbox.
10/20/94 3.5 Defined BLANKLINE in GDInfo.h to work around bug in Metrowerks CW4.5 bug in handling of \r.
10/12/94 Used Metrowerks CodeWarrior C to produce fat binary.
9/5/94 removed assumption in printf's that int==short.
8/14/94 Added workaround for [][][][!isGray] bug in Metrowerks CodeWarrior compiler.
8/1/94 3.0.4 Recompiled with latest sources.
7/29/94 Eliminated use of "#s" printf format, since it's not supported by Metrowerks CodeWarrior C.
7/8/94 3.0.3 Recompiled with new THINK C 7.03.
6/19/94 3.0.2 Various cosmetic changes, recompile with latest CopyBitsQuickly and SetEntriesQuickly.
6/14/94 3.0.1 Copy Monaco-font style resource from application into the "TimeVideo report" document.
6/7/94 3.0.0 New C-based version of CopyBitsQuickly. Fixed versions of CopyBitsQuickly, SetPixelsQuickly, and SetEntriesQuickly that are compatible with dirty ROMs.
1/13/94 2.5.3 Updated description of VideoToolbox.
7/7/93 2.5.2 Recompiled with new GDDacSize, for compatibility with Radius PowerView.
6/2/93 2.5.1 Updated text reference to info-mac.
5/18/93 2.5 Release version.
5/18/93 2.4.9b6 Note that 16 and 32 bit depths are always in color mode.
5/18/93 2.4.9b5 Suppress printing of identity color transformation.
5/18/93 2.4.9b4 Check that card->device is not NULL.
5/17/93 2.4.9bbb Changed SetEntriesQuickly to respect the color/gray mode of device.
5/11/93 2.4.9bb Fixed bug in GDTestClutHash in GDTestClut.c in response to bug report by Jonathan Brecher.
4/28/93 2.4.9b Ignore "isGray" for 16 and 32-bit modes.
4/27/93 2.4.8b Fixed stale-cache bug in SetPixelsQuickly.
4/25/93 2.4.7b Worked around New Palette Manager bugs in original 32-bit QD.
4/25/93 2.4.6b Test both color and gray modes; tolerance=3 lsb.
4/25/93 2.4.5b Correct for -0.5 bias in estimating rgb gains in TestClut.c
4/19/93 2.4.4b Fixed RectToAddress to always return a 32-bit address, so it won't crash under System 6.
4/19/93 2.4.3b Use color transformation matrix to assess gray error.
4/19/93 2.4.2b Estimate color transformation matrix.
4/19/93 2.4.1b Support old Mac II 24-bit NuBus addressing.
4/16/93 2.4b Restore compatibility with 1-bit qd.
4/15/93 Display Testing window with gray wedge on test screen.
4/13/93 2.3.1 Only set results file type when it is created, not when appending.
4/6/93 2.3 Remove assumption that mode numbers imply certain number of bits.
4/5/93 2.2 Recognize gray1 error.
3/31/93 2.1 Release version, clut test seems to work.
3/16/93 2.0 Added high-priority timing. Added visual hash inspection.
3/10/93 1.17 Choose a valid mode for which to print the frame rate.
2/15/93 1.14 Report ROM version as 124+6*256.
2/6/93 1.13 Report ROM version.
1/24/93 1.12 Updated the explanatory text.
1/18/93 1.11 Updated the explanatory text.
1/15/93 1.10 Added version resource.
1/11/93 1.09 support computers that lack Color QuickDraw.
1/8/93 1.08 Added Info-Mac to report file.
1/7/93 1.07 Included in VideoToolbox-1-93.sea
12/9/92 1.01 Fixed summary. TimeVideo now reports a frame count based solely on timing in secs.
10/6/92 1.0 report program version.
8/23/92 wrote it, based on my TimeCPU.c