Product Chat / Pros and Cons for png vs dds

Author
Message
DannyD
5
Years of Service
User Offline
Joined: 30th Jun 2018
Location:
Posted: 30th Jul 2019 08:36
I only started with GameGuru 3D models for my Cartoon Series.
I use sketchhup for my models, export to .x, and use Fragmotion for my animation.
All works well up-to-date.

But all my texture/materials is in png format, which help me, because some I use in AppGamekit aswell, using gg loader.
And it all work/display correctly in GG.

I don't really use any shaders for my cartonish games.

Will it be better to rather start using dds, and learn uv unwarp and gimp for _D,_N_S dds files?

Thanks
Nothing is impossible,
Your mind is the Limit!!!
Cubemaps -> Skymaps GUI creator - Thread
Super Fast File Scanner - Thread
PM
GraPhiX
Forum Support
19
Years of Service
User Offline
Joined: 15th Feb 2005
Playing:
Posted: 30th Jul 2019 16:03
Hi DannyD this question does pop up a lot this was my answer to a similar question last year

PNG are fine to use but DirectX utilizes DDS more efficiently just remember DDS is a lossy format the more you edit it and save it the more quality you lose, I export as PNG and when I am happy with the texture I export to DDS DXT1 for non transparency and DXT5 for transparent models. I am also sticking to 2048x2048 although some assets look perfectly fine at 1024x1024

PNG stores images in a compressed, lossless format that is optimized for storage on disk. DDS stores textures in formats that are native to the GPU, and hence optimized for GPU consumption. For PNG's to be useable as texture data, they typically need processing to convert to a GPU format, and possibly also create mipmaps. This can take some time if you have a lot of textures to load, particularly if you want to load them as a DXT/BC-compressed format so that they're optimized for GPU memory and bandwidth consumption. They will also need some manual processing if you want to load them as 1D, 3D, or Cube textures. DDS can store all of those formats natively, which means you can load them very quickly with little-to-no processing.

I did the preview orbs as PNG so that people could play with the textures and the quality of the previews orbs were high, I don't think anyone would use them in a game so thought it did not matter. As far as mipmaps are concerned GameGuru creates them auto magically
Welcome to the real world!
Main PC - Windows 10 Pro x64 - Core i7-7700K @4.2GHz - 32GB DDR4 RAM - GeForce GTX 1060-6G 6GB - 1TB NVe SSD
Test PC - Windows 10 Pro x64 - G4400 @3.3GHz - 16GB DDR3 RAM - GeForce GTX 950 2GB - 500GB SSD
Laptop - Helios 300 Predator - i7 7700HQ - 32GB - Nvidia GTX1060 6GB - 525GB M2 - 500 SSD - 17.3" IPS LED Panel - Windows 10 Pro x64
Various Tutorials by me
AmenMoses
GameGuru Master
8
Years of Service
User Offline
Joined: 20th Feb 2016
Location: Portsmouth, England
Posted: 30th Jul 2019 17:41 Edited at: 30th Jul 2019 17:46
The biggest thing that will effect loading times on non-SSD systems will be the time taken to get the data off the disc itself, especially for laptop hard drives which many systems ship with nowadays. The processing time to convert from PNG to GPU ready formats will be insignificant in comparison.

As PNG files are typically a tiny fraction of the size (i.e. a few kilobytes compared to several megabytes) I would think PNG would be preferable.

Maybe somebody could do a side-by comparison of the same level with all images and textures being PNG and again with all being DDS, compare overall standalone sizes vs loading time?

Edited to add: Might be a more meaningful comparison if terrain textures and sky boxes were also in all PNG or all DDS format.

Whilst on the subject, how does the loading time compare for animated vs non-animated models? For example I think there is a windmill somewhere that is animated, might be useful to compare that versus a two model equivalent with separate body/blades animated via Lua script. (although thinking about it the textures for said windmill probably dwarf the size of the model itself!)
Been there, done that, got all the T-Shirts!
PM
AmenMoses
GameGuru Master
8
Years of Service
User Offline
Joined: 20th Feb 2016
Location: Portsmouth, England
Posted: 30th Jul 2019 17:50
Another thought I had a while back which I put to the back of my mind: Has anyone tried having several large texture files shared by hundreds of different .X files? Would that be feasible and if so would it speed up loading times significantly?

