Blog

XPlane2Blender v4.0.0-rc.1

XPlane2Blender v4.0.0-rc.1

Download this from GitHub!

We did it folks! Long in development (mostly because I kept adding features, not because of many disastrous releases) we can call this complete! A huge thanks to our dedicated volunteers who beta tested, send bugs, e-mails, and trusted their projects and livelihoods to us. We hope to live up to that trust everyday. Again thank you. Also thanks to a few people who contributed code (Premek Truska and @kbrandwijk)!

This release notes page serves as an overview of important new features and changes since Blender 2.79. Since the manual has not kept pace with development, you’ll find documentation on the new features in past release notes. This is being worked on.

Don’t be surprised if you see the words “Exportable Collection/Object”. That name was later changed to “Root Collection/Object”. Read more about that change here.

New Features

Blender 2.80-83 upgrade!

  • Blender 2.80-83 is supported! XPlane2Blender in Blender 2.90 has been tested by some with positive results but is not officially supported yet.
  • The UI is almost entirely the same. The replacement for the Layers Mode feature, “Root Collections”, is almost identical in nature (but also much more powerful!). A few unclear property names and poor tooltips have been reworked, but are still in the same place. Unlike Blender 2.80’s large UI change, we have changed much at all.
  • I have yet to meet an artist who, after learning modern Blender’s UI, wishes they could go back. Have no fear in upgrading!

Root Collections and Root Objects

  • Blender 2.79’s 3D View’s layer system has been removed and replaced with Blender 2.80’s Collections. To adapt, we removed “Layers Mode” and replaced it with “Root Collections”. It is nearly the same as Layers but is much more flexible. The updater preserves Layers Mode projects and the UI for this workflow is still in the Scene Properties Tab. For old tutorials you can, in general, replace the word “layer” with “a collection”. Read more about the feature here. “Exportable Collection” and “Root Collection” refer to the same concept, don’t get confused by the old name.
  • You can use Root Collections and Root Objects in the same scene, no need to pick only one workflow

Automatic lights

  • Automatic Lights makes lighting in XPlane2Blender easy! Automatic lights are aimed for you without the need for tricks, any parameters are filled in automatically or with easy to use Blender properties, and the exporter and UI prevents many types of lighting mistakes. Pick your X-Plane light name and What You See Is What You’ll Get! Read more here.
  • Knowing what lights to use and how is now easier. The “Create lights.txt Summary” button makes a text block with light names available and what parameters an Automatic Light will be setting in an easy to use format. See the “Feature Controls” table in beta.2’s release notes for the translation between parameter name and Blender control.
  • Don’t worry, Named and Param light types haven’t been changed at all.
  • Though it shouldn’t be necessary to read lights.txt anymore, it has been cleaned up quite a bit!

Split Animations

  • “Split Animations” offers a new way of sharing animations between objects and even .obj files. An excerpt from the manual explains some uses: Split Animations allows you to share animations that are outside the current root collection. *Its purpose is to reduce the manual labor of keeping these shared animations in sync. Some examples uses of this feature include
    • Synchronizing the motion of a landing gear and wheel in separate OBJs
    • Synchronizing the movement of complex wings flex and their lights
    • Synchronizing the movement of the cockpit OBJ’s door handle manipulator and a door OBJ’s door mesh
    • Having groups of manipulators follow the animation of a parent element of the cockpit
    • Many useful cases I’m sure no one else has dreamed of yet!

The feature is activated by very specific uses of Collections and parenting instead of checkboxes and buttons, so read the tutorial on how to take advantage of this powerful new feature.

Override LODs

  • The Levels of Detail feature in XPlane2Blender has been expanded to reduce the amount of clicking required and also to accommodate the removal of Blender 2.79’s 3D View layer system. How Root Objects projects use LODs had to be changed. See details and backwards compatibility instructions in alpha.5’s notes.

Optimizations

  • Thanks to Premek Truska and @kbrandwijk the Vertex Deduplication algorithm (aka using the Optimize checkbox) is set) takes almost no time at all, even for large .objs
  • A one time keyframe gathering pass makes Objects with many keyframes export twice as fast as before
  • Highly optimized string formatting increase the performance of the exporter across its whole write and logging operation
    All optimizations work automatically, no work is needed to enjoy the benefits! A full export of the BD-5J on my computer now takes 14 seconds over 2.79’s 30. Other people report similar or better results.

Removed

  • Layers Mode removed due to Blender’s choice (but Collections are far better anyways so this isn’t a big loss).
  • Blender removed Texture Slots so we removed autodetection and certain texture validations. For now the root’s texture file path string properties must be used.
  • 2.79 support. Additionally v3.5.1-beta.2 is cancelled (not that anyone ever asked for it of course). Future versions of the converter will consider Blender 2.79 a pit stop before Blender 2.80.
  • Include In Export, Export Mesh In Layers for being redundant and broken

