Aressera said:
This is just plain wrong. PCIe 3.0 from 2010 has bandwidth of 15.75 GB/s for typical 16x GPU slot
You are googling theoretical pci-e bandwidths and thinking the malloc in your texture management code is what makes the texture upload slow.
Aressera said:
I don't think it's your place to tell me what I can and cannot do
If you are not seeking information, and you seek self justification: then you probably should not have opened this topic, and bought a parrot instead. That will repeat your thoughts for you.
Aressera said:
I can guarantee you that AAA games from even 4 years ago (e.g. RDR2) use at least 2GB for textures (I played on 4GB card and had some hiccups at higher settings).
You should play real games, and not aaa kino flyby techdemos to have realistic view over the type of graphics you can render. I am not surprised you arent speaking from programming experience and just quoting vague ,,i played this and that and thats how its done'' type nonsense.
Should i mention that 90% of people not even have a video card in a pci-e slot… they dont have video memory… and they dont have video card. They have an igp in their cpus. (and no, that still doesnt means you have unlimited bandwidth to it from your cpu)
Aressera said:
using BCn compression on textures, if you had read that, so I won't be using big uncompressed textures
I really havent read that part, here is my 1 cent on that: from 2008 to 2009 i used s3tc when uploading textures (letting opengl itself to compress the textures with the original s3tc texture compression implementation). Later i switched to arb texture compression in 2010 or so, went with that till 2013. It barely made any difference, it didnt helped on the memory utilization too much, and the only occasion it did, when it was used on super low end cards (which is the original intention of texture compression), otherwise it just introduced more problems than what it solved.
Aressera said:
I am making a planetary terrain renderer which may have hundreds of different rock/sediment types that could be used to render a scene
The terrain data - if it that complex - will be just as big problem as the textures themself. You are trying to balance two giant speed hogs, meanwhile you should understand that far aways objects will use mipmaps (if you allow them). Non used mipmap levels will be transferred out from the gpu and used levels back, creating giant hangs, or the driver just simply fails to do it and the entire thing will be dead slow if you are filling up the video memory too much. Using texture compression will introduce its own problem, first of all even if you trying to render a lot of texture data, there are only a given number of pixels on the screen, its not going to make your thing look better after a certain point in quality.
Good luck with your project, but i dont think your approach will result in a widely usable product.