Might work best for low poly models or a cartoon style theme.
Been there, done that, got all the T-Shirts!
PM
Belidos
3D Media Maker
8
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 30th Jul 2019 17:55
Quote: "Has anyone tried having several large texture files shared by hundreds of different .X files? Would that be feasible and if so would it speed up loading times significantly?"


A lot of my models, especially the plastic poly planet ones do that.

Primary Desktop:
i7 7700,k NV1070 8GB, 16GB 3200mhz memory, 1x 2TB Hybrid, Win10.

Secondary Desktop:
i5 4760k, NV960 2GB, 16GB 2333mhz memory, 1x 2TB Hybrid, Win10.

Laptop:
i3, Intel 4000 series graphics, 6GB memory, 1x 500gb HDD, Win8.1.
cybernescence
GameGuru Master
11
Years of Service
User Offline
Joined: 28th Jan 2013
Playing: Cogwheel Chronicles
Posted: 30th Jul 2019 19:19
Yes using large common textures for many models significantly speeds up loading times and saves gpu video mem. Models have to be in same folder as the common texture to save the memory (might be obvious but I forgot a while back and wondered why I was exhausting the video mem)

Cheers
Gtox
3D Media Maker
9
Years of Service
User Offline
Joined: 5th Jun 2014
Location: South Africa
Posted: 31st Jul 2019 05:52
If your textures are plain colours (for cartoon models) then you can use tiny textures - start at 512x512, but you can go lower.
i3 8350k 3GB GTX1060 8GB RAM Windows 10
3com
9
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 31st Jul 2019 08:14
Most of my models usually share texture because this.

There is a thin red line between the aesthetic and the convenient, in GG.
Repeating the same texture over and over again is not considered "politically correct" from the aesthetic point of view, but it seems to be convenient from the point of view of performance.

The same goes for a hight poly model aesthetically is much better, but in terms of performance it is not.

An engine would be fine without those limitations, but that's a lot to ask.
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 10 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics
cpu mark: 10396.6
2d graphics mark: 947.9
3d graphics mark: 8310.9
memory mark 2584.8
Disk mark: 1146.3
Passmark rating: 3662.4

PM
cybernescence
GameGuru Master
11
Years of Service
User Offline
Joined: 28th Jan 2013
Playing: Cogwheel Chronicles
Posted: 31st Jul 2019 09:10
I’d recommend that only use high poly models for signature pieces or where detail is really necessary and can be seen by the player. UU3D is great for reducing poly count.

And then add LOD levels to the high poly models. I wasn’t a fan of this approach, didn’t think it really mattered, but it really does make a huge difference once you fill your levels up.

This all depends on how much effort the dev wants to go to for a level. Another approach is just to make many smaller levels. Or have sparse larger levels.

I always use DDS. I’ve not done a formal comparison but I think file size varies between formats depending on the content of the texture. Sometimes png is larger sometimes not. Also depends on which DXT/BC compression is used. I mostly use DXT1.

Texture sizes per model can often be reduced dramatically without affecting visual appeal in game. Again this takes dev effort to work through the level and check. Now, I always ‘pre process’ purchased models and reduce textures to absolute minimum before adding that version to work in progress levels.

One other good thing about using common textures across many models is that by default it ‘enforces’ a common look and feel across the game. Not always wanted of course but say for background and buildings it often really helps to build an environment that is consistent.

Cheers.
DannyD
5
Years of Service
User Offline
Joined: 30th Jun 2018
Location:
Posted: 31st Jul 2019 14:59
@cybernescence
Quote: "One other good thing about using common textures across many models is that by default it ‘enforces’ a common look and feel across the game. Not always wanted of course but say for background and buildings it often really helps to build an environment that is consistent. "


Exactly what I try with the cartoon series...

Nothing is impossible,
Your mind is the Limit!!!
Cubemaps -> Skymaps GUI creator - Thread
Super Fast File Scanner - Thread
PM
smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 31st Jul 2019 15:16
DDS in argb8 is supported by mobile but not sure if agk supports it... I was really confused why unity models worked in DDS on mobile but GG models didn't... Just comes down to the compression apparently.
lua guide for GG
https://steamcommunity.com/sharedfiles/filedetails/?id=398177770
windows 10
i5 @4ghz, 8gb ram, AMD R9 200 series , directx 11

Login to post a reply

Server time is: 2024-03-28 15:56:20
Your offset time is: 2024-03-28 15:56:20