Fixes for bugs that existed in 2.79

  • #570 Drag Rotate Bug Fix

Again, thank you so much to everyone who uses this addon and sends screenshots and bug reports and e-mails and forum posts and stories of all the great things you’re making. X-Plane wouldn’t be X-Plane without talented people like you making the world real with Blender and XPlane2Blender!

Posted in Aircraft & Modeling, Scenery, Tools by | 3 Comments

XPlane2Blender v4.0.0-beta.3

XPlane2Blender v4.0.0-beta.3

As always make backups

So close to release!

Unless something’s gone wrong, this is rc1!

A big speed boost for aircraft!

  • By fixing #571 and #569 aircraft with complex animations should receive seconds off their export time! It basically marks the end of the “can squeeze more out of Python” quest which is good (and a bit sad).

Drag Rotate Bug Fix

  • Fix for #578. For those struggle with trying to make things like trim wheels that rotate multiple times around (going from -1440 to 1440), this beta fixes it. Please let me know if this fix broke other manipulators.

A tiny UI fix

#570 is fixed for anyone who was bothered by this. Yes, even the small bugs matter to me I swear!

Once confirmed that these have gotten the fix, we’re at rc.1!

Posted in Aircraft & Modeling, Scenery, Tools by | Leave a comment

X-Plane 11.50 Is Here

X-Plane 11.50 quietly went final yesterday. Very quietly.

We’re trying something new with this release: a phased roll-out. Here’s how it works:

  • 11.50 is final – if you run the installer and request updates, you’ll get 11.50, regardless of whether you check ‘get betas’.
  • Only some users are being auto-notified of the update.
  • Over the next few days, we’ll slowly crank up the number of auto-notifications until it is everyone.
  • Steam users: you still have to opt into the beta – we’ll mark the Steam 11.50 version as final probably tomorrow.

We are trying the phased roll-out to make sure support doesn’t get overwhelmed; some add-ons need to be updated for 11.50 compatibility, and we didn’t want Thomson and company to go down the tubes helping users get their add-ons updated.

Posted in News by | 105 Comments

X-Plane 11.50 Release Candidate Three

Third time’s a charm? I hope so. We cut a new release candidate this week.

The main reason for the new RC: the very latest AMD drivers (2020.8.3) crash X-Plane in Vulkan. We are working with AMD on this; in the meantime you can run the 2020.8.2 drivers. We wanted to get an error message into the app guiding users – hard crashes were spiking in our auto reporting.

Since we were recutting, we also included fixes for non-working manipulators, and some GL clipping of plugins and the map by airplane wings.

I expect this RC to go final, although I realize I’m tempting fate by putting it in writing. We have a few more fixes we are sitting on for an 11.51 bug fix patch to avoid introducing last minute changes in RC.

Posted in News by | 72 Comments

X-Plane 11.50 – Release Candidate 2

X-Plane 11.50 release candidate 2 is out. We changed a very, very small amount of code from RC1. If you think your performance changed radically from RC1 to RC2, there’s a good chance it’s an unrelated factor, because we didn’t change code that would affect performance.

The big change in this build is a pair of fixes to two crashes, both of which were related to texture paging and could happen more with orthophotos. One of those crashes was in the betas and was a result of a timing bug; in RC1 I cleverly fixed the timing – causing the crash to happen way more often. This is now fixed, so if RC1 was way worse than the betas for you crash-wise, RC2 should fix it.

The other was a crash we’d see after long flights that has been plaguing mostly Mac users (but sometimes Windows users too) for a while – we finally chased it down.

We do have a handful of issues we are still looking at, and I expect we’ll do an 11.51 bug fix patch, as we have done a bug fix patch on all of our big updates; there’s always something we find after we ship.

Posted in News by | 101 Comments

X-Plane 11.50 Release Candidate 1

We posted the first X-Plane 11.50 release candidate today. (Release notes here.) X-Plane 11.50 is not final however–to get the release candidate, you still need to have “get betas” enabled.

The changes from beta 17 to RC1 are not very invasive; we’re trying to tweak carefully and not destabilize the build we have. Sidney and I spent most of the last two weeks looking at tons and tons and tons of performance traces from users, looking for performance bugs to fix.

A Note on Addons

A lot of developers have updated their add-ons for 11.50 – either to gain Vulkan compatibility, to modernize old code, or to fix bugs that were revealed when running with X-Plane 11.50.

We still see a lot of crashes in our automatic crash report collector from add-ons where we know that the author has fixed the underlying issue.

