原文地址:http://blog.csdn.net/heartrude/article/details/7819089
PhysX 2.8.1 测试报告 一 测试环境: CPU:Intel Xeon W3565 3.20G*4 Mem:4096M GraphicsCard:GeForce GTX 560 Drive:8.17.12.8562 CPU模拟 OS:Win7 x64 PhysXSystem:9.11.0621 测试描述: 从后续的游戏开发考虑,使用PhysX影响最大的两个参数,子弹数量和车辆数量以及单步模拟事件对PhysX性能进行测试。获得一定条件下的一次0.2S模拟时间消耗。从而估计在一定情况下的服务器可能承载人数。 子弹是启用CCD,速度399,大小0.4*0.4*0.4的立方体 车辆是8轮,2车厢,使用joint驱动模式的Truck 测试参数: 固定参数:simulateTime 0.2S 输入参数:TruckNum(辆) BulletNum(颗) StepTime(S) 输出参数:CollisionTime(事件数) BulletDelete(颗) CostTime(S) |
Truck | Bullet | StepTime | BulletDelete | CollisionTime | CostTime |
0 | 150 | 0.016667 | 6.57 | 129.59 | 20.31 |
1 | 150 | 0.016667 | 6.52 | 197.9 | 20.33 |
2 | 150 | 0.016667 | 6.58 | 193.19 | 23.6 |
5 | 150 | 0.016667 | 6.51 | 293.47 | 27.7 |
10 | 150 | 0.016667 | 6.56 | 533.57 | 43.36 |
30 | 150 | 0.016667 | 6.47 | 1126.191 | 69.85 |
50 | 150 | 0.016667 | 6.36 | 1781 | 97.37 |
100 | 150 | 0.016667 | 6.24 | 3386.97 | 411.08 |
40 | 50 | 0.016667 | 2.13 | 1472.09 | 69.29 |
40 | 60 | 0.016667 | 2.63 | 1393.18 | 70.1 |
40 | 80 | 0.016667 | 3.51 | 1447.4 | 71.93 |
40 | 100 | 0.016667 | 4.3 | 1472.59 | 74.43 |
100 | 150 | 0.01 | 6.48 | 1928.85 | 493.03 |
100 | 150 | 0.011111 | 6.24 | 2454.158 | 175.18 |
100 | 150 | 0.0125 | 6.4 | 2350.8 | 108.81 |
100 | 150 | 0.014286 | 6.5 | 2024.75 | 96.57 |
100 | 150 | 0.016667 | 6.4 | 1461.65 | 85.34 |
100 | 150 | 0.02 | 6.5 | 1476.46 | 67.2 |
100 | 150 | 0.025 | 6.36 | 1345.007 | 57.11 |
100 | 150 | 0.03333 | 6.37 | 1155.48 | 43.57 |
100 | 150 | 0.05 | 6.47 | 511.79 | 28.74 |
100 | 150 | 0.1 | 6.433 | 364.42 | 16.14908 |
CPU:100% | Mem:166-170M |
PhysX 2.8.1 测试报告 二 测试环境: CPU:Intel Xeon W3565 3.20G*4 Mem:4096M GraphicsCard:GeForce GTX 560 Drive:8.17.12.8562 CPU模拟 OS:Win7 x64 PhysXSystem:9.11.0621 测试描述: 从后续的游戏开发考虑,使用PhysX影响最大的两个参数,子弹数量和车辆数量以及单步模拟事件对PhysX性能进行测试。获得一定条件下的一次0.2S模拟时间消耗。从而估计在一定情况下的服务器可能承载人数。 子弹是启用CCD,速度399,大小0.4*0.4*0.4的立方体 车辆是4轮,1车厢,使用NxWheelShape驱动模式的RaycastCar 测试参数: 固定参数:simulateTime 0.2S 输入参数:TruckNum(辆) BulletNum(颗) StepTime(S) 输出参数:CollisionTime(事件数) BulletDelete(颗) CostTime(S) |
Truck | Bullet | StepTime | BulletDelete | CollisionTime | CostTime |
20 | 100 | 0.016667 | 4.32 | 354.27 | 16.03 |
25 | 100 | 0.016667 | 4.37 | 409.1 | 17.54 |
30 | 100 | 0.016667 | 4.35 | 472.62 | 17.36 |
40 | 100 | 0.016667 | 4.38 | 596.7 | 17.65 |
60 | 100 | 0.016667 | 4.3 | 821.01 | 19.96 |
80 | 100 | 0.016667 | 4.31 | 1053.69 | 22.49 |
100 | 100 | 0.016667 | 4.33 | 1285.55 | 25.95 |
40 | 80 | 0.016667 | 3.43 | 577.25 | 16.61 |
40 | 100 | 0.016667 | 4.38 | 590.87 | 17.9 |
40 | 120 | 0.016667 | 5.18 | 599.91 | 19.33 |
40 | 150 | 0.016667 | 6.52 | 601.678 | 23.61 |
40 | 200 | 0.016667 | 8.6 | 606.17 | 32.02 |
40 | 300 | 0.016667 | 12.95 | 629.07 | 46.49 |
40 | 400 | 0.016667 | 17.34 | 659.67 | 55.25 |
40 | 500 | 0.016667 | 21.97 | 701.8 | 67.64 |
40 | 500 | 0.01 | 21.03 | 1001.45 | 108 |
40 | 500 | 0.011111 | 21.02 | 917.78 | 106.13 |
40 | 500 | 0.0125 | 21.43 | 852.03 | 102.77 |
40 | 500 | 0.014286 | 21.1541 | 734.36 | 88.94 |
40 | 500 | 0.016667 | 21.2 | 654.28 | 69.97 |
40 | 500 | 0.02 | 21.43 | 550.47 | 65.55 |
40 | 500 | 0.025 | 21.28 | 443.2 | 51.24 |
40 | 500 | 0.033333 | 21.13 | 356.67 | 37.28 |
40 | 500 | 0.05 | 21.57 | 109.25 | 23.86 |
40 | 500 | 0.1 | 21.48 | 76.26 | 13.18 |
40 | 100 | 0.01 | 4.33 | 978.53 | 33.29 |
40 | 100 | 0.011111 | 4.32 | 843.47 | 30.86 |
40 | 100 | 0.0125 | 4.35 | 771.06 | 24.25 |
40 | 100 | 0.014286 | 4.31 | 663.297 | 24.86 |
40 | 100 | 0.016667 | 4.36 | 597.62 | 18.02 |
40 | 100 | 0.02 | 4.34 | 501.17 | 15.4 |
40 | 100 | 0.025 | 4.3 | 391.77 | 12.93 |
40 | 100 | 0.033333 | 4.32 | 303.39 | 9.42 |
40 | 100 | 0.05 | 4.33 | 46.57 | 4.93 |
40 | 100 | 0.1 | 4.33 | 29.43 | 2.73 |
PhysX 2.8.1 测试报告 二 测试环境: CPU:Intel Xeon E5506 2.13G*8 Mem:8178M GraphicsCard:无 Drive:5.02.3790.3959 OS:win2003 sp2 x64 PhysXSystem:9.11.0621 测试描述: 从后续的游戏开发考虑,使用PhysX影响最大的两个参数,子弹数量和车辆数量以及单步模拟事件对PhysX性能进行测试。获得一定条件下的一次0.2S模拟时间消耗。从而估计在一定情况下的服务器可能承载人数。 子弹是启用CCD,速度399,大小0.4*0.4*0.4的立方体 车辆是4轮,1车厢,使用NxWheelShape驱动模式的RaycastCar 测试参数: 固定参数:simulateTime 0.2S 输入参数:TruckNum(辆) BulletNum(颗) StepTime(S) 输出参数:CollisionTime(事件数) BulletDelete(颗) CostTime(S) |
Truck | Bullet | StepTime | BulletDelete | CollisionTime | CostTime |
40 | 100 | 0.01 | 4.35 | 980.7 | 48.01 |
40 | 100 | 0.011111 | 4.33 | 847.5 | 48.07 |
40 | 100 | 0.0125 | 4.35 | 784.56 | 36.71 |
40 | 100 | 0.014286 | 4.33 | 664.2 | 37.69 |
40 | 100 | 0.016667 | 4.34 | 590.66 | 30.59 |
40 | 100 | 0.02 | 4.29 | 494.81 | 23.52 |
40 | 100 | 0.025 | 4.31 | 395.88 | 19.75 |
40 | 100 | 0.033333 | 4.32 | 302.19 | 16.6 |
40 | 100 | 0.05 | 4.34 | 48.31 | 7.88 |
40 | 100 | 0.1 | 4.31 | 29.56 | 5.59 |
经过一、二、三次测试总结如下: 1.无论是否有显卡,physX都可以正常运行。 2.两种vehicle模型,使用joint模型虽然动力实现上模拟会精确很多,但是性能很差。不适合用来做服务器模型。 3.每次simulate的时间消耗和stepTime成反比。 4.stepTime越长,每次simulate检测到的碰撞次数就越少。 5.使用NxWheelShape搭建的Vehicle模型在physx性能表现和基本等同于一个actor 6.Physx一次simulate的时间消耗与CPU性能成反比 7.500子弹40RaycastCar大概消耗内存3-6M 8.40RayCastCar、500Bullet、1/60StepTime在3.2GHZ CPU下一次simulate耗时69.97。所以估计1CPU可以支持1S发射60发子弹的玩家数80人。8CPU支持640人左右。(留50MS用来服务器逻辑Tick) 9.40RayCastCar、100Bullet、1/60StepTime在3.2GHZ CPU下一次simulate耗时18.02。所以估计1CPU可以支持1S发射12发子弹的玩家数320人。8CPU支持2560人左右。(留50MS用来服务器逻辑Tick) |