Outerra forum

Outerra Engine => Technology => Topic started by: cameni on January 09, 2016, 09:59:29 am

Title: Performance testing
Post by: cameni on January 09, 2016, 09:59:29 am
Hi everybody

A while ago we decided to make a few tests measuring the rendering performance of modern GPUs, that should help us decide the optimal rendering strategy and data layout for various types of rendering tasks an upcoming features. We ran the tests on a couple of graphics cards, and the preliminary results of these tests are very interesting, for example here are graphs from our procedural grass test:

Raw performance Mtris/s
(http://i.imgur.com/0S0out7.png)

Performance/price, Mtris/s per dollar
(http://i.imgur.com/ULBcWT7.png)

In order to gather more complete data, we would like to ask you to download the performance test, and after unpacking run the two test suites there: grass_test.bat and buildings_test.bat
When each tests completes, you will see your score, and you will be asked to send the results to us so we can incorporate results from different hardware into our results.

Please note that the test program requires OpenGL 4.x drivers and it may not run on some older cards that only support OpenGL 3.x. Also, the test program requires 64-bit Windows.
If you run dctest64.exe alone, you will see a different test that will be ready later. This initial build is mainly testing procedural rendering, whereas the following one will deal with model rendering performance.

You can download the test here: outerra_perf_tests.zip (http://planet.anteworld.com/appdata/Anteworld/outerra_perf_tests.zip)
Run grass_test.bat and after it finishes also buildings_test.bat

Thanks for your help! Complete results will be published on Outerra blog (http://outerra.blogspot.com) together with comments.
Title: Re: Performance testing
Post by: HiFlyer on January 09, 2016, 10:08:11 am
Mcafee Antivirus hates this file!  :P =D

Web detect did'nt want to let me download it, but it runs fine.
Title: Re: Performance testing
Post by: cameni on January 09, 2016, 10:16:15 am
Hmm I should probably sign the exe to lessen their worries :)
Title: Re: Performance testing
Post by: Jagerbomber on January 09, 2016, 10:50:26 am
Hmm... Lower set of cards than I expected.

Before I do, you think this is busted with the current latest Nvidia drivers like Outerra is?
Title: Re: Performance testing
Post by: KW71 on January 09, 2016, 12:05:25 pm
Both tests run just fine, but dctest64.exe just crash when I want to send the results (this .exe is correctly allowed in Comodo antivirus).

After many attempts and in a moment of luck I was able the send the grass results (I didn't anything different), but I have had no luck to send the buildings test result.
Title: Re: Performance testing
Post by: cameni on January 09, 2016, 12:39:51 pm
you think this is busted with the current latest Nvidia drivers like Outerra is?

For the test it doesn't matter much, performance doesn't change.
We reported the bug to NV, it's just one specific problem with mipmaps of compressed texture arrays, which aren't used in the test anyway.
Title: Re: Performance testing
Post by: booz on January 09, 2016, 03:44:00 pm
Same here, Error "Failed to upload test results".
Title: Re: Performance testing
Post by: cameni on January 09, 2016, 04:55:49 pm
There were some issues with antivirus and resolving the address to send to, I've updated the test suite.
Title: Re: Performance testing
Post by: aWac9 on January 09, 2016, 05:01:44 pm
houston here,,, smoothly. sent a favorable report. stop. (not despair,, no out ... expect the end,,,, it takes about three or four minutes)
Note: After report remains sound of birds in my computer.

:)
Title: Re: Performance testing
Post by: Jagerbomber on January 09, 2016, 08:39:00 pm
My 4GB 770 building test was over 2500, but only 2111 for grass...  =|
Title: Re: Performance testing
Post by: HiFlyer on January 09, 2016, 09:19:04 pm
My 4GB 770 building test was over 2500, but only 2111 for grass...  =|

My 2GB 770 received 2179 for Grass, 2565 for the building test. Pretty even.
Title: Re: Performance testing
Post by: Revolver on January 10, 2016, 03:01:49 am
Hi Brano,

have all tests performed with score: ~ 5000 +
and I still got an old (358.5) driver.
Graka ran into a standard-state (not overclocked).

Do you need screens that?
Title: Re: Performance testing
Post by: cameni on January 10, 2016, 03:09:09 am
Score 5000? What monster is it? :)

Have you sent the report from the test? I have uploaded a newer version to address some problems in sending the reports.
Title: Re: Performance testing
Post by: cameni on January 10, 2016, 03:30:43 am
My 4GB 770 building test was over 2500, but only 2111 for grass...  =|

These tests count triangles sent to the card, but there's a difference between grass and buildings - grass has triangle backface culling off, rendering triangles even if they are facing backwards to the viewer, and therefore the triangle throughput also equals the rendered triangle throughput.

With buildings and any other closed objects you generally have 1/2 of the triangles invisible and culled off before they get to the rasterizer. Hence, if we tried to compare grass and buildings directly, we should rather compare rendered triangles, and that would be ~1250 for buildings vs 2111 for the grass.
Title: Re: Performance testing
Post by: Revolver on January 10, 2016, 05:57:13 am
Score 5000? What monster is it? :)

Have you sent the report from the test? I have uploaded a newer version to address some problems in sending the reports.

This is the monster, Sir! :) After my old 580GTX has acknowledged his service I've brought this to me since.
And YES, I have about ~1100+ fps in buildings-test,
and about ~ 900 + fps at grass-test.
http://www.techpowerup.com/gpudb/b3318/evga-gtx-980-ti-hybrid.html