If you run an X-Plane installation that has been “heavily enhanced” – you know who you are, with the 1500 scenery packs and the 100 plugins – I’d suggest that X-Plane 11.50 might be a good time to build your system back up from a clean install. This makes it easier to only run the latest versions of add-ons that are Vulkan compatible, rather than having to fish through your full past install to find that one plugin or script that’s causing a problem.

If you use FlyWithLua to whack art controls (or run scripts from people who do this) I’d suggest removing them when you get 11.50 running, then put them back later. A ton of art control tricks simply don’t do anything anymore, and some are now harmful to performance or cause crashes.

Incremental Roll Out

One last note – because 11.50 is such a disruptive release (in that it requires add-ons to be updated to run in Vulkan), we are working on a staged release. While everyone who wants to get the RC can get it, and everyone who wants the final version will be able to get it, we are trying to make the auto-update notice ping the user base incrementally, so that our tech support is not overwhelmed.

If you don’t see the update prompt for a new beta or final release when you launch X-Plane, it may be us testing out this system. Just run the installer manually with the “get betas” box checked to get the latest no matter what.

Posted in News by | 191 Comments

X-Plane 11.50 Beta 17 – Performance Fixes

X-Plane 11.50 Beta 17 is out now – full release notes here. There are a lot of bug fixes in this beta. We are getting near the end of the 11.50 run and the fixes are becoming smaller and more targeted as we try to lock things down.

We fixed several performance issues on the GPU and CPU, on both platforms. Probably the biggest single fix is Mac cloud performance with Metal and no-anti-aliasing; it turns out that having the rendering surface shared between Metal and OpenGL on a Mac puts it into a layout that slows down the GPU. (This is not an issue on Vulkan.) We’ve fixed this by using separate VRAM for cloud rendering vs plugins; GPU performance with Metal should match OpenGL.

VR users: water reflections are fixed, as well as hopefully the crash on quit with Nvidia + Rift headsets, and we’ve tried to fix the VR mouse not being available until a controller is activated on WMR headsets.

Multi-monitor users: we finally figured out why the horizon line wasn’t lined up – it turns out each monitor was using a different monitor’s height and chaos ensued.

If your bug number isn’t listed in the fixes, you don’t need to tell us it’s still broken, but if we did list a bug as fixed and you still see it, please file a bug and include the XPD number if you know it.

Oh, and Mac Catalina users: you no longer have to reboot your machine after an update. (This was an installer issue – the new installer rolled this week.)

Third party developers: Thomson made this survey form! Basically we’re trying to decide where the best place(s) are to discuss future dev, so we figured we’d get some feedback before proceeding. We’ve had some discussions of future extensions to the SDK on Slack, but not all third party devs have time to monitor a Slack channel, and we don’t want to leave people out.

Posted in News by | 155 Comments

X-Plane 11.50 Beta 16: Less Weird, Slightly Faster

X-Plane 11.50 beta 16 is now out. Probably the most important bug fix is the set of fixes for broken plugin drawing–this affected SkyMaxx Pro and a number of add-ons in pop-out windows. Full notes here.

At this point we think we are good in terms of plugin compatibility APIs – if your add-on still acts funny in beta 16, please let us know ASAP.

Performance Investigations

Sidney and I spent a bunch of time over the last week looking at performance. Here’s what we have found so far:

  1. X-Plane 11.50 beta 14 made cloud performance significantly worse on the GPU. I accidentally turned off optimized off-screen clouds. This is fixed as of beta 15.
  2. X-Plane 11.50 beta 15 made CPU performance worse on AMD cards on Windows during panel drawing – the same bugs that caused the incorrect plugin drawing hit performance as well. This is fixed as of beta 16. (XPD-10943)
  3. X-Plane 11.50 beta 15 leaks VRAM when scenery or the aircraft gets loaded. That doesn’t necessarily hurt performance but it’s definitely not good. This is fixed in beta 16 (XPD-10941). If you had blurry textures, definitely re-test now.
  4. NVidia cards are losing about 1.5 ms of GPU time as a result of the bug fix for wrong reflections in Vulkan. We found the cause of the performance loss but we have not fixed it yet. This was introduced in beta 12 when we fixed the reflections. (XPD-10953)
  5. Temporary slow frame rate or stutters when turning your head with Vulkan. If your frame rate is smooth and good when flying and then temporarily slows down only when your view changes as lot (e.g circling, turning your head, etc.), that’s this bug. The cause is slower draw time when we draw 3-d scenery out of system memory while we wait for the DMA to VRAM to finish. (XPD-10898)

From what we can tell, a huge percentage of the blog comment complaints about performance are all XPD-10898.

