SFML community forums
Help => Graphics => Topic started by: mbro2k on September 08, 2011, 06:50:44 am
-
I have always read that sprite sheets increase performance
by having all of the image cached in graphics memory.
However, I have found that using very large sprite sheets
up to 2048x2048 (I need to handle high-res drawn animations),
seem to make things worse for older graphics cards.
Specifically more stuttering and lower framerates when testing
a few older machines.
I compared some results when
just using separate textures(sf::Texture, formerly sf::Image)
for each frame, and it turned out much smoother(less stuttering
and framerate drops).
My guess is that these graphics cards have a problem caching textures
above 1024x1024 even though they can technically support them.
Is that possible?
-
I don't think so. As long as there's enough video memory available, the texture should be created and stored on the graphics card. I have no idea why bigger textures cause these problems.
-
Can you give some examples of the hardware you are running on?
We use SFML 2.0 with 9x 2048x2048 textures on a system with 2x 1280x1024 monitors and find no problems on most hardware. What framerate are you trying to hit?
-
Here are some of the older machine cards
Radeon 9200
Radeon 9800
Intel GMA X3100
I think the overall framerate is ok, aiming for 60.
It seems the main problem I am getting now is a hiccup/stutter/short-delay
while displaying an animation from a 2048 sheet for the first time.
But somehow when using smaller textures it handles things
better without pausing.
-
I think I was actually using too much graphics memory for the cards,
and it was just different caching results depending on the sizes
swapping in and out.