This is my first time posting, but I am a fairly experienced OpenGL programmer.
I am building a 3d engine for commercial release, so I cannot reveal any source code... But
I am having a problem with a strange slowdown that occurs seemingly from calling glBindTexture.
As far as all of my past experience has taught me glBindTexture is simply a reference reassignment,
it shouldn't take much processor at all, but after I call 5 bindtextures for different objects, each binding
a png which is loaded with internal format as a Palette4_RGB8 that is 1024x1024, the entire program
starts to chug heavily. Before that, 4 bind calls for instance, no chugging, no lag.
I know the textures are fairly large but they are 16 color compressed bmps so shouldn't be that much of a strain.
Oddly enough it was the same number of bind commands that caused slowdown when I was loading them as full color quality RGBAs! Now I might not know everything about openGL, I'm certainly no expert, but this seems extremely wonky to me... Is there some kind of known hardware problem about a limit to the texture size able to be passed through bindTexture commands?
If anyone at all can shed some light on this mystery for me it would be extremely appreciated. I can squeeze a few more square pixels out of the system by binding smaller, 256x256, images per call, but not enough to try and compartmentalize the textures or lower their overall resolution. it seems like you can only bind a certain number of pixels to active textures per tick, regardless of memory size, before the buss overflows or you start paging to disk or whatever it is...
Sorry for ranting, I have been trying to fix this problem for 18 hours now and am quite frustrated. Thanks in advance for any help.