APITest APITest is a micro-benchmark developed by John McDonald of OpenGL 4 functionality.
To run this test with the Phoronix Test Suite , the basic command is: phoronix-test-suite benchmark apitest .
Use with caution this test profile is currently marked Deprecated .
Test Created 1 June 2014
Last Updated 27 September 2020
Test Type Graphics
Average Install Time 1 Minute, 35 Seconds
Average Run Time 3 Minutes, 25 Seconds
Test Dependencies C/C++ Compiler Toolchain + SDL 2.x + CMake
Accolades 100k+ Downloads Public Result Uploads * Reported Installs ** Reported Test Completions ** Test Profile Page Views *** OpenBenchmarking.org Events APITest Popularity Statistics pts/apitest 2014.06 2014.10 2015.02 2015.06 2015.10 2016.02 2016.06 2016.10 2017.02 2017.06 2017.10 2018.02 2018.06 2018.10 2019.02 2019.06 2019.10 2020.02 2020.06 2020.10 2021.02 2021.06 2021.10 2022.02 2022.06 2022.10 2023.02 2023.06 2023.10 2024.02 2024.06 2024.10 2K 4K 6K 8K 10K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly. ** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform. *** Test profile page view reporting began March 2021. Data updated weekly as of 29 December 2024.
2560 x 1440 7.2% 1024 x 768 19.8% 1366 x 768 5.9% 1920 x 1200 6.2% 1920 x 1080 35.2% 1280 x 1024 10.9% 800 x 600 14.9% Resolution Option Popularity OpenBenchmarking.org
UntexturedObjects GLMapUnsynchronized 10.5% TexturedQuadsProblem GLNaive 11.4% UntexturedObjects GLUniform 11.5% DynamicStreaming GLBufferSubData 12.6% DynamicStreaming GLMapUnsynchronized 10.7% UntexturedObjects GLBufferRange 10.8% UntexturedObjects GLTexCoord 11.4% UntexturedObjects GLBufferSubData 10.5% UntexturedObjects GLDynamicBuffer 10.6% Test Option Popularity OpenBenchmarking.org
Revision Historypts/apitest-1.1.1 [View Source ] Sun, 27 Sep 2020 09:34:04 GMT Mark as deprecated.
pts/apitest-1.1.0 [View Source ] Sat, 26 Jul 2014 21:45:13 GMT Update APITest against Git.
pts/apitest-1.0.2 [View Source ] Sun, 01 Jun 2014 23:11:38 GMT Use make parallel builds.
pts/apitest-1.0.1 [View Source ] Sun, 01 Jun 2014 22:58:00 GMT Run test time for 10 seconds.
pts/apitest-1.0.0 [View Source ] Sun, 01 Jun 2014 22:08:25 GMT Initial commit of John McDonald APITest for OpenGL benchmarking on Linux and OS X.
Performance MetricsAnalyze Test Configuration: pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLTexCoord pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLUniform pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLNaive pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: DynamicStreaming GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLBufferRange pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLDrawLoop pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLDynamicBuffer pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLTextureArray pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLBufferSubData pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: DynamicStreaming GLMapPersistent pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLMapPersistent pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLNoTex pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLBufferStorage-NoSDP pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLMultiDrawBuffer-NoSDP pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLNoTexUniform pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLNaiveUniform pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLMultiDrawBuffer-SDP pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: UntexturedObjects GLBufferStorage-SDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: DynamicStreaming GLBufferSubData pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: DynamicStreaming GLBufferSubData pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLUniform pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: DynamicStreaming GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: TexturedQuadsProblem GLNaive pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLBufferRange pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLTexCoord pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLDynamicBuffer pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLBufferSubData pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: DynamicStreaming GLMapPersistent pts/apitest-1.1.x - Resolution: 800 x 600 - Test: TexturedQuadsProblem GLNaive pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLDrawLoop pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: TexturedQuadsProblem GLNoTex pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLUniform pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: TexturedQuadsProblem GLTextureArray pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLMapPersistent pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLTexCoord pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: TexturedQuadsProblem GLNaiveUniform pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: TexturedQuadsProblem GLNoTexUniform pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLMultiDrawBuffer-NoSDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLBufferRange pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLBufferStorage-NoSDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLDynamicBuffer pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 800 x 600 - Test: DynamicStreaming GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLBufferSubData pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLBufferStorage-SDP pts/apitest-1.1.x - Resolution: 1024 x 768 - Test: UntexturedObjects GLMultiDrawBuffer-SDP pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: DynamicStreaming GLBufferSubData pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLUniform pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLTexCoord pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: TexturedQuadsProblem GLNaive pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLBufferRange pts/apitest-1.1.x - Resolution: 800 x 600 - Test: DynamicStreaming GLMapPersistent pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: DynamicStreaming GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLMapPersistent pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLMapUnsynchronized pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLDrawLoop pts/apitest-1.1.x - Resolution: 800 x 600 - Test: TexturedQuadsProblem GLNoTex pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLBufferSubData pts/apitest-1.1.x - Resolution: 800 x 600 - Test: TexturedQuadsProblem GLTextureArray pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLDynamicBuffer pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLMultiDrawBuffer-NoSDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: TexturedQuadsProblem GLNoTexUniform pts/apitest-1.1.x - Resolution: 800 x 600 - Test: TexturedQuadsProblem GLNaiveUniform pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLBufferStorage-NoSDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLMultiDrawBuffer-SDP pts/apitest-1.1.x - Resolution: 800 x 600 - Test: UntexturedObjects GLBufferStorage-SDP pts/apitest-1.1.x - Resolution: 1920 x 1080 - Test: TexturedQuadsProblem GLSBTA pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: TexturedQuadsProblem GLTextureArray pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: DynamicStreaming GLMapPersistent pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: TexturedQuadsProblem GLNoTex pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLMapPersistent pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLDrawLoop pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLBufferStorage-NoSDP pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: TexturedQuadsProblem GLNoTexUniform pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: TexturedQuadsProblem GLNaiveUniform pts/apitest-1.1.x - Resolution: 2560 x 1440 - Test: UntexturedObjects GLUniform pts/apitest-1.1.x - Resolution: 1280 x 1024 - Test: UntexturedObjects GLMultiDrawBuffer-NoSDP pts/apitest-1.1.x - Resolution: 2560 x 1440 - Test: TexturedQuadsProblem GLNaive pts/apitest-1.1.x - Resolution: 2560 x 1440 - Test: UntexturedObjects GLTexCoord APITest 2014-07-26 Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData OpenBenchmarking.org metrics for this test profile configuration based on 100 public results since 27 July 2014 with the latest data as of 28 January 2024 .
Additional benchmark metrics will come after OpenBenchmarking.org has collected a sufficient data-set.
OpenBenchmarking.org Distribution Of Public Results - Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData 100 Results Range From 0 To 39 Frames Per Second 4 8 12 16 20 24 28 32 36 40 44 48 10 20 30 40 50
Based on OpenBenchmarking.org data, the selected test / test configuration (APITest 2014-07-26 - Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData ) has an average run-time of 2 minutes . By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.
OpenBenchmarking.org Minutes Time Required To Complete Benchmark Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData Run-Time 2 4 6 8 10 Min: 1 / Avg: 1.19 / Max: 3
Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.8% .
OpenBenchmarking.org Percent, Fewer Is Better Average Deviation Between Runs Resolution: 1920 x 1080 - Test: DynamicStreaming GLBufferSubData Deviation 2 4 6 8 10 Min: 0 / Avg: 0.78 / Max: 4
Tested CPU Architectures This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.
CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
ARMv8 64-bit
arm64
Apple M1 Pro
ARMv8 64-bit
aarch64
ARMv8 Cortex-A72 6-Core
Recent Test Results
1 System - 22 Benchmark Results
Apple M4 - Apple Mac mini - 16GB
macOS 15.0 - 24.0.0 - OpenCL 1.2