Comments (26)
I would like to add that Town02 is like 50% faster to render than Town01.
To run town 02:
./CarlaUE4.sh /Game/Maps/Town02 -benchmark -fps=15
from carla.
We are working on a more detailed benchmark of the speed, but here some preliminary results.
All of these on a GTX1080 on Ubuntu 16.04 on a typical use on Town01 with 20 vehicles and 30 pedestrians.
Scenario | 0.7.1 (prev. version) | 0.8.0 Epic mode | 0.8.0 Low mode |
---|---|---|---|
no cameras | 22 FPS | 26 FPS | 60 FPS |
one camera | 9 FPS | 13 FPS | 45 FPS |
three cameras | 4 FPS | 6 FPS | 15 FPS |
Still a lot of room for improvement, but definitively much better than previous version π
from carla.
Got 15 FPS using Titan X Maxwell. Don't know why it's ridiculously slow.
from carla.
@joethompson1961 Epic and Low modes refer to the graphics quality of render, you can see an example in this video https://youtu.be/S_XbKHC_hN0?t=1m4s
from carla.
Yes, unfortunately that's about as fast as it gets if you add cameras to the car. I'm getting similar FPS with similar settings.
The main performance hit are the cameras you attach to the car, just adding one, even with very small resolution, drops the frame-rate significantly (you can reach up to 30 fps without cameras). This is very inconvenient because I'm guessing almost every use of CARLA will require cameras attached to the car.
This is a known issue of these cameras (UE4's SceneCapture2D), and there are several forum threads on the issue but so far I haven't seen any solution.
Now if you really need to go as fast as possible, there are couple of things you can do, however this will not get you a significant improvement, perhaps a couple of FPS more
- Reduce the size of the server window, run the server with
-windowed -ResX=200 -ResY=200
for instance. - Disable semantic segmentation, see issue #4.
And if you don't need a great time resolution, you can also run it at a lower fixed frame-rate, -benchmark -fps=3
, this won't improve the actual FPS but since the server renders less frames the in-game time will go much faster.
from carla.
I am getting around 3-5 fps with a Quadro K620 and one camera. I thought the card was too old, but it seems that even with more powerful models the expected speedup is not as substantial as I would have hoped. Thanks for the info, this is good to know (maybe you could convert this to a note in the docs at some point).
from carla.
Question whatβs the min requirement to run this with one camera? My laptop has gtx 1060 on i7. I tried to run server and client on the same laptop and I keep getting drop after few sec on the road
from carla.
I get very low FPS even without a camera and tiny resolution. I think this issue goes beyond UE4's SceneCapture2D. Are there any plans to optimise the performance?
from carla.
Without cameras we get more than 20 FPS on full-screen (1080GTX). This would be acceptable for most CARLA applications if worked with cameras. Speed optimisation is among our priorities, but we have very limited resources.
from carla.
OK, thanks for your response.
from carla.
Hi,
I find that calling read data at Python client side is very time-consuming when I have multiple cameras. For my setup (6700K + 10800GTX), I typically need 110 ms to read data from 3 cameras, which is the bottleneck. Is there any way to improve the FPS at client side? Such as some parallelism.
from carla.
Hi @WenchaoDing,
Take into account that the read function waits for the server, if the server is slow this function will wait. We cannot go faster than the server.
Measuring inside the "read_data()" function gives me about 200ms to read the data from the socket + 5ms to process the data. The 200ms is mostly waiting for the server to produce the data.
There is a debugging trick that helps figuring this out, if you disable the synchronous mode, the server will print "Warning: No control received from the client this frame!" every time the client doesn't send the vehicle control on time, meaning the server is faster than the client. If it doesn't print that, then the client is fast enough.
We already considered making this function asynchronous in the client, but that adds quite some complexity to the API while not really speeding it up in most common uses. In case someone needs to parallelise reading the data, she/he will be better off adding this on top of our API to have more control of where to put the parsing of data specific for the case.
from carla.
Hi @nsubiron ,
Thanks for your answer! I got it.
from carla.
If the issue is caused by UE4's SceneCapture2D, why Town02 is faster than Town01 (with one camera)?
from carla.
Scenecapture2D is now using the renderqueue ,that, togehter with the settings in the optimization branch (DefaultEngine.ini) you will gain some fps. Also, the problem is to have an optimized scene, we are working on a simple scene to reduce the amount of objects to be rendered.
from carla.
I would definitely want to use CARLA, but it gets slow if you add cameras and the suggestion is to remove cameras? This is a simulator for autonomous driving... I'd rather add cameras than remove them.
from carla.
@simmates : It's normal that when you add a camera, any rendering program will slow down a little bit, anyway, we are not saying that you need to remove them, in fact, we are optimizing this together with EPIC team, using the special render code in ASceneCapture2D in the render queue of the engine. A lot of new optimizations will come with the new update (0.8.0) ,you can watch the progress here
Thanks
from carla.
What is the expected FPS of the Optimizations branch that was just pulled into the master branch? Haven't had a chance to check so I figured someone on this thread might have that answer handy.
from carla.
What is the difference between Epic and Low Mode?
from carla.
Should we close this issue?
from carla.
I guess most of the things here are no longer relevant with the latest improvements. We'll keep opening more issues with specific actions to improve performance.
from carla.
How can I check the fps in the simulation process?
from carla.
Hello!
I met one problem:
Low FPS when I run manual_control_sreeringwheel.py in ubuntu 16.04,and the driving wheel is Logitech G920
system:Ubuntu 16.04
gpu:GTX1060
version:CARLA 0.9.5
Description:
One map of carla is running at other conputer,the Logitech G920 driving force wheel is plugged into my computer ,when I run manual_control_steeringwheel.py,the FPS of Sever and Client is so low that the car's running is not smooth enough.FPS of them is respectively about 16,16.
I am full of confusion.Can anyone give some suggestion?Thanks in advance.
from carla.
We are working on a more detailed benchmark of the speed, but here some preliminary results.
All of these on a GTX1080 on Ubuntu 16.04 on a typical use on Town01 with 20 vehicles and 30 pedestrians.
Scenario 0.7.1 (prev. version) 0.8.0 Epic mode 0.8.0 Low mode
no cameras 22 FPS 26 FPS 60 FPS
one camera 9 FPS 13 FPS 45 FPS
three cameras 4 FPS 6 FPS 15 FPS
Still a lot of room for improvement, but definitively much better than previous version
If I have a better GPU will this improve?
from carla.
We are working on a more detailed benchmark of the speed, but here some preliminary results.
All of these on a GTX1080 on Ubuntu 16.04 on a typical use on Town01 with 20 vehicles and 30 pedestrians.
Scenario 0.7.1 (prev. version) 0.8.0 Epic mode 0.8.0 Low mode
no cameras 22 FPS 26 FPS 60 FPS
one camera 9 FPS 13 FPS 45 FPS
three cameras 4 FPS 6 FPS 15 FPS
Still a lot of room for improvement, but definitively much better than previous version π
How can I run one camera to achieve 45 FPS, what does no camera mean ? Are there sample code for "one camera" and "no camera"? Can you please share
from carla.
I tried a lot to look around for one camera code but couldn't find it. I tried developing one myself but still unable to achieve the fps listed for one camera, can someone please share code of one camera?
from carla.
Related Issues (20)
- Bush
- FlowerPot 1
- Fallen leaves
- Streetlights Intensities
- Readjust the post-process volume to the new lighting setup.
- Create different weather profiles presets
- Can we import custom maps using OpenDRIVE maps in CARLA using OSC 2.0? HOT 1
- Wrong boundingbox size of Motorcycles, which is (0,0,0). HOT 7
- Can not kill Carla by Python script when i set autopilot mode HOT 16
- New Vehicle BP configuration
- Litter
- Add new props into PropFactory HOT 2
- Fix Clothes materials HOT 2
- Road Decals
- I would like to ask: Why does the custom car I added slide to the side when it is stationary? HOT 9
- Garden Rocks
- Cannot Change Color of Imported Vehicle HOT 2
- Cannot Change Motorcycle/Bicycle Driver HOT 5
- Fix generate_traffic.py as is not spawning walkers
- Boost.Python.ArgumentError: Python argument types in VehicleControl.__init__(VehicleControl) did not match C++ signature: __init__(struct _object * __ptr64, float throttle=0.0, float steer=0.0, float brake=0.0, bool hand_brake=False, bool reverse=False, bool manual_gear_shift=False, int gear=0) __init__(struct _object * __ptr64) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from carla.