Announcement

Collapse
No announcement yet.

BLUI Open Source HTML5/JS/CSS HUD/UI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Shammah View Post
    I just pinpointed the resource hog closer. It appears that the bottleneck comes from the code you blatantly copied from the VQueloUIPlugin over at https://github.com/ufna/VaQuoleUI/bl...IComponent.cpp.
    I commented out the rendering part, and the framerates more than halves and the stutter is immense. The little @TODO mentions it's not a big deal. Apparantly the copying butchers my framerate on a pretty beastly PC.

    Code:
    		// @TODO This is a bit heavy to keep reallocating/deallocating, but not a big deal. Maybe we can ping pong between buffers instead.
    		TArray<uint32> ViewBuffer;
    		ViewBuffer.Init(Width * Height);
    		FMemory::Memcpy(ViewBuffer.GetData(), buffer, size);
    
    		TextureDataPtr dataPtr = MakeShareable(new TextureData);
    
    		dataPtr->SetRawData(Width, Height, sizeof(uint32), ViewBuffer);
    
    		// Clean up from the per-render
    		ViewBuffer.Empty();
    		buffer = 0;
    Understand that code was from VaQueloUI, which is also under the MIT license, and I have included said license here:

    https://github.com/AaronShea/BLUI/bl...ter/CREDITS.md

    HTML/CSS/JS Powered UI - Free

    Comment


      I am glad your looking into it Aaron and Shammah. I thought it was just me who was suffering. Maybe its a nVidia GPU only issue?
      Currently working on PARGSoft Football

      My day job is a C# ASP.NET Developer, I wish it was a games developer

      Comment


        Originally posted by paulv2k4 View Post
        I am glad your looking into it Aaron and Shammah. I thought it was just me who was suffering. Maybe its a nVidia GPU only issue?
        I haven't had as many issues with my GTX 980 or my Intel Core i7 3820 @ 3.60GHz but I do want to look into efficiency

        HTML/CSS/JS Powered UI - Free

        Comment


          Originally posted by AaronShea View Post
          I haven't had as many issues with my GTX 980 or my Intel Core i7 3820 @ 3.60GHz but I do want to look into efficiency
          Ok. Maybe your i7 is more than powerful enough so you do not see the issue?

          Anyway, here's to hoping you can find something.
          Currently working on PARGSoft Football

          My day job is a C# ASP.NET Developer, I wish it was a games developer

          Comment


            Originally posted by paulv2k4 View Post
            Ok. Maybe your i7 is more than powerful enough so you do not see the issue?

            Anyway, here's to hoping you can find something.
            Actually just got a pull from Shammah that removes the allocation and deallocation each redraw, it's up on the master branch now

            HTML/CSS/JS Powered UI - Free

            Comment


              The master branch just got updated with a small performance fix. I was able to remove unnecessary memcopy operations. Only one memcopy remains, from the CEF buffer to the texture itself. I'm not sure if I can remove that as well; setting the texture data pointer directly to the given CEF buffer pointer does not seem to work. It's the only remaining bottleneck concerning texture updates. At 1920x1020, this is about 74MB per memcopy. Calling that each 30FPS is still a big strain I think.

              Comment


                Originally posted by Shammah View Post
                The master branch just got updated with a small performance fix. I was able to remove unnecessary memcopy operations. Only one memcopy remains, from the CEF buffer to the texture itself. I'm not sure if I can remove that as well; setting the texture data pointer directly to the given CEF buffer pointer does not seem to work. It's the only remaining bottleneck concerning texture updates. At 1920x1020, this is about 74MB per memcopy. Calling that each 30FPS is still a big strain I think.
                I remember trying to do that (using the pointer directly to the CEF buffer) quite a while ago when things first started and discovering it didn't work for some reason. I'm interested in figuring out that hurtle as well.

                HTML/CSS/JS Powered UI - Free

                Comment


                  Another huge bottleneck seems to be off-screen rendering itself: https://bitbucket.org/chromiumembedd...reen-rendering

                  With off-screen rendering CEF does not create a native browser window. Instead, CEF provides the host application with invalidated regions and a pixel buffer and the host application notifies CEF of mouse, keyboard and focus events. Off-screen rendering does not currently support accelerated compositing so performance may suffer as compared to a windowed browser.

                  Comment


                    Been looking into this issue for a little bit, and just committed a new rendering method that will allow more control over the painting.
                    https://github.com/AaronShea/BLUI/co...5efe171b2cee10

                    Eventually looking to only updating regions of the texture that have been redrawn by CEF.

                    EDIT: This has been merged into mater, as it seems to boost performance
                    Last edited by AaronShea; 04-26-2015, 04:39 PM.

                    HTML/CSS/JS Powered UI - Free

                    Comment


                      Originally posted by AaronShea View Post
                      Update on this, it's in progress!

                      [ATTACH=CONFIG]35786[/ATTACH]

                      results in:

                      [ATTACH=CONFIG]35787[/ATTACH]


                      Very nice! Will test it when it's ready
                      Last edited by OceanCom; 04-27-2015, 07:19 PM.
                      Alex

                      Comment


                        Just released version 2.4 actually!

                        https://github.com/AaronShea/BLUI/releases/tag/2.4

                        HTML/CSS/JS Powered UI - Free

                        Comment


                          Awesome! Big THANKS! I have a feeling I'll make use of it some time...

                          Comment


                            BLUI just hit 80 stars on Github.
                            I'll be honest, I started this project just for fun, didn't expect it to go anywhere!
                            Thanks everyone!

                            HTML/CSS/JS Powered UI - Free

                            Comment


                              Firstly, I want to say thanks for an amazing plugin. I actually abandoned the trial of Coherence to use BLUI instead It works perfectly for what we want.

                              I do have a question though - in your demo video on YouTube, you have a semi-transparent black material. It looks like the opacity of this in the HTML is 50%.

                              What material settings do you use in UE4 to allow this? I've played about additive, translucent, etc. materials, but can't seem to cleanly pass the opacity through into the UE4 scene like you have.

                              Thanks again!

                              Comment


                                Originally posted by UKdude View Post
                                I do have a question though - in your demo video on YouTube, you have a semi-transparent black material. It looks like the opacity of this in the HTML is 50%.

                                What material settings do you use in UE4 to allow this?
                                That was done by setting the BluEye instance to be transparent, and using a transparent background in the HTML. The menu element had an alpha value set in its background as well:

                                Code:
                                /* Alpha set to 0.5 (or 50%) */
                                background-color: rgba(0, 0, 0, 0.5);

                                HTML/CSS/JS Powered UI - Free

                                Comment

                                Working...
                                X