What is VendettaMark?
VendettaMark™ 2018 is a cross-platform benchmark, based around the game assets and custom engine of the long-running space MMORPG Vendetta Online.
With VendettaMark, you can now compare the speed of your Android phone to your Windows laptop, or between any other set of hardware that is compatible with the benchmark.
The threaded renderer and rigorous benchmark makes every effort to replicate the actual types of gameplay loads incurred from running a heavy session of Vendetta Online, including intensive threaded physics simulations, sound, even I/O testing (an important component of texture and asset streaming).
VendettaMark™ then delivers the same unified suite of comparable benchmark tests across the following platforms and graphics APIs:
All versions utilize the same basic rendering architecture and identical shaders, implemented as closely as possible within the respective graphics APIs. All versions output graphically to an off-screen buffer that is re-scaled and flipped back to the main display for visual verification.
This also means the benchmark only runs at fixed, pre-determined resolutions, of 1080p and 4K UHD (2160p), both of which are tested during the benchmark process (output is rendered to full 1080p and 4K, but will be re-scaled to the display resolution when shown on-screen). Testing at fixed resolutions is intended to improve the comparability of different devices and systems across multiple architectures. Similarly, it removes the "screen resolution" from impacting mobile results, and we consider it the most relevant cross-platform testing choice.
VendettaMark 2018 is a fixed-timestep benchmark, meaning that all hardware will render the same number of frames, but the length of time to render each frame is measured and accumulated to determine the "score".
The website offers zoomable graphs of your benchmark run, if you choose to submit your data. From this, you can then see the individual frame-times graphed in milliseconds per frame, along with other information. This is intended to enable many interesting performance tuning and debugging possibilites, like correlating a sudden drop in performance with an increase in CPU or GPU temperature. We intend to expand on the available feature-set as time goes on.
What makes VendettaMark different?
There are a few notable differences between VendettaMark and most other extant benchmarks, including:
VendettaMark is based around recordings, content and assets from an actual game, not someone's "simulation" of "game-like activity". While there are games out there with integrated benchmark functionality, it usually has limitations and is not really purpose-built, intended only for helping optimize that specific game during development. Similarly, most purpose-built benchmarks are not constructed from real game assets, or sometimes even by game developers, which can skew published "measurements" around simplistic shader content that doesn't really represent modern games (particularly true on mobile).
VendettaMark stresses the entire system at once, just like an actual game. Many other benchmarks will often solely test one subset of hardware at a time, like the GPU for graphics, and then the CPU for physics. Games don't do behave this way, they exercise the entire system simultaneously. This is a distinct difference, especially with modern SoCs where the CPU and GPU are included on a single package. The thermal profile of the GPU can then drastically impact the performance of the CPU, and visa versa. Stressing the entire system at once is the only way to get a clear idea of the performance of the entire system, as a whole.
VendettaMark is unified across all platforms. This means you can now measure whether your phone is faster than your laptop, and other interesting questions. What consitutes a "gaming machine" has evolved a great deal over the last few years, and as "mobile" devices become ever faster and more capable, a cross-platform benchmark can help compare these devices as the market continues to change.
VendettaMark is a relatively heavyweight test, especially for mobile. There has been a tendency for "mobile" benchmarks to be "lightweight" and not substantially stress the devices. This has led to people buying devices they believe are "fast" and then complaining to game developers (like us) when their "fast" devices prove to not actually be very fast. Similarly, a disproportionate number of mobile devices seem to have incomplete thermal testing and poor driver stability, resulting in hardware that reboots, locks up, or otherwise crashes under real-world gaming conditions. This is a problem for anyone who wants to make, or play games on mobile hardware, and we hope that our benchmark will help OEMs better test their devices under thermal load conditions, and help consumers make better informed choices about what devices are stable and fast.. After all, not all "mobile games" are simplistic or casual, and any device sold should be capable of stably running any compatible software.
Why DirectX 11, OpenGL and GLES?
While we would vastly prefer to be using a single, modern graphics API, such as Vulkan, the reality of shipping cross-platform software is that stable APIs are far more important than "new" APIs. This is particularly prevalent in mobile, where for years the ES3 and ES3.1 drivers shipped by some companies were incredibly fragile, and made shipping a product using those standards to be quite difficult. This is compounded by the fact that mobile devices are usually not updated very often (and only at the behest of carriers and OEMs), meaning that broken drivers are rarely fixed "in the wild", and one practically has to wait two years for an entire generation of phone to be "phased out" before newer and more stable software becomes prevalent.
For the sake of a currently-usable, cross-platform benchmark, we found it most effective to use GLES 3.0, and stick with DirectX 11 and GL4 on the Desktop (using gl_arb_es2_compatibility on Linux and Mac allows us to share mobile shaders on those platforms for more rigorous comparative certainty). We would like to make a future benchmark based purely around Vulkan at some point down the road, when we believe we can push it to the degree that we would like, across all included platforms.