Announcement

Collapse
No announcement yet.

32 bit normal maps

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

    32 bit normal maps

    I have no idea why ED keeps using 32 bit for normal maps. 10 of them in each A10C-II cockpit totaling 650 MB.

    I changed them to 8 bit and there is absolutely no visual difference. But over 1.2GB VRAM difference. Along with other optimizations I've done to terrain and tree textures.

    See them full size and the number I circled in red is VRAM allocated to DCS. Also notice lower overall GPU core usage.

    Default 32 bit


    Optimized 8 bit


    Download
    If you want to test, I packaged it as OvGME compatible mod pack.
    THIS PROBABLY WILL NOT PASS IC AND THIS IS ONLY FOR TESTING!!!
    I didn't want to offer it as a mod because I'm sure ED will be actively updating A10C-II every patch cycle.
    Again, I didn't even test for IC but texture mods usually fail.

    Taz1004_A10C_II_Optimized TEST
    Last edited 10-17-2020, 10:59 AM.

    #2
    And these are the 32 bit normal maps. This is just on A10C-II. I'm sure there are more. I found some in the ground texture which I fixed for myself too.



    Comment


      #3
      Thanks for the heads up mate, I don't have PS, any recommendation on what to use to down sample them cleanly?

      Comment


        #4
        Does changing the normalmaps for otbher things I saw terrais mentioned above) pass IC? Ifso,I might feel a modpack coming on.
        Carrier Script.

        Comment


          #5
          Originally posted by Vanguard View Post
          Thanks for the heads up mate, I don't have PS, any recommendation on what to use to down sample them cleanly?
          I updated the first post with download link.
          I did not test for IC but texture mods almost always fail so this is only for testing.

          I didn't want to offer this as mod since ED probably will be updating A10C-II every patch. And the ideal goal is to get ED to acknowledge these and make optimizations so it doesn't effect IC.

          I only have A10C and Ka-50 so I can't look but I'm sure if you guys look into other modules like F-16 or FA-18, I bet you'll find more 32bit normal maps. Supercarrier I'm sure.

          32 normal maps serve absolutely no purpose than eat up your resources. It's basically a bump map. 8 bit provides you with 256 levels of bump. 32 bit give you 16777216 layers of bump. On things like rivets and bevels.
          Last edited 10-17-2020, 08:13 PM.

          Comment


            #6
            Very interesting! Hope ED will have a look at it and consider a change. Perhaps something for the wishlist then. Thank you for your work!

            Comment


              #7
              Nice job !
              Unfortunately DCS requires more and more resources so good optimization is key (omission of unnecessary/not visible texture details)

              I know few people will be whining (how DDS is the best/suitable for DCS) but some of my friends do a lot of "downgrade" of textures. non-alpha-DDS to JPG:
              High-res JPGs without noticeable visual changes but less disk+memory usage and faster loading time. Strange, but textures without mipmaps looks better usually as well. I am not sure if it's DCS or the GFX card releated but with mipmap usage the lower-resolution mipmap textures will be on/switches onto the polygons too early / too close to the camera - what is disappointing.

              for example 4K/8K non-alpha DDS to high-quality-same-resolution 4K or 8K conversion to JPG (F-16, F-14, JF-17 and huge map texture files) brings significant performance increase.
              Last edited 10-17-2020, 12:49 PM.
              sigpic

              Comment


                #8
                well, there is difference between bumpmaps and normalmaps. bumpmaps need only one channel because they describe merely displacement. normalmaps describe surface normal vectors, which are 3D vectors, for lighting and thus need 3 channels.

                CPU: AMD Ryzen 5 1600X
                GPU: AMD RX 580

                Comment


                  #9
                  DCS does not use bumpmaps. Those are all normal-maps.
                  Bumpmaps are greyish. Normalmaps are purple-ish or ocher-yellowish if it's inverted.
                  Last edited 10-17-2020, 12:57 PM.
                  sigpic

                  Comment


                    #10
                    good find. i have only 4gb of vram and notice a huge drop in performance between the original a-10c and the upgrade.
                    i turned down some graphics options and that helped, but it's not ideal.

                    i doubt anyone could notice the difference between 24 and 32 bit normals, so this seems to me like a ridiculous waste of rescources.
                    i hope these are just an oversight and will get patched.

                    taz, maybe you should open dedicated threads in the general bug section for your terrain and tree findings, because for me it's seems like a bug - someone just having forgotten to compress the WIP textures before putting them in the game...
                    for people with less than 8gb of vram those missing compression can mean the difference between playable and stutterfest.
                    Last edited 10-17-2020, 07:10 PM.
                    My personal wishlist after 2 years with dcs: https://forums.eagle.ru/showthread.php?t=216873

                    Comment


                      #11
                      This is an awesome find, and such an easy optimization an I agree the changes would be imperceptible. This really should be considered a dcs bug IMO. One script to resample all these and most players in limited hardware would gain more usable vram.
                      sigpic
                      __________________
                      Custom Pit 476 Recruiting
                      Specs
                      Spoiler:
                      i7-8700K, 16 GB DDR4 3600, Gigabyte Aorus Gaming 7, Gigabyte RTX 2080 Ti, 500GB Samsung Evo SSD+2x750GB RAID-0, TrackIR 5 /w clip, CRG9 49” Curved Ultrawide Flight Display+15" Touchscreen+17" Gauges display, Thrustmaster Warthog+7.5cm, Tablet CDU, Saitek Pro Combat Pedals, Butt Kicker and pneumatic G-Seat

                      Comment


                        #12
                        Originally posted by dorianR666 View Post
                        well, there is difference between bumpmaps and normalmaps. bumpmaps need only one channel because they describe merely displacement. normalmaps describe surface normal vectors, which are 3D vectors, for lighting and thus need 3 channels.
                        Of course I know the difference. I called it bump map for simplicity sake. I had exactly same post regarding 32 bit normal maps on Caucasus. And some people didn't understand what normal maps were.

                        https://forums.eagle.ru/showthread.php?t=282743

                        Normal maps actually are basically glorified bump map. It used to be greyscale map that only extruded one direction. Someone clever figured out there're 3 channels to image files to simulate the coordinate system. So they stored offset information of uvw in RGB channels of image files.


                        Originally posted by twistking View Post
                        taz, maybe you should open dedicated threads in the general bug section for your terrain and tree findings, because for me it's seems like a bug - someone just having forgotten to compress the WIP textures before putting them in the game...
                        The post I made about 32 bit normal maps on Caucasus above went pretty much unnoticed. These things get optimized if more players request them to. Me keep reporting wont do anything. For example, I reported this bug about trees too but didn't get any acknowledgement from ED.

                        https://forums.eagle.ru/showpost.php...8&postcount=40
                        Last edited 10-17-2020, 08:17 PM.

                        Comment


                          #13
                          Originally posted by twistking View Post
                          i doubt anyone could notice the difference between 24 and 32 bit normals
                          i dont know whats in the fourth channel, but even if its unused it doesnt matter really. GPUs usually internally access image data as 32bit per pixel for performance reasons (unlike 24bit, its a power of two which is practical for computating pixel offsets and such). truly 24bit textures can decrease performance or even not be supported by the GPU. for example, some opengl implementations convert 24bit textures into 32bit automatically under the hood for these reasons.

                          24bit textures are ugly from technical viewpoint.

                          CPU: AMD Ryzen 5 1600X
                          GPU: AMD RX 580

                          Comment


                            #14
                            Why does anything in DCS be higher than 8-bit files? Most displays players has are 8-bit capable only, and 10-bit is even today fairly less capable.
                            Even today a most used display resolution is Full HD, a 1920x1080.

                            Sure it helps to have a 32-bit colors for gradients, but well done 8-bit is not so bad compared to higher. But that is mainly for gradients like a skies and sun, but not so much for the aircrafts itself.

                            Need to try out this mod as it is interesting idea to downscale all to 8-bit that is just possible be used as such.
                            i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.
                            i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

                            Comment


                              #15
                              Originally posted by Fri13 View Post
                              Why does anything in DCS be higher than 8-bit files? Most displays players has are 8-bit capable only, and 10-bit is even today fairly less capable.
                              Even today a most used display resolution is Full HD, a 1920x1080.

                              Sure it helps to have a 32-bit colors for gradients, but well done 8-bit is not so bad compared to higher. But that is mainly for gradients like a skies and sun, but not so much for the aircrafts itself.

                              Need to try out this mod as it is interesting idea to downscale all to 8-bit that is just possible be used as such.
                              4th image in the thread says 32bpp, which would be 32 bits per pixel, not 32 bit per channel. 4 channels with 8 bits per channel = 32 bits per pixel.

                              CPU: AMD Ryzen 5 1600X
                              GPU: AMD RX 580

                              Comment


                                #16
                                Originally posted by Fri13 View Post
                                Why does anything in DCS be higher than 8-bit files? Most displays players has are 8-bit capable only, and 10-bit is even today fairly less capable.
                                Even today a most used display resolution is Full HD, a 1920x1080.

                                Sure it helps to have a 32-bit colors for gradients, but well done 8-bit is not so bad compared to higher. But that is mainly for gradients like a skies and sun, but not so much for the aircrafts itself.

                                Need to try out this mod as it is interesting idea to downscale all to 8-bit that is just possible be used as such.
                                Exactly. And to me, the texture size is overkill too. We're talking about 4k texture... on 4k monitor.

                                4k texture for diffuse might improve quality but normal maps are just supplement to diffuse texture. For rivets, bevels on gauge dials, grooves on knobs... 4k normal maps for those is just overkill.
                                The difference in size grows exponentially with each power of two. It's minor difference between 256x256 map and 512x512 map. But difference between 2048x2048 and 4096x4096 is huge.
                                Last edited 10-17-2020, 08:59 PM.

                                Comment


                                  #17
                                  Originally posted by dorianR666 View Post
                                  i dont know whats in the fourth channel, but even if its unused it doesnt matter really. GPUs usually internally access image data as 32bit per pixel for performance reasons (unlike 24bit, its a power of two which is practical for computating pixel offsets and such). truly 24bit textures can decrease performance or even not be supported by the GPU. for example, some opengl implementations convert 24bit textures into 32bit automatically under the hood for these reasons.

                                  24bit textures are ugly from technical viewpoint.
                                  thanks for the heads up. i was not aware of that.

                                  however taz's point is still valid: 600mb of normal maps is madness. supersizing the albedo maps may show on very high resolution displays, but normal maps not so much.

                                  please, ED have a look at that. or fix VRram management, or -even better- do both!
                                  My personal wishlist after 2 years with dcs: https://forums.eagle.ru/showthread.php?t=216873

                                  Comment


                                    #18
                                    Yep.

                                    I hope this time ED pays attention, it's a well presented report on a real issue.
                                    Last time that something similar to this was discussed it was moved (and forgotten) to the "Wishlist" forums:
                                    https://forums.eagle.ru/showthread.php?t=283674

                                    The normal/bump mask overkill sizes, also unnecessary in so many Diffuse textures, and also DDS textures saved as DXT5 when DXT1 would have been correct (i.e, using transparency settings when there's none in use), are on the verge of absurd in a game/sim title that is already extremely resource hungry.

                                    There's a lot of neglecting in regards to DDS formats, sizes and (as Daz clearly shows here) also bit-depth in normal maps.
                                    I don't even think it's a matter of discussion, as changing this will bring only benefits for everyone, there are no downsides.
                                    Last edited 10-18-2020, 01:01 AM.

                                    Win10 Pro x64 | Intel i7 10700KF | 32GB DDR4 (3466MHz CL16) | RX 5700 XT 8GB | 256GB(OS) + 500GB SSDs | 1TB + 3TB HDDs | 650W PSU (Seasonic 80+Gold) | 32'' 1080P 75Hz (IPS) | M-Audio USB + HD-668B | X52 Pro + TrackHat (w/OpenTrack)

                                    Comment


                                      #19
                                      +1
                                      ED, please. Across the board, including 3rd party developers.
                                      - Jack of many DCS modules, master of none.
                                      - Personal wishlist: F-15A, F-4S Phantom II, JAS 39A Gripen, SAAB 35 Draken, F-104 Starfighter, Panavia Tornado IDS.


                                      | MSI Z87-G45 Gaming | i5-4670K @ 4.3Ghz | 16Gb DDR3 1600 | Asus GTX 1070 Strix OC | Samsung 850 Evo 250 & 500Gb | 40" Sony FullHD | Oculus Rift CV1 | Thrustmaster Warthog Stick (19.5cm extension) & Throttle | MFG Crosswind | Windows 7-64 |

                                      Comment


                                        #20
                                        +1
                                        B450 Gaming Pro Carbon AC, Ryzen 3600, 32Gb DDR4 3600MHz, GTX1070Ti, CH Stuff, Oculus CV1

                                        Wishlist:
                                        AH-64
                                        F-15E
                                        F-117A

                                        Comment

                                        Working...
                                        X