Introduction
I’ve done new benchmarks to test how the latest optimizations have improved the performance of the thermal erosion shaders.
All the benchmarks are made using a 1024×1024 16-bits floating points texture.
I’ve run the benchmarks on my graphic card, a GeForce 7600 GT, and on the graphic card of my friend Encelo, a GeForce 8600 GT.
The following data are the execution times needed to complete a different number of iterations of theerosion, for each group of iterations you can see the slowest, the average and the fastest time on 10 tests.
First thermal erosion
These are the results for the 7600 GT:
iterations = 10 -> min = 135 ms. - avg = 136 ms. - max = 137 ms.
iterations = 30 -> min = 406 ms. - avg = 407 ms. - max = 408 ms.
iterations = 50 -> min = 676 ms. - avg = 678 ms. - max = 679 ms.
iterations = 70 -> min = 948 ms. - avg = 949 ms. - max = 950 ms.
iterations = 100 -> min = 1354 ms. - avg = 1356 ms. - max = 1357 ms.
The optimized shader is about 47% faster than the previous version.
These are the results for the 8600 GT:
iterations = 10 -> min = 49 ms. - avg = 50 ms. - max = 51 ms.
iterations = 30 -> min = 148 ms. - avg = 149 ms. - max = 150 ms.
iterations = 50 -> min = 246 ms. - avg = 247 ms. - max = 249 ms.
iterations = 70 -> min = 346 ms. - avg = 347 ms. - max = 348 ms.
iterations = 100 -> min = 492 ms. - avg = 493 ms. - max = 495 ms.
The shader is about 64% faster on this graphic card.
Second thermal erosion
These are the results for the 7600 GT:
iterations = 10 -> min = 124 ms. - avg = 126 ms. - max = 127 ms.
iterations = 30 -> min = 376 ms. - avg = 377 ms. - max = 378 ms.
iterations = 50 -> min = 627 ms. - avg = 628 ms. - max = 630 ms.
iterations = 70 -> min = 879 ms. - avg = 880 ms. - max = 881 ms.
iterations = 100 -> min = 1255 ms. - avg = 1256 ms. - max = 1258 ms.
The optimized shader is about 48% faster than the previous version.
These are the results for the 8600 GT:
iterations = 10 -> min = 49 ms. - avg = 51 ms. - max = 52 ms.
iterations = 30 -> min = 150 ms. - avg = 151 ms. - max = 151 ms.
iterations = 50 -> min = 248 ms. - avg = 250 ms. - max = 252 ms.
iterations = 70 -> min = 347 ms. - avg = 349 ms. - max = 351 ms.
iterations = 100 -> min = 495 ms. - avg = 496 ms. - max = 498 ms.
The shader is about 39% faster on this graphic card.
My first thermal erosion
These are the results for the 7600 GT:
iterations = 10 -> min = 120 ms. - avg = 121 ms. - max = 121 ms.
iterations = 30 -> min = 361 ms. - avg = 363 ms. - max = 364 ms.
iterations = 50 -> min = 603 ms. - avg = 604 ms. - max = 605 ms.
iterations = 70 -> min = 845 ms. - avg = 846 ms. - max = 847 ms.
iterations = 100 -> min = 1207 ms. - avg = 1208 ms. - max = 1209 ms.
The optimized shader is about 49% faster than the previous version.
These are the results for the 8600 GT:
iterations = 10 -> min = 50 ms. - avg = 51 ms. - max = 52 ms.
iterations = 30 -> min = 151 ms. - avg = 153 ms. - max = 153 ms.
iterations = 50 -> min = 252 ms. - avg = 254 ms. - max = 255 ms.
iterations = 70 -> min = 353 ms. - avg = 356 ms. - max = 358 ms.
iterations = 100 -> min = 508 ms. - avg = 509 ms. - max = 511 ms.
The shader is about 58% faster on this graphic card.
My second thermal erosion
These are the results for the 7600 GT:
iterations = 10 -> min = 55 ms. - avg = 56 ms. - max = 57 ms.
iterations = 30 -> min = 165 ms. - avg = 166 ms. - max = 167 ms.
iterations = 50 -> min = 275 ms. - avg = 277 ms. - max = 277 ms.
iterations = 70 -> min = 386 ms. - avg = 387 ms. - max = 388 ms.
iterations = 100 -> min = 552 ms. - avg = 553 ms. - max = 554 ms.
The optimized shader is about 36% faster than the previous version.
These are the results for the 8600 GT:
iterations = 10 -> min = 24 ms. - avg = 24 ms. - max = 25 ms.
iterations = 30 -> min = 72 ms. - avg = 73 ms. - max = 73 ms.
iterations = 50 -> min = 120 ms. - avg = 122 ms. - max = 122 ms.
iterations = 70 -> min = 169 ms. - avg = 170 ms. - max = 172 ms.
iterations = 100 -> min = 241 ms. - avg = 242 ms. - max = 243 ms.
The shader is about 57% faster on this graphic card.