Archive for March, 2010

openBVE 2 Renderer Demo released, a new direction for me, some views on openBVE 2, and the release of openBVE v1.2.6.0

Posted by Anthony_B on March 15, 2010 at 08:00

openBVE 2 Renderer Demo released, and a new direction for me

openBVE LogoBefore I talk about the new openBVE 2 Renderer Demo, I just want to announce that aside from developing my routes, I’m also now working with Michelle as a C# programmer, and I’m actively participating in the development of openBVE 2. So far, apart from various discussions, I’ve worked on adapting openBVE 1’s .X object parser as a loading-stage plugin for the new program. So, while you’re using the program, if you have any problems regarding X format objects created via the BVE Structure Viewer (the output from this tool is what openBVE effectively supports), then you can probably point the finger of blame at me. 😉 Just to remind and reassure readers, I am still developing my routes, and I haven’t abandoned them!

Horizontal Rule

The openBVE 2 Renderer Demo

openBVE LogoAs many of you will know, openBVE 2 has been in development for some time, and I’m pleased to say that a demo of openBVE 2’s new renderer is now available for download. Unlike it’s predecessor, openBVE 2 is modular — many of the functions which were previously carried out within the program, such as loading and parsing routes or objects, or brake system simulation, is now carried out by plugins instead. This means that openBVE 2 is extensible in a way which openBVE 1 is not. For example, with openBVE 1, adding support for a new 3D object format, would require modification of the core program itself, and a new release. But with openBVE 2’s extensible architecture, support can simply be added via a new plugin, which means the core program need not be modified or recompiled. Clearly, this is a much better design in the long term.

The new renderer demo is intended for advanced users and developers only, and the main purpose of the demo is to test the performance of openBVE 2’s new renderer in comparison with openBVE 1’s, on a variety of computer systems. Indeed, no train simulation features are actually included at this stage, and not all visible features of routes, such as backdrops or animated objects, are accomodated yet.

It would be greatly appreciated if you could download and test the new renderer, and report your experiences; for example, what framerates you see, what viewing distance you find yourself liking to use, and what performance you achieve when equivalent settings are used in both the openBVE 2 Renderer Demo and openBVE 1. Hopefully you’ll find that framerates using openBVE 2’s renderer are far higher.

You can visit the openBVE Renderer Demo page for the download, and please read the information presented there carefully: » «

Please also consider posting your feedback in » this thread on the openBVE forum «, or send some feedback via e-mail to Michelle. Alternatively, you can leave some feedback in a comment on this blog entry or e-mail me, and I’ll pass your feedback on to Michelle. It would be helpful if you could include certain information, such as the following:

  • Your processor model and/or speed (e.g. Intel Core 2 Duo E8400 @ 3GHz, AMD Phenom II X2 545 @ 3.0GHz, etc…)
  • Your graphics card model (e.g. NVIDIA GeForce GTS 250, ATI Radeon HD 5670, etc…)
  • The amount of RAM you have (e.g. 2GB)
  • What operating system you’re using (e.g. Windows 7 64-bit, Ubuntu 9.10 32-bit, etc…)
  • The settings within in your settings.cfg file (found in the Binaries subfolder of the openBVE 2 Renderer Demo)
  • Your video card driver’s image quality settings (e.g. 16xQ anti-aliasing, 16x anisotropic filtering)
  • The framerates you encounter while running the openBVE 2 Renderer Demo, and openBVE 1, with equivalent settings
  • Lastly, don’t forget to take into account, the information on the openBVE 2 Renderer Demo download page…

You can find some help regarding identifying your graphics card model on » this page «. Where video driver settings are concerned, you can read » this page «. Windows users can often just press Windows Key + Break to find out CPU model and speed, amount of RAM, and operating system. Michelle is very busy, but if you would like to send some feedback and find yourself unsure as to what to do, then I’d be happy to help you. 🙂

Horizontal Rule

I’m delighted to say that all the routes I’ve tried, benefit greatly from openBVE 2’s new renderer. Not only are framerates higher, but the viewing distance can be increased significantly as well. 🙂 This is also good news for those of you waiting for Watford Junction to Rugby. For example, take the highly detailed Bourne End Junction area, which contains nearly a kilometre of 60mph crossovers between the fast and slow lines, lots of complex overhead line equipment, and plenty of track and lineside detail. With a viewing distance of 3000m (yes, 3 kilometres :)), in openBVE 1, the framerate here is dragged down to a measly » 19 fps « . But with openBVE 2’s renderer, I get an impressive » 155 fps « instead.

Here are some other examples of framerate improvements. For detailed specifications of the computers used in these tests, please » see here «.

Settings in openBVE 1:

Viewing Distance: [3000m]
Resolution: [1920×1200 fullscreen]
Image Quality: [Anti-aliasing: 16xQ, anisotropic filtering: 16x]
vSync: [Off]
Interpolation: [Anisotropic Filtering]
Transparency: [Sharp]

Settings in openBVE 2 Renderer Demo:

Viewing Distance: [3000m]
Resolution: [1920×1200 fullscreen]
Image Quality: [Anti-aliasing: 16xQ, anisotropic filtering: 16x]
vSync: [False]
Interpolation: [5]
objectOptimization: [2]
blockClipping: [true]
All other settings: [Default]

