[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Testers needed for TV benchmark



Hi all,

I've been working at trying to get the fastest TV update rate possible
and am a little discouraged by my results so far.  I developed a short
benchmark program and am curious what results might be obtained by
other machines.  I have a P3-550 and obtained the following:

TV-Device Copy Test: Array Size:      512         13.520000 seconds 
=>  Frames/sec:        3.6982249   Frame time:      0.27040000
   Video Xfer rate:        2908402.4 bytes/sec

TV Direct Test: Array Size:      512         13.290000 seconds  => 
Frames/sec:        3.7622272   Frame time:      0.26580000
   Video Xfer rate:        2958735.9 bytes/sec

If your time permits, I would appreciate knowing anyone else's results
and a brief mention of the computer used.  My benchmarks were
identical for IDL 5.2 and 5.3.1.  Thanks in advance.

Bill B.

=============================================================================

; Benchmark test for window updating

PRO WIN_TEST, GROUP=Group

set_plot, 'win'
DEVICE, DECOMPOSED = 0  ; New for IDL 5.2

sz = 512

WINDOW, /FREE, /PIXMAP, XSIZE = sz, YSIZE = sz
pixmap0_id = !D.WINDOW
WINDOW, /FREE, XSIZE = sz, YSIZE = sz
pixmap1_id = !D.WINDOW

R = FINDGEN(256)
G = R
B = R

TVLCT, R, G, B  ; Load these vectors into the color table:

s = 0  							      ; seed
data = (randomu(s, sz, sz, 3) * 255)  ; create some initial data

; TV to pixmap and copy test -----------------------------

T0 = SYSTIME(1)
FOR I = 0, 49 DO BEGIN
  WSET, pixmap0_id

  ;data = (randomu(s, sz, sz, 3) * 255)
  ;s = s + 1

  TV, data, true = 3

  WSET, pixmap1_id
  DEVICE, COPY = [0, 0, sz-1, sz-1, 0, 0, pixmap0_id]
ENDFOR

T1 = SYSTIME(1)
fps = 50.0 / (t1 - t0)
print, 'TV-Device Copy Test: Array Size: ', sz, '  ',t1 - t0, '
seconds', '  =>  Frames/sec: ', fps, '   Frame time:', 1.0/fps
print, '   Video Xfer rate: ', DOUBLE(sz) * DOUBLE(sz) * 3D * fps, '
bytes/sec'
print

; TV direct test ------------------------------------------
T0 = SYSTIME(1)
FOR I = 0, 49 DO BEGIN
  WSET, pixmap1_id

  ;data = (randomu(s, sz, sz, 3) * 255)
  ;s = s + 1

  TV, data, true = 3

ENDFOR

T1 = SYSTIME(1)
fps = 50.0 / (t1 - t0)
print, 'TV Direct Test: Array Size: ', sz, '  ',t1 - t0, ' seconds', '
 =>  Frames/sec: ', fps, '   Frame time:', 1.0/fps
print, '   Video Xfer rate: ', DOUBLE(sz) * DOUBLE(sz) * 3D * fps, '
bytes/sec'

WDELETE, pixmap0_id
WDELETE, pixmap1_id
END