Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. I'm still mildly suspicious that some of my perf problems (esp.

I'm still mildly suspicious that some of my perf problems (esp.

Scheduled Pinned Locked Moved Uncategorized
17 Posts 7 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Nikita LisitsaL Nikita Lisitsa

    I'm still mildly suspicious that some of my perf problems (esp. wrt multi draw indirect) are due to some mandatory wgpu validation and honestly I'm lowkey starting to think about rewriting the rendering in Vulkan 😕

    (and even disabling non-mandatory validation is kinda broken in wgpu-native, and my 3-months-old issue about it is still ignored 😢)

    Or maybe try Dawn instead, that would be a saner option

    Tom ForsythT This user is from outside of this forum
    Tom ForsythT This user is from outside of this forum
    Tom Forsyth
    wrote last edited by
    #2

    @lisyarus What platforms do you need to support? Vulkan is a lot of typing, but e.g. if you need to also support DX12 and Metal it's pretty much the same "a lot of typing". Or yeah use a thin engine like BGFX or something.

    Nikita LisitsaL 1 Reply Last reply
    0
    • Tom ForsythT Tom Forsyth

      @lisyarus What platforms do you need to support? Vulkan is a lot of typing, but e.g. if you need to also support DX12 and Metal it's pretty much the same "a lot of typing". Or yeah use a thin engine like BGFX or something.

      Nikita LisitsaL This user is from outside of this forum
      Nikita LisitsaL This user is from outside of this forum
      Nikita Lisitsa
      wrote last edited by
      #3

      @TomF Linux and Windows, Mac would be a nice bonus. A lot of typing is not as much a concern as a lot of debugging that follows >_>

      Bgfx is just, idk, not my type, I don't like how it's structured

      Tom ForsythT 1 Reply Last reply
      0
      • Nikita LisitsaL Nikita Lisitsa

        @TomF Linux and Windows, Mac would be a nice bonus. A lot of typing is not as much a concern as a lot of debugging that follows >_>

        Bgfx is just, idk, not my type, I don't like how it's structured

        Tom ForsythT This user is from outside of this forum
        Tom ForsythT This user is from outside of this forum
        Tom Forsyth
        wrote last edited by
        #4

        @lisyarus If it's just Linux and Windows then DX11 and a matching modern flavour of OGL still work perfectly well, and I prefer the balance of how much work I have to do versus what the driver does for me.

        OblomovO Nikita LisitsaL 2 Replies Last reply
        0
        • Tom ForsythT Tom Forsyth

          @lisyarus If it's just Linux and Windows then DX11 and a matching modern flavour of OGL still work perfectly well, and I prefer the balance of how much work I have to do versus what the driver does for me.

          OblomovO This user is from outside of this forum
          OblomovO This user is from outside of this forum
          Oblomov
          wrote last edited by
          #5

          @TomF @lisyarus

          > Linux
          > DX11

          TOM.

          Nikita LisitsaL Tom ForsythT Andre WeissflogF 3 Replies Last reply
          0
          • OblomovO Oblomov

            @TomF @lisyarus

            > Linux
            > DX11

            TOM.

            Nikita LisitsaL This user is from outside of this forum
            Nikita LisitsaL This user is from outside of this forum
            Nikita Lisitsa
            wrote last edited by
            #6

            @oblomov @TomF You missed the "and a matching modern flavour of OGL" part 🙂

            1 Reply Last reply
            0
            • OblomovO Oblomov

              @TomF @lisyarus

              > Linux
              > DX11

              TOM.

              Tom ForsythT This user is from outside of this forum
              Tom ForsythT This user is from outside of this forum
              Tom Forsyth
              wrote last edited by
              #7

              @oblomov @lisyarus The trick is to read ALL the words I wrote, not just some of them.

              OblomovO 1 Reply Last reply
              0
              • OblomovO Oblomov

                @TomF @lisyarus

                > Linux
                > DX11

                TOM.

                Andre WeissflogF This user is from outside of this forum
                Andre WeissflogF This user is from outside of this forum
                Andre Weissflog
                wrote last edited by
                #8

                @oblomov @TomF @lisyarus

                > Linux
                > DX11

                Tbh, a Win32 binary using D3D11 is most like more future proof on Linux than a native desktop-Linux executable 😉

                OblomovO 1 Reply Last reply
                0
                • Andre WeissflogF Andre Weissflog

                  @oblomov @TomF @lisyarus

                  > Linux
                  > DX11

                  Tbh, a Win32 binary using D3D11 is most like more future proof on Linux than a native desktop-Linux executable 😉

                  OblomovO This user is from outside of this forum
                  OblomovO This user is from outside of this forum
                  Oblomov
                  wrote last edited by
                  #9

                  @floooh @TomF @lisyarus

                  sadly 8-(

                  Andre WeissflogF 1 Reply Last reply
                  0
                  • Tom ForsythT Tom Forsyth

                    @lisyarus If it's just Linux and Windows then DX11 and a matching modern flavour of OGL still work perfectly well, and I prefer the balance of how much work I have to do versus what the driver does for me.

                    Nikita LisitsaL This user is from outside of this forum
                    Nikita LisitsaL This user is from outside of this forum
                    Nikita Lisitsa
                    wrote last edited by
                    #10

                    @TomF Uhh, then I could just use OpenGL and that's it, why write two backends if one works on both platforms?

                    I'd go this way from the start of OpenGL wasn't this crappy global-state API with seven thousand layers of legacy on top 😞

                    Tom ForsythT Doug BinksD 2 Replies Last reply
                    0
                    • OblomovO Oblomov

                      @floooh @TomF @lisyarus

                      sadly 8-(

                      Andre WeissflogF This user is from outside of this forum
                      Andre WeissflogF This user is from outside of this forum
                      Andre Weissflog
                      wrote last edited by
                      #11

                      @oblomov @TomF @lisyarus IMHO the small-ish subset of Win32+D3D+DXGI needed for game development is actually a quite nice (and stable!) "cross-platform API".

                      OblomovO 1 Reply Last reply
                      0
                      • Aksel HjerpbakkA This user is from outside of this forum
                        Aksel HjerpbakkA This user is from outside of this forum
                        Aksel Hjerpbakk
                        wrote last edited by
                        #12

                        @pierogiburo @lisyarus I second this. Modern vulkan is pleasant. Hard part is actually knowing the "correct" API in vulkan since the working group refuses to actually remove anything for backwards compatibility. Atleast the documentation has startet to label some functions that are considered "deprecated".

                        rojunR 1 Reply Last reply
                        0
                        • Tom ForsythT Tom Forsyth

                          @oblomov @lisyarus The trick is to read ALL the words I wrote, not just some of them.

                          OblomovO This user is from outside of this forum
                          OblomovO This user is from outside of this forum
                          Oblomov
                          wrote last edited by
                          #13

                          @TomF @lisyarus

                          can I pretend it's your fault for using a chiastic structure in the post? *whistles innocently*

                          1 Reply Last reply
                          0
                          • Andre WeissflogF Andre Weissflog

                            @oblomov @TomF @lisyarus IMHO the small-ish subset of Win32+D3D+DXGI needed for game development is actually a quite nice (and stable!) "cross-platform API".

                            OblomovO This user is from outside of this forum
                            OblomovO This user is from outside of this forum
                            Oblomov
                            wrote last edited by
                            #14

                            @floooh @TomF @lisyarus

                            Does Wine have a macOS port? I know mesa does, so this might make it possible to leverage the various dx->vulkan layers for the graphics part.

                            Oh wait with the new ARM stuff that wouldn't work at all without some kind of lower level emulation. Was this what Valve was working on for their new VR thing?

                            1 Reply Last reply
                            0
                            • Nikita LisitsaL Nikita Lisitsa

                              @TomF Uhh, then I could just use OpenGL and that's it, why write two backends if one works on both platforms?

                              I'd go this way from the start of OpenGL wasn't this crappy global-state API with seven thousand layers of legacy on top 😞

                              Tom ForsythT This user is from outside of this forum
                              Tom ForsythT This user is from outside of this forum
                              Tom Forsyth
                              wrote last edited by
                              #15

                              @lisyarus This is a fair point. I write DX11 as the "golden path" because that's what I know best, and then translate to the equivalent OpenGL and ignore all the wacky variants/extensions of OGL that don't directly correspond to the DX11 equivalents. But you could just skip writing the DX11 code entirely I guess? I don't have a broad enough experience of OGL to know if that's wise.

                              1 Reply Last reply
                              0
                              • Nikita LisitsaL Nikita Lisitsa

                                @TomF Uhh, then I could just use OpenGL and that's it, why write two backends if one works on both platforms?

                                I'd go this way from the start of OpenGL wasn't this crappy global-state API with seven thousand layers of legacy on top 😞

                                Doug BinksD This user is from outside of this forum
                                Doug BinksD This user is from outside of this forum
                                Doug Binks
                                wrote last edited by
                                #16

                                @lisyarus @TomF You can simplify an awful lot of OpenGL these days, but the largest problem is that tool support for decent profiling has pretty much disappeared. A secondary issue is that I have experienced some performance issues due to shader compilation for long shaders, which is why Avoyd's path tracer runs on Vulkan.

                                A lot of Vulkan's verbosity issues can be worked around with some support code, and it is getting simpler to write (though I stick to an older subset for compatibility atm).

                                1 Reply Last reply
                                0
                                • Aksel HjerpbakkA Aksel Hjerpbakk

                                  @pierogiburo @lisyarus I second this. Modern vulkan is pleasant. Hard part is actually knowing the "correct" API in vulkan since the working group refuses to actually remove anything for backwards compatibility. Atleast the documentation has startet to label some functions that are considered "deprecated".

                                  rojunR This user is from outside of this forum
                                  rojunR This user is from outside of this forum
                                  rojun
                                  wrote last edited by
                                  #17

                                  @avokado @pierogiburo @lisyarus I'm testing my assumptions and memory here, as I did try to hook #Vulkan to a framework at work.

                                  Afaik, despite the lot-of-typing, Vulkan also provides error cues for troubleshooting like nothing I've seen so far. Or is there?

                                  There's no other C++ native rendering framework that woud cater with a unified shader format without all the other connected bloat (like bgfx) now that Circle's effort was ditched. Right?

                                  You can use modern ogl as the input for Vulkan though you'll depend on transpiling it to spirv and then to the platform specific format. I don't think this is an issue as I had an autoloading cmake job to handle this on file changes.

                                  Macos is quite the divide here as the deprecated the ogl long ago and Metal, though it's quite good, is just different from DX.

                                  1 Reply Last reply
                                  1
                                  0
                                  • R ActivityRelay shared this topic
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  Powered by NodeBB Contributors
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups