Testing EVE Online's graphics with 'EVE Probe'
Team RnB is hard at work on EVE Probe – a standalone application that uses Trinity, the graphics engine from EVE, and will act as our test bed for optimizations and new features. CCP Snorlax had a presentation on this at Fanfest this year (//www.youtube.com/watch?v=apyD43WQjQ4) – if you missed it there you can follow the link or read all about it here.
Know how sometimes you get crashes that we can´t reproduce? It may be a full crash to desktop, or it could be the display driver becoming unresponsive and recovering after some time.
We hate that as much as you do!
Part of the problem is that computer games, as opposed to console games, don’t really run on a fixed platform. EVE runs under Windows XP, Windows Vista, Windows 7 and Windows 8 – the graphics hardware from Nvidia, AMD and Intel comes in a wide variety, and their drivers are updated frequently. Then let us not forget about the Mac, where we even have the added complexity of running under an emulation layer. We’ve counted 855 different GPUs in use by EVE players.
We simply cannot test all these configurations. Even if we had the hardware/software setup to cover a sizeable portion of these setups, we wouldn’t have the manpower to manually test every release on all of them.
This is where EVE Probe comes in.
EVE Probe plays back animated scenes using the very same graphics engine as the EVE client, but everything is deterministic and not dependent on player input. When it is ready, we will offer it for download so you can run it on your machine – with your graphics hardware and your exact configuration. EVE Probe then gathers performance data, such as frame times and memory usage and sends that back to our server, along with your machine specs and display settings. This gives us valuable feedback on the performance of our engine on a much wider variety of computer configurations than we could ever hope to cover in-house.
Note that this data is sent anonymously and we don’t collect any data that could be used to identify any individuals – all we care about are the machine specs.
Moving forward, we will release new features and optimizations through EVE Probe first, before they are ever used in the EVE client itself. With your cooperation, we can get much better test coverage of new features and optimizations, on a wider variety of graphics hardware and software configurations. This will result in a more stable and better performing EVE client.
EVE Probe will use the same crash handling mechanism as we’ve built into the EVE client. The crash dumps we get back from EVE clients are useful in helping us fix crash bugs, but often they are hard to decipher without some context – we don’t know what was going on when it crashed, we don’t have logs to give us some background and don’t know how to reproduce it. If EVE Probe crashes we will have this context, as the playback is deterministic. This will help us greatly in reducing crashes in the graphics engine.
When will it ship? When it’s ready! We feel it’s too soon to commit to a date, but it will be this summer. We’ve started using EVE Probe internally for automated tests, and are using it to make our lives easier when doing more detailed performance measurements. We’ve just started handing it out to select people outside the team for feedback and will do a full internal release in the upcoming weeks. Once we’ve ensured that the user experience is smooth and our backend infrastructure for gathering data is solid we’ll start rolling EVE Probe out to a wider audience.