Open Feryal opened 7 years ago
@Feryal this is a known issue where GLFW rendering isn't supported on Linux. It's currently using OSMesa, which is unfortunately much slower (but makes headless rendering easier since you don't need xserver running etc). That said, it should be pretty straight forward to add GLFW support by just changing builder.py
to link against GLFW on Linux as well, and then add some flag to MjSim.render
to make it use the GLFW backend instead. We don't have immediate plans add it at the moment, but I'd be happy to review a PR for it.
Thanks a lot for the new release, I'm really excited about being able to use the newer version of MuJoCo and its features! :tada:
Unfortunately, since upgrading to the new bindings, I've seen a big drop in performance, specifically linked to RGB rendering.
I'm training an agent using RGB inputs, that I used to capture from a MjViewer instance (I actually capture 2 different views, but the problem is the same for a single view). I now use the MjSim render() method (which is nicer, thanks) .
Unfortunately, I'm seeing a 3-4x drop in performance per thread, which compounds with multiprocessing, making training nearly impossibly slow right now...
Here are some profiling traces. Obviously there is some variability, but these numbers seem pretty consistent.
This is with the codebase v0.5:
This is with the new codebase:
My assumptions for why that may be are currently: 1) There is no go_fast option in the new codebase anymore. Would that mean that we are stuck at 60Hz even in offscreen rendering? 2) The render() function in the MjSim class and the MjRenderContext became slower due to added ifs and memory allocations?
Trying to force a GLFW context instead of the new OpenGL one didn't help.
I'm using CPU offscreen rendering, Linux Ubuntu 16.04, Python 3.5.2.
It would be great if you could tell me what I may be doing wrong or if you are seeing this on your side as well?