Bright Engine v0.1.3a Released – Performance & Optimisation

June 29, 2018
TABLE OF CONTENTS

The new world panel brought a plethora of new features and settings to use and abuse, but given the size of the update, it wasn’t surprising that a few bugs managed to make it through in-house testing. In the 0.1.3 update series, we’ll be taking a step back from new features to improve and repair the existing systems in preparation for the terrain rework patch coming later this summer!

New Features

Performance Settings

As already stated, new features will be a bit dry for the next few updates as we focus on upgrading the existing mechanics of the engine. However, some minor additions have been made in the name of performance. Starting with new Render Panel settings for texture quality control. Everyone has a different GPU, each with varying amounts of VRAM, so in order for developers with weaker cards to work on highly detailed scenes without running out of memory, Texture Quality can now be manually adjusted from within the editor.

Mipmaps

Furthermore, Mipmaps are now properly integrated to allow for Texture LOD to occur in sync with Model LOD. The two work together to save you time in the manual distance value setting for each object, as well as giving options to override the mipmapping system altogether for massive objects such as background cliffs.

Changes & Improvements

CPU & GPU Performance

Performance is something we want to get near perfect, not only because everyone likes a high fps but also to enable you to build whatever you want without having the feeling of being visually limited by our software. We have gone through a good portion of the main rendering code and managed to remove or improve algorithms to reduce overhead, and while there is far more to be done, the results so far are looking great!

Tested on an Intel i7 3770k processor.

Tested on Nvidia GT 740 to compare performance on an older card.

Aside from performance, we changed a few default settings for user convenience. New Projects now have some default Cubemaps set up for use in skyboxes. Creating new Emitters that use the Timeline Settings no longer defaults to a Velocity Modifier of 0, preventing any form of gravity or velocity forces from working and causing confusion. And Lastly, the fog had a small tweak, we’ve added a new Gradient Setting when using the Exponential Fog Method to give you complete control over the falloff blending. (This has replaced Methods: Exponential 01, Exponential 02)

Bug Fixes

World Editor

  • Fixed a bug where Disabling Bloom caused the viewport to become tiny.
  • Fixed a bug where AO was out of line until the Editor was re-sized.
  • Fixed a bug where deleting a created Room caused a crash.
  • Fixed a bug where selecting a newly placed room caused a crash.
  • Fixed a bug where deleting a placed room that was selected caused the 3D cursor to linger.
  • Fixed a bug where loading a model with no UV Data would cause a crash.
  • Fixed a bug where when switching to a different zone, some of the data from the previous zone wasn’t correctly cleared from memory (memory leak).
  • Fixed a bug where a warning was given about a non-existent animation set when there aren’t any animation sets in the project.
  • Fixed a bug where some data from Models wasn’t being removed from memory when switching zones (memory leak).
  • Fixed a bug where some data from Rooms wasn’t being removed from memory when switching zones (memory leak).
  • Fixed a bug where Changes made to Emitters wouldn’t appear in the main editor unless it was restarted

What’s Next

With all the major bugs and memory leaks now squashed and sealed up, we can draw our attention to introducing the long-awaited Automated Instanced Rendering system! Draw calls will drop rapidly, and frame draw time will drop with it laying the groundwork for the upcoming dynamic foliage and wind simulation system!

All performance tests are performed in the engine demo scene included in the installation.

Home » News » Patch Notes » Bright Engine v0.1.3a Released – Performance & Optimisation
Bright Engine 2022 R3 Released – Performance & Optimisation

Bright Engine 2022 R3 Released – Performance & Optimisation

Continuing on from the upgrades introduced in R2, the engineering team have been redesigning major parts of Bright Engine’s rendering system. Plenty of redundant code has been removed, and significant chunks of the CPU-sided code have been rewritten to be both more memory efficient and reduce GPU idling.

Bright Engine 2022 R2 Released – Performance & Optimisation

Bright Engine 2022 R2 Released – Performance & Optimisation

It’s been two months of an architectural overhaul for the Bright Engine render pipeline. The engineering team have been making substantial changes to how the engine draws the scene, resulting in significant performance boosts without loss of graphical fidelity. Let’s dive under the hood to see what’s changed.

Bright Engine 2022 R1 Released – UI & Resource Management

Bright Engine 2022 R1 Released – UI & Resource Management

After months of programming, the time has come again to show off what our engineering team has been up to. A lot of under-the-hood architecture has been rewritten, drastically reducing memory usage and improving frame rate. Meanwhile, a brand new UI system and editor have emerged. This is more of a technical update than a visual, so pretty pictures will make a return next time.