Please note that all framerates were taken with the camera left at it’s initial position and orientation, to produce reliable and consistant results. In openBVE 1, the F3 external camera key was pressed once and left remaining at the start of the route, and the train moved to the end of the route via the Jump to Station menu, to ensure that no external car objects were lowering framerates.

Core 2 Quad Q9650 / GeForce GTX 260 based system:

Route: openBVE v1.2.5.1 (fps) openBVE 2 Renderer Demo (fps)
Ferrovia Genova-Casella 109 325
Chashinai Railway (Ishinden Line) 78 366
Saijou 117 423 220 327
Guaianazes-Estudantes High-Res 64 327
ATS-Sn/P Test Route 83 437
Uchibo 86 456
Network West Midlands 105 412
Watford Junction to Rugby 38 231

Athlon64 X2 4200+ / Radeon 2600 Pro based system:

Route: openBVE v1.2.5.1 (fps) openBVE 2 Renderer Demo (fps)
Ferrovia Genova-Casella 24 52
Chashinai Railway (Ishinden Line) 15 63
Saijou 17 67 40 88
Guaianazes-Estudantes High-Res 11 51
ATS-Sn/P Test Route 17 71
Uchibo 17 74
Network West Midlands 20 66
Watford Junction to Rugby 9 34

As you can see, on my systems, openBVE 2’s renderer is far superior to openBVE 1’s. Of course over time, more features will be added, and these will use some more of the newly available CPU and GPU resources and reduce peformance a bit. However, for those of you with slow computers, these extra performance reserves could mean that more detailed routes and trains could be usable than would be the case with openBVE 1.

Horizontal Rule

Some more framerate comparisons… openBVE v1.2.5.1 on the left, openBVE 2 Renderer Demo on the right. Remember that we’re interested in the framerate, not the graphical quality, at this early stage! Support for backdrops and smooth transparency will be added to openBVE 2’s renderer in due course. Also note that the viewing distance likely used by many openBVE users is the default 600 metres, but here, the viewing distance is 3000 metres instead.

openBVE v1.2.5.1 openBVE 2 Renderer Demo
Screenshot Screenshot
Screenshot Screenshot
Screenshot Screenshot
Screenshot Screenshot
Screenshot Screenshot
All screenshots taken at 1920×1200 resolution, with openBVE’s anisotropic filtering setting enabled with sharp transparency/interpolation mode 5, and 16xQ anti-aliasing/16x anisotropic filtering (Core 2 Quad Q9650 at default 3GHz, and GeForce GTX 260 55nm)
Horizontal Rule

Community concerns regarding “openBVE 2”

Information IconI want to mention briefly the concerns regarding the name “openBVE 2” being changed soon, as architecturally, the new program is entirely different to openBVE 1, let alone BVE Trainsim, and I’ve noted some fears being expressed regarding the name change and widening scope of the project, particularly where add-on compatibility is concerned. However, I think these fears are being blown out of proportion. All openBVE content will still be compatible with the new program, so there’s no need to panic — add-ons aren’t going to suddenly become defunct. If any developers have concerns about this, please feel free to discuss them with either myself or Michelle.

I’ve also noticed people express concerns that openBVE 2 is going to be far more difficult to use and develop add-ons for. From the end-user’s point of view, and with cooperation from add-on developers (like me), it could actually be far easier, because it will be possible to install and uninstall add-ons from within the program itself, via it’s graphical user interface, rather than dealing with archiving utilities, self-extracting archives, different directory structures contained within them depending on which developer packaged them, and so-on. This kind of stuff is not easy for everyone, especially beginners, and it has to be repeated with every add-on. Where add-on creation is concerned, one of the benefits of the modular, plugin-based architecture, is that adding support for new file formats, such as file formats created by 3D modelling applications, becomes easier, not harder. It also means that route building tools, should they be made, can more easily interface with the host program via the new API. Those of us who prefer hand-coding methods, myself included, can still do what we’ve always done as well — it’s all a choice. Of course, with a program capable of rendering a vast world, it does become harder to make add-ons which fully exploit this new potential. Even I’m not exploiting this potential with my add-ons currently, but in future this may be highly desirable (just as I’ve upgraded my routes incrementally in the past), and the ability will be there for anyone who wants it, or who can envisage a use which even we haven’t even thought of yet. Anyway, the modular architecture makes it easier to build content creation tools, or provide support for existing tools and their file formats, which will make the growing possibilities easier to take advantage of. This does however, require some good programmers willing to devote some time to creating such tools, or writing plugins to support existing tools or formats; I recognise this, and I’m sure Michelle does as well. Lets try to be a little more positive about the future.

Horizontal Rule

openBVE v1.2.6.0 released

openBVE LogoLastly, openBVE v1.2.6.0 has also been released. Now is a good time remind ourselves that openBVE is a train simulator first and foremost, and with this latest release, the mass of the train is now affected by boarding passengers, which can slightly affect the performance of the train. A bug has also been fixed in the Jump to Station menu, and the Interior (Look Ahead) camera is now selected by default for 3D cabs (like the » class 323’s 3D cab « for example, or » Roberto Benini’s EM A1 3D cab «). There are various other changes too; please visit the » openBVE homepage « for more. 🙂