Code Monkey home page Code Monkey logo

Comments (26)

felipecode avatar felipecode commented on May 20, 2024 8

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.

nsubiron avatar nsubiron commented on May 20, 2024 8

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.

mesuvash avatar mesuvash commented on May 20, 2024 4

Got 15 FPS using Titan X Maxwell. Don't know why it's ridiculously slow.

from carla.

nsubiron avatar nsubiron commented on May 20, 2024 2

@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.

nsubiron avatar nsubiron commented on May 20, 2024

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.

NikolausDemmel avatar NikolausDemmel commented on May 20, 2024

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.

Tak-Au avatar Tak-Au commented on May 20, 2024

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.

benibienz avatar benibienz commented on May 20, 2024

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.

nsubiron avatar nsubiron commented on May 20, 2024

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.

benibienz avatar benibienz commented on May 20, 2024

OK, thanks for your response.

from carla.

WenchaoDing avatar WenchaoDing commented on May 20, 2024

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.

nsubiron avatar nsubiron commented on May 20, 2024

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.

WenchaoDing avatar WenchaoDing commented on May 20, 2024

Hi @nsubiron ,

Thanks for your answer! I got it.

from carla.

tomchen1000 avatar tomchen1000 commented on May 20, 2024

If the issue is caused by UE4's SceneCapture2D, why Town02 is faster than Town01 (with one camera)?

from carla.

juaxix avatar juaxix commented on May 20, 2024

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.

simmates avatar simmates commented on May 20, 2024

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.

juaxix avatar juaxix commented on May 20, 2024

@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.

bhairavmehta95 avatar bhairavmehta95 commented on May 20, 2024

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.

joethompson1961 avatar joethompson1961 commented on May 20, 2024

What is the difference between Epic and Low Mode?

from carla.

germanros1987 avatar germanros1987 commented on May 20, 2024

Should we close this issue?

from carla.

nsubiron avatar nsubiron commented on May 20, 2024

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.

SummerHelen avatar SummerHelen commented on May 20, 2024

How can I check the fps in the simulation process?

from carla.

tanghui0102 avatar tanghui0102 commented on May 20, 2024

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.

image

from carla.

soulslicer avatar soulslicer commented on May 20, 2024

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.

MasterTigress avatar MasterTigress commented on May 20, 2024

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.

MasterTigress avatar MasterTigress commented on May 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.