GPU Bandwidth: Difference between revisions
| Revision as of 04:48, 23 October 2026 RemmyLee (Main page: drop the Hardware Tests lede) | Revision as of 05:11, 23 October 2026 RemmyLee (Hardware tests: 72 more test pages, listed on the main page by area; RUN.toml no longer published) | ||
| Line 1: | Line 1: | ||
| + | --- | ||
| + | title: GPU Bandwidth | ||
| + | type: test | ||
| + | summary: Counts the horizontal blanks that 400 full-screen transfers and draws of 320 by 240 pixels take. | ||
| + | category: Hardware tests | ||
| + | info: Machine = SCPH-5501 | ||
| + | info: Program = gpu/bandwidth (ps1-tests) | ||
| + | --- | ||
| + | |||
| + | ## Overview | ||
| + | |||
| + | Each item runs 400 times over a 320 by 240 area: a VRAM read and a VRAM write by [DMA](/hardware/dma/) channel 2, a VRAM to VRAM copy, a GP0(02h) fill, flat and textured rectangles and quads, each opaque and semi-transparent, and a quad placed a quarter and half off the screen. [Root counter](/hardware/timers/) 1 counts horizontal blanks across the 400 calls in NTSC mode.[^src] | ||
| + | |||
| + | The program converts the count to milliseconds with 60 frames of 263 lines a second, and to MB/s from 320 x 240 x 2 bytes for each call. Its millisecond figure prints the remainder of that division after the point unscaled, so the horizontal blank count is the measurement to read.[^src] | ||
| + | |||
| + | ## Results | ||
| + | |||
| + | The counts below are from the run of 25 September 2026. The other five runs differed by 11 or fewer horizontal blanks on every item.[^run] | ||
| + | |||
| + | Table: 400 calls over 320 by 240 pixels | ||
| + | |||
| + | | Item | Horizontal blanks | MB/s (program) | | ||
| + | | --- | --- | --- | | ||
| + | | VRAM to CPU by DMA | 15,796 | 59 | | ||
| + | | CPU to VRAM by DMA | 12,214 | 77 | | ||
| + | | VRAM to VRAM copy GP0(80h) | 19,202 | 49 | | ||
| + | | Fill GP0(02h) | 1,252 | 759 | | ||
| + | | Rectangle | 7,612 | 124 | | ||
| + | | Rectangle, semi-transparent | 11,473 | 82 | | ||
| + | | Textured rectangle | 15,164 | 62 | | ||
| + | | Textured rectangle, semi-transparent | 15,164 | 62 | | ||
| + | | Quad | 7,747 | 122 | | ||
| + | | Quad, semi-transparent | 11,658 | 81 | | ||
| + | | Textured quad | 39,877 | 23 | | ||
| + | | Textured quad, semi-transparent | 39,879 | 23 | | ||
| + | | Quad, a quarter off the screen | 5,872 | 161 | | ||
| + | | Quad, half off the screen | 4,003 | 237 | | ||
| + | |||
| + | A fill was about six times as fast as a flat rectangle of the same size. A semi-transparent flat rectangle or quad took about 1.5 times the time of an opaque one.[^run] | ||
| + | |||
| + | Semi-transparency added nothing to the textured rectangle or the textured quad. A textured quad took about 2.6 times the time of a textured rectangle of the same size.[^run] | ||
| + | |||
| + | The quad a quarter off the screen took 76% of the time of the full quad, and the quad half off the screen 52%.[^run] | ||
| + | |||
| + | ## Runs | ||
| + | |||
| + | ### 25 September 2026 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1001.220 ms (hblanks: 15796), speed: 59 MB/s | ||
| + | cpuToVram dT: 774.280 ms (hblanks: 12214), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.13520 ms (hblanks: 19202), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.5380 ms (hblanks: 1252), speed: 759 MB/s | ||
| + | Rectangle dT: 482.6040 ms (hblanks: 7612), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 727.940 ms (hblanks: 11473), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.15200 ms (hblanks: 15164), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 960.15200 ms (hblanks: 15164), speed: 62 MB/s | ||
| + | Polygon quad dT: 490.14800 ms (hblanks: 7747), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.12360 ms (hblanks: 11658), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2527.2940 ms (hblanks: 39879), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.1840 ms (hblanks: 5872), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.10660 ms (hblanks: 4003), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260927T0000Z-5501a-card-2/main/s024/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1000.15000 ms (hblanks: 15795), speed: 60 MB/s | ||
| + | cpuToVram dT: 773.14060 ms (hblanks: 12212), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.13520 ms (hblanks: 19202), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.1380 ms (hblanks: 1248), speed: 759 MB/s | ||
| + | Rectangle dT: 482.14040 ms (hblanks: 7620), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 727.940 ms (hblanks: 11473), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.14200 ms (hblanks: 15163), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 961.420 ms (hblanks: 15165), speed: 62 MB/s | ||
| + | Polygon quad dT: 490.14800 ms (hblanks: 7747), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.10360 ms (hblanks: 11656), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2527.1940 ms (hblanks: 39878), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.840 ms (hblanks: 5871), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.10660 ms (hblanks: 4003), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 2 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260927T0000Z-5501a-card-b/main/s034/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1000.15000 ms (hblanks: 15795), speed: 60 MB/s | ||
| + | cpuToVram dT: 773.15060 ms (hblanks: 12213), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.13520 ms (hblanks: 19202), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.1380 ms (hblanks: 1248), speed: 759 MB/s | ||
| + | Rectangle dT: 482.13040 ms (hblanks: 7619), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 727.940 ms (hblanks: 11473), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.14200 ms (hblanks: 15163), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 961.420 ms (hblanks: 15165), speed: 62 MB/s | ||
| + | Polygon quad dT: 490.13800 ms (hblanks: 7746), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.11360 ms (hblanks: 11657), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.1940 ms (hblanks: 39878), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2527.1940 ms (hblanks: 39878), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.840 ms (hblanks: 5871), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.12660 ms (hblanks: 4005), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 3 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260927T0000Z-5501a-card-g/main/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1001.220 ms (hblanks: 15796), speed: 59 MB/s | ||
| + | cpuToVram dT: 774.280 ms (hblanks: 12214), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.13520 ms (hblanks: 19202), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.1380 ms (hblanks: 1248), speed: 759 MB/s | ||
| + | Rectangle dT: 482.13040 ms (hblanks: 7619), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 727.940 ms (hblanks: 11473), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.15200 ms (hblanks: 15164), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 960.14200 ms (hblanks: 15163), speed: 62 MB/s | ||
| + | Polygon quad dT: 490.14800 ms (hblanks: 7747), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.11360 ms (hblanks: 11657), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.840 ms (hblanks: 5871), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.10660 ms (hblanks: 4003), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 4 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260927T0000Z-5501a-card-g3/main/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1000.11000 ms (hblanks: 15791), speed: 60 MB/s | ||
| + | cpuToVram dT: 773.12060 ms (hblanks: 12210), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.13520 ms (hblanks: 19202), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.12380 ms (hblanks: 1259), speed: 759 MB/s | ||
| + | Rectangle dT: 482.13040 ms (hblanks: 7619), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 726.13720 ms (hblanks: 11470), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.14200 ms (hblanks: 15163), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 960.13200 ms (hblanks: 15162), speed: 62 MB/s | ||
| + | Polygon quad dT: 491.20 ms (hblanks: 7748), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.9360 ms (hblanks: 11655), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2526.14720 ms (hblanks: 39875), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.5840 ms (hblanks: 5876), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.7660 ms (hblanks: 4000), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ### 28 September 2026 | ||
| + | |||
| + | [08GBW.txt](/tests/raw/20260928T0000Z-5501a-card-h/main/08GBW.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 08 GBW GPU BANDWIDTH | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/bandwidth | ||
| + | vramToCpu dT: 1000.12000 ms (hblanks: 15792), speed: 60 MB/s | ||
| + | cpuToVram dT: 773.13060 ms (hblanks: 12211), speed: 77 MB/s | ||
| + | vramToVram dT: 1216.14520 ms (hblanks: 19203), speed: 49 MB/s | ||
| + | FillScreen GP0(2) dT: 79.11380 ms (hblanks: 1258), speed: 759 MB/s | ||
| + | Rectangle dT: 482.14040 ms (hblanks: 7620), speed: 124 MB/s | ||
| + | Rectangle (semitransparent) dT: 726.13720 ms (hblanks: 11470), speed: 82 MB/s | ||
| + | Rectangle textured dT: 960.14200 ms (hblanks: 15163), speed: 62 MB/s | ||
| + | Rectangle textured (semi) dT: 960.12200 ms (hblanks: 15161), speed: 62 MB/s | ||
| + | Polygon quad dT: 491.1020 ms (hblanks: 7749), speed: 122 MB/s | ||
| + | Polygon quad (semi) dT: 738.10360 ms (hblanks: 11656), speed: 81 MB/s | ||
| + | Polygon quad textured dT: 2527.940 ms (hblanks: 39877), speed: 23 MB/s | ||
| + | Polygon quad textured (semi) dT: 2527.1940 ms (hblanks: 39878), speed: 23 MB/s | ||
| + | Polygon quad (1/4 off screen) dT: 372.5840 ms (hblanks: 5876), speed: 161 MB/s | ||
| + | Polygon quad (1/2 off screen) dT: 253.7660 ms (hblanks: 4000), speed: 237 MB/s | ||
| + | Done | ||
| + | ``` | ||
| + | |||
| + | ## References | ||
| + | |||
| + | [^src]: ps1-tests, gpu/bandwidth. https://github.com/JaCzekanski/ps1-tests. | ||
| + | [^run]: SCPH-5501 output: [main/08GBW.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/08GBW.txt) and the files beside it, with the other runs listed under Runs. | ||