p.s. OK, I got your new test upload and run several times. Now there went with Test send and you can see you even results.
When (dctest64) I get 412 min. / max 429 FPS. ;)
Title: Re: Performance testing
Post by: aWac9 on January 10, 2016, 08:04:30 am
Does this card is cooled by water?
I do not know the price,, but I have a vehicle for sale Mitsubishi Colt 1200 1981 for a price below their card ... would interest my vehícle negotiate with your old computer? :)
Title: Re: Performance testing
Post by: HiFlyer on January 10, 2016, 08:35:17 am
Does this card is cooled by water?
I do not know the price,, but I have a vehicle for sale Mitsubishi Colt 1200 1981 for a price below their card ... would interest my vehíclo negotiate with your old computer? :)

Bleah. I'm waiting for the Pascal GPU's  ;)
Title: Re: Performance testing
Post by: Revolver on January 10, 2016, 08:54:23 am
Does this card is cooled by water?
I do not know the price,, but I have a vehicle for sale Mitsubishi Colt 1200 1981 for a price below their card ... would interest my vehíclo negotiate with your old computer? :)

Yes, it has a water cooler / radiator.
If they are not broke, I would still be left on my old GTX580. Un Pascal or not, but the Grakas outdated after 2-3 months and be replaced by stronger. Therefore I do not run for new, because it is expensive and stupid. ;)
Title: Re: Performance testing
Post by: HiFlyer on January 10, 2016, 09:50:51 am
Does this card is cooled by water?
I do not know the price,, but I have a vehicle for sale Mitsubishi Colt 1200 1981 for a price below their card ... would interest my vehíclo negotiate with your old computer? :)

Yes, it has a water cooler / radiator.
If they are not broke, I would still be left on my old GTX580. Un Pascal or not, but the Grakas outdated after 2-3 months and be replaced by stronger. Therefore I do not run for new, because it is expensive and stupid. ;)

The 980 is/was just a rebadged Maxwell architecture GPU. The Pascals will be an actual die-shrink/new Architecture with an absolutely huge performance jump. Pascals should be the top GPU line for at least a few years. (Not to mention that they will have 16gigs minimum of onboard ram!)  :)
Title: Re: Performance testing
Post by: cameni on January 10, 2016, 01:31:25 pm
Perf stats so far: submitted reports for Nvidia:AMD cards ratio 5:2