At this point, with beta 16, we do not want any additional performance bug reports. Given that we have two performance issues fully diagnosed but not fixed, there’s no point in collecting more data – the two existing problems would mask other ones. We are also drowning in performance bug reports at this point; we don’t have bandwidth to triage additional ones right now.

Posted in News by | 142 Comments

X-Plane 11.50 Beta 15: Are We There Yet?

Amazingly, I think the answer (and I realize I am cursing the next beta by typing this) is we’re getting really close. You’d be forgiven for thinking that’s lunacy given beta 15; here’s a little bit of info about the state of the betas.

X-Plane 11.50 beta 15 is out (and marked “unstable”) on Steam and amongst other things, has two big fixes for beta 14:

  • Cloud performance should be back to baseline norms for 11.50 – when I fixed a multi-monitor bug in beta 14, I accidentally turned off a major cloud performance optimization,
  • Fatal errors while resizing the window should be fixed. These squawks were coming from code that now checks much more heavily for error conditions, and revealed a problem when the OS delivers window resizes to us too slowly.

Note the introduction of new bugs in the process of fixing old ones – this is always a risk when a bug fix is intrusive or complicated; in order to get a shippable product, we have to keep ratcheting down the amount of chaos we introduce per beta, making smaller and more surgical changes.

Beta 15 also tried to fix one last plugin compatibility bug that we discovered very late in the game – under Vulkan, there’s no depth/stencil buffer available to third party plugins, resulting in incorrect drawing for previously working plugins.

I think you know where this is going…this new change introduced new bugs, even as it fixed the problem with the original add-on.

We have been working with third party developers over the last twenty four hours on fixes for the regressions here; our hope is to have a new beta on Monday or Tuesday that fixes these issues and has gotten a good third party once-over.

We’re Going to Have to Close the Door

We are reaching the end of X-Plane 11.50 – at this point the number of remaining bugs to be fixed in this beta is small enough that they aren’t that hard to keep track of. To get to a release candidate though, we’ll need to stop introducing major changes.

I am hoping that we already know about all of the third party incompatibilities, because at this point we have to close the door to complex changes to improve backward compatibility. For beta 16 we are fixing what used to work and is now broken (e.g. yes, SkyMaxx will work again), but if anyone is sitting on an add-on problem they haven’t mentioned, we’re out of time to deal with it.

Plugin Developers: Thread Safety!

Plugin developers: in looking at your compatibility with X-Plane 11.50, please re-read this post and check your usage of threads. We’ve had really helpful responses from third parties who we have notified about threading issues we’ve seen by auto-crash reporting, and I think this will help everyone–third parties, users, and us.

I believe that X-Plane 11.50 is significantly more sensitive to threading violations than 11.40, because the Vulkan driver doesn’t spend CPU cycles protecting itself from abuse. If a plugin calls into us from a thread when it’s not allowed to, this can cascade into crazy X-Plane behavior, which cascades into crazy Vulkan behavior that the driver won’t stop. So careful adherence to the threading rules by plugins is critical to Vulkan stability.

Posted in Development, News by | 200 Comments

X-Plane 11.50b14 Now Available

X-Plane 11.50b14 is available via the Laminar Research installer & Steam “Unstable Betas” channel. We’ll make beta 14 the standard Steam public beta version once we have a sense that it’s not completely unusable.

Highlights of this update include fixes for stutters and freezes we heard a lot about over the last week. We believe users on the latest Nvidia driver (451.48) should see improvements as well.

We have seen some early reports of problems with VR and performance, and some of them are already identified and will be addressed in beta 15. We are going to keep with beta 14 for now to collect more bug reports – it also provides smoother flight for NVidia users.

Catching Problems Early

The plugin system has an iron-clad rule–you can’t talk to the plugin system from your plugin from a second thread. This rule is important because if a plugin violates it, the resulting crash may happen later, somewhere else in the code, or might just be impossible to decipher.

Beta 14 addresses this by crashing immediately when plugins run certain APIs illegally from the wrong thread. The goal here is to clearly identify these problems as an incorrect plugin, so the plugin author can fix the problem, and we can tell how stable the rest of the sim is.

Here’s the gotcha: when a plugin crashes the sim by doing something illegal on a thread, X-Plane doesn’t diagnose it as a plugin bug – you’ll just get a standard auto-report form. This isn’t perfect, but we think a clear auto-reported crash is better than a confusing auto-reported crash.

We quietly released beta 14 yesterday afternoon, and so far, the top four auto reported crashes are all plugin crashes in threads.

Plugin authors: we will try to find you and tell you if we see your plugin crashing in threaded code by calling X-Plane.

Posted in News by | 110 Comments