Taz1004 Posted October 17, 2020 Share Posted October 17, 2020 (edited) 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 Edited October 17, 2020 by Taz1004 2 Link to post Share on other sites
Taz1004 Posted October 17, 2020 Author Share Posted October 17, 2020 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. Link to post Share on other sites
Vanguard Posted October 17, 2020 Share Posted October 17, 2020 Thanks for the heads up mate, I don't have PS, any recommendation on what to use to down sample them cleanly? Link to post Share on other sites
Wrench Posted October 17, 2020 Share Posted October 17, 2020 Does changing the normalmaps for otbher things I saw terrais mentioned above) pass IC? Ifso,I might feel a modpack coming on. Carrier Script. Link to post Share on other sites
Taz1004 Posted October 17, 2020 Author Share Posted October 17, 2020 (edited) 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. Edited October 17, 2020 by Taz1004 Link to post Share on other sites
Hive Posted October 17, 2020 Share Posted October 17, 2020 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! Link to post Share on other sites
NRG-Vampire Posted October 17, 2020 Share Posted October 17, 2020 (edited) 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. :idea: Edited October 17, 2020 by NRG-Vampire [sIGPIC][/sIGPIC] Link to post Share on other sites
dorianR666 Posted October 17, 2020 Share Posted October 17, 2020 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. :joystick: CPU: AMD Ryzen 5 1600X GPU: AMD RX 580 Link to post Share on other sites
NRG-Vampire Posted October 17, 2020 Share Posted October 17, 2020 (edited) DCS does not use bumpmaps. Those are all normal-maps. Bumpmaps are greyish. Normalmaps are purple-ish or ocher-yellowish if it's inverted. Edited October 17, 2020 by NRG-Vampire [sIGPIC][/sIGPIC] Link to post Share on other sites
twistking Posted October 17, 2020 Share Posted October 17, 2020 (edited) 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. Edited October 17, 2020 by twistking My personal wishlist after 2 years with dcs: https://forums.eagle.ru/showthread.php?t=216873 Link to post Share on other sites
Puma Posted October 17, 2020 Share Posted October 17, 2020 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. Custom Pit 476 Recruiting 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 Link to post Share on other sites
Taz1004 Posted October 17, 2020 Author Share Posted October 17, 2020 (edited) 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. 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?p=4443078&postcount=40 Edited October 17, 2020 by Taz1004 Link to post Share on other sites
dorianR666 Posted October 17, 2020 Share Posted October 17, 2020 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. :joystick: CPU: AMD Ryzen 5 1600X GPU: AMD RX 580 Link to post Share on other sites
Fri13 Posted October 17, 2020 Share Posted October 17, 2020 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. Link to post Share on other sites
dorianR666 Posted October 17, 2020 Share Posted October 17, 2020 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. :joystick: CPU: AMD Ryzen 5 1600X GPU: AMD RX 580 Link to post Share on other sites
Taz1004 Posted October 17, 2020 Author Share Posted October 17, 2020 (edited) 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. Edited October 17, 2020 by Taz1004 Link to post Share on other sites
twistking Posted October 17, 2020 Share Posted October 17, 2020 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 Link to post Share on other sites
LucShep Posted October 17, 2020 Share Posted October 17, 2020 (edited) Yep. :thumbup: 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. Edited October 18, 2020 by LucShep Spoiler Win10 Pro x64 | Intel i7 10700KF (all core OC 5.0GHz) | 32GB DDR4 (3466MHz CL16) | RX 5700XT 8GB | 256GB(OS) + 500GB SSDs | 1TB + 3TB HDDs | 650W PSU (Seasonic 80+Gold) 32'' 1080P 75Hz (IPS) | M-Audio USB + Samson SR850 | X52 Pro + TrackHat (w/OpenTrack) Link to post Share on other sites
Knock-Knock Posted October 18, 2020 Share Posted October 18, 2020 +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 | Link to post Share on other sites
stormridersp Posted October 18, 2020 Share Posted October 18, 2020 +1 B450 Gaming Pro Carbon AC, Ryzen 3600, 32Gb DDR4 3600MHz, GTX1070Ti, CH Stuff, Oculus CV1 Wishlist: AH-64 F-15E F-117A Link to post Share on other sites
EasyEB Posted October 18, 2020 Share Posted October 18, 2020 Not bit related, but do you know how I can find and edit the normal textures? All the normals I find are either pinkish or or greenish. Link to post Share on other sites
Vanguard Posted October 18, 2020 Share Posted October 18, 2020 I just downloaded paint.net for that reason alone. Photoshop is what most peeps use but it's $$$. https://www.getpaint.net/download.html Any other suggestions welcome, but pain.net actually supports all compression formats. Link to post Share on other sites
=4c=Nikola Posted October 18, 2020 Share Posted October 18, 2020 (edited) Not bit related, but do you know how I can find and edit the normal textures? All the normals I find are either pinkish or or greenish. Cockpit: Eagle Dynamics\DCS World\Mods\aircraft\A-10C_2\Cockpit\Textures Exterior: Eagle Dynamics\DCS World\CoreMods\aircraft\A-10\Textures Exterior normals are greenish because blue channel is black for some reason, while standard is to leave it white. I'm not sure how dcs engine handles blue channel, but it doesn't really matter. Anyway, I agree with OP, lot of DCS textures contain additional channel of data that serves no purpose no matter how it's being compressed, and while we can fix it locally, IC makes life more difficult. Even worse, dds alpha channel cannot be sampled into rgb compression, it require its own set of data, so you end up with double bpp. And please, please, please, do not ever use .jpg for textures. Edited October 18, 2020 by =4c=Nikola Do not expect fairness. The times of chivalry and fair competition are long gone. Link to post Share on other sites
Taz1004 Posted October 18, 2020 Author Share Posted October 18, 2020 Not bit related, but do you know how I can find and edit the normal textures? All the normals I find are either pinkish or or greenish. You can use Nvidia's Texture Tools. Standalone version. https://developer.nvidia.com/nvidia-texture-tools-exporter Another option is Microsoft Visual Studio. You can get the Community version for free altho it'll take quite a bit of disk space. https://visualstudio.microsoft.com/vs/community/ You need to follow this install guide and install correct components. https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019 I believe components required for texture editing are: .NET desktop development and Game development with C++ You can do resizing and resampling just within Visual Studio. It does have editing but very rudimentary. You can open texture, save as uncompressed image format such as TGA. Then edit from program like Gimp. Reimport to Visual Studio and save as dds file. Keep in mind BC7 compression is newest and most efficient. But I noticed some of DCS texture require them to be BC3. Usually older textures like Caucasus ground. Link to post Share on other sites
Taz1004 Posted October 18, 2020 Author Share Posted October 18, 2020 Also, I believe GIMP has DDS plugin too but I never used it so don't know how well it works. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now