Added 980TI for comparison:
Raw performance:
(http://i.imgur.com/AvFklxu.png)

Mtris/s per dollar:
(http://i.imgur.com/dqMZuWP.png)
Title: Re: Performance testing
Post by: Jagerbomber on January 10, 2016, 11:09:57 pm
lol... Then it's still not worth the  money...  ::) (980 Ti)

My wallet was getting worried.  Then again, it doesn't have much of anything in it anyways.  :-[

Despite the number skip (just marketing), skipping a generation still feels about right for me (at the X70 level).  Not that I'm gonna have the money then either...
Title: Re: Performance testing
Post by: Acetone on January 11, 2016, 02:34:31 am
Really interesting to see ATI cards start to choke past the 20480 instance mesh size. The Nvidia cards are more stable but the 960 is also having problems in this area (despite handling an insane amount of triangles/s). Bad GPU design?
Title: Re: Performance testing
Post by: cameni on January 11, 2016, 03:32:48 am
I assume it's an increased inability to parallelize the rendering with large mesh sizes. There's also a factor of larger index buffers required, but the bandwidth should not be a problem so it's probably irrelevant.

What surprised us most were the odd profiles of the newer AMD series. It's even more visible on the building test, it really starts to perform only from a certain mesh size (around 5k triangles), and is rather inefficient on smaller meshes. That partly explains why some our stuff is not running as well as it could, but not all of it can be merged into larger meshes.
Title: Re: Performance testing
Post by: HiFlyer on January 11, 2016, 04:18:17 am
Isn't Amd pretty notorious for generally poorer opengl  drivers than nvidia?
Title: Re: Performance testing
Post by: cameni on January 11, 2016, 05:51:11 am
That was mainly because of bugs, but it got tons better since a few years ago.
This here indicates that we also have to invest more into optimizations tailored for these performance results. Might be still related to the drivers, but also to architectural differences.

Fortunately there seems to be a region that works well for both; a narrow one, but still better than having to do separate paths.
Title: Re: Performance testing
Post by: John514 on January 11, 2016, 05:41:17 pm
Uploaded my Strix GTX950 results as well, hope it helps!
Title: Re: Performance testing
Post by: HiFlyer on January 11, 2016, 05:44:29 pm
I think I asked something along these lines before: Will Outerra be multiple card aware?
Title: Re: Performance testing
Post by: cameni on January 12, 2016, 02:47:35 pm
Once OpenGL drivers start allowing us to query and select individual GPUs. There are some extensions that enable that, but we haven't tried them yet.
Title: Re: Performance testing
Post by: HiFlyer on January 12, 2016, 03:27:27 pm
Once OpenGL drivers start allowing us to query and select individual GPUs. There are some extensions that enable that, but we haven't tried them yet.

That should be interesting, maybe especially for VR!
Title: Re: Performance testing
Post by: josem75 on January 12, 2016, 03:51:54 pm

Bleah. I'm waiting for the Pascal GPU's  ;)

Im also waiting for Pascal.  My monitor just broke and i was thinking in a Big 40" 4k Desktop for my job (i need a big desktop or multiple screen, and i think big desktop is much more elegant solution). 

But two problems here right now.. Cant find any tv full chroma 4:4:4 4k/60 Hz in less than 500/600 € . We had some interesting models below 400 (some Panasonic) , but doing 4:2:2 and read text in certain moments will be tricky..
And a Card necesary for handle a simple game in 4k with decent framerate would be a very expensive 980 (and not doing so great).

So i decided take some other Monitor for wait 6 months/1 year and then jump to 4k.  No sense in Spend 500 in a 980 with Pascal out after this next summer, when i will pay something similar for much more. 
Or maybe i will pay less, because i hope Pascal generation be full compatible with 4k, so the "1060" ?? models would be enough for play, even if not at maximum rates like with a 1080 or new pascal titans...   (Or maybe i am dreaming, i readed Pascal performance jump will be really huge).
Also i hope we can find more tv 4k full chroma in below 500 in 2016.
Title: Re: Performance testing
Post by: HiFlyer on January 12, 2016, 04:02:43 pm
You realize 4k is old news? Introducing...... 5K monitors!! (Graphics cards, and maybe Outerra, begin to cry)

http://www.tomshardware.com/reviews/hp-z27q-27-inch-5k-professional-monitor,4404.html

Title: Re: Performance testing
Post by: Jagerbomber on January 13, 2016, 01:14:04 am
Pretty sure 8K is the way to go...
Title: Re: Performance testing
Post by: cameni on January 21, 2016, 04:19:30 pm
Yet another performance benchmark, this time focusing on finding the optimal settings for model rendering (non-procedural) across different hardware. This one is testing the achievable triangle throughput and number of draw calls in several rendering modes and with varying mesh sizes.

There are 103 tests there, each taking roughly 5 seconds, so it can take 9-10 minutes total.

If you would like to help us gathering performance data, the test can be downloaded here: outerra_perf_tests.zip (http://planet.anteworld.com/appdata/Anteworld/outerra_perf_tests.zip)
Run the cubes_test.bat

Here are some results from our cards
* Nvidia cards are able to reach much higher draw call counts than AMD (40M vs 13M), apparently having a lower overhead
* newer AMD cards need larger meshes to achieve better performance (triangle throughput), 208-triangle mesh still doesn't start to saturate it
* interesting to compare the number of draw calls in this test (single-core OpenGL) with the reported number of draw calls in DX12 (http://www.pcworld.com/article/2900814/tested-directx-12s-potential-performance-leap-is-insane.html) (13.4 Million on multiple cores)
* indirect draw is the fastest method, for some reason faster than instanced draw call that does the same thing without an extra buffer

AMD R9 380
(http://i.imgur.com/BjN4rWN.png)

AMD 7970 (280X)
(http://i.imgur.com/8SeUgnm.png)

NV 750TI
(http://i.imgur.com/ay2rk2L.png)

NV 960GTX
(http://i.imgur.com/lO6JhnF.png)

NV Titan Z
(http://i.imgur.com/wAXFpto.png)
Title: Re: Performance testing
Post by: Revolver on January 21, 2016, 07:30:03 pm
ha-ha-ha ... GTX980Ti kicks Titan Z with Score: 5332(cubes_test) .... almost by half.  :P =D ;)

p.s. DX12 I can not test because I hav Win7x64 ... and this SpamWin10 does not come to me on  HDDs ...fam. Punkt aus! :))
Title: Re: Performance testing
Post by: Jagerbomber on January 21, 2016, 07:49:35 pm
I think my 770 4GB got around 2500+ again.
Title: Re: Performance testing
Post by: KW71 on January 21, 2016, 08:02:00 pm
Uploaded, this time without problems with the firewall.
Title: Re: Performance testing
Post by: MepsiPax on January 21, 2016, 11:58:23 pm
Saw this post on Reddit and decided to help out.
Ran the test with a GeForce GTX 980 Ti (with 361.43 drivers) but forget what I scored. Uploaded fine though.
I might run it again a few times later with a fresh restart and less crap running in the background to see if it makes a difference...
Title: Re: Performance testing
Post by: HiFlyer on January 22, 2016, 09:45:43 pm
Thought it was interesting that these drawcall tests look kind of similar visually. The results were also interesting.

https://www.youtube.com/watch?v=O_6PxugCBa0
Title: Re: Performance testing
Post by: HiFlyer on January 31, 2016, 12:29:45 pm
Question: What does the Outerra engine think of hyperthreading?

Does it have a preference for physical over virtual CPU's in its workload?

Does it work better with just physical cores, or does it care?
Title: Re: Performance testing
Post by: cameni on January 31, 2016, 01:40:11 pm
I don't really have a good (measured) info about the difference in performance under different situations, just assuming that since it has to share certain critical resources like the cache, it won't work well as soon as these resources are the bottleneck. Which is often the case for high perf applications. To truly utilize hyperthreading we'd have optimize for it, which seems to a lot of work for disputable gain ...
Title: Re: Performance testing
Post by: cameni on January 31, 2016, 01:40:56 pm
Blog post about the grass perf test: http://outerra.blogspot.com/2016/01/procedural-rendering-performance-test-1.html
Title: Re: Performance testing
Post by: Revolver on January 31, 2016, 09:27:38 pm
Blog post about the grass perf test: http://outerra.blogspot.com/2016/01/procedural-rendering-performance-test-1.html

hmm ... I see there is not the GTX 980 Ti. Were not interesting for the tests?  ???
Title: Re: Performance testing
Post by: cameni on February 01, 2016, 03:17:58 pm
Added graphs for 980 Ti. We are still waiting for top AMD cards to show up, so the blog was another way to get more reports.
Title: Re: Performance testing
Post by: cameni on February 06, 2016, 12:49:30 pm
Second blog post about performance test results:
http://outerra.blogspot.com/2016/02/opengl-rendering-performance-test-2.html
Title: Re: Performance testing
Post by: HiFlyer on July 11, 2016, 12:40:38 pm
Second blog post about performance test results:
http://outerra.blogspot.com/2016/02/opengl-rendering-performance-test-2.html

Tests completed and sent.
Title: Re: Performance testing
Post by: josem75 on October 17, 2016, 05:34:09 pm
I am using a gtx 660 and my outerra Fps are in the very limit already..
But i want to jump to 2k monitor. So i will need a new card.  I am between gtx 1060 6g, or radeon rx 480 8 gb (they are in the similar price). 
I am reading and reading and its very dificult to take a decision between those cards.
1060 runs cooler and eat less watts, Also is very small, and all of that i like.. But maybe 480 is more power.
What you people would say?
But i think Outerra work better with nvidia cards? or i am wrong? The tests here show better performace from 960 compared to 380. But i dont know how is this in fps.
Title: Re: Performance testing
Post by: cameni on October 18, 2016, 06:26:59 am
Nvidia cards perform better in OT for some reason, most likely because of the drivers that may have some problem with OT specific rendering. Currently I've got 480 here and it runs slower than 7970 I had before, but the analysis and testing didn't yield any explanation yet. It may get better once we figure out what's going on, but for now all newer AMD cards do not run that well.
Title: Re: Performance testing
Post by: josem75 on October 18, 2016, 07:39:49 am
Nvidia cards perform better in OT for some reason, most likely because of the drivers that may have some problem with OT specific rendering. Currently I've got 480 here and it runs slower than 7970 I had before, but the analysis and testing didn't yield any explanation yet. It may get better once we figure out what's going on, but for now all newer AMD cards do not run that well.

Thank you for the aclaration. One big point for nvidia then :)  I guess 1060 will perform nicely at 2k with all in high.
Amd 480 has more brute force int erms of bandwich memory. Coverall if compare with 1060 6 gb after you spend the first 3 (i think the badwich for the other three is slower).
But anyway the performance is huge in a 1060.
Another good point for amd was the freesync (cheaper than nvidia g-sync monitors). But normally i am more a nvidia guy..
I have also a 280x, i am waiting for fan replacement. I will test it in 2k. If performance is not that ugly, maybe i keep it. And wait for volta (but i think maybe 280x is not enough for fluid 2k).
If not, i sell both cards and go for 1060 "Rait nao"...