Loonie
Active Member
- Joined
- Apr 1, 2003
- Messages
- 753
Hello programmer types with Pandora experience,
I'm creating some elaborate bitmap transforms for a game background, basically precalculated stuff stored in a2D one-dimensional integer array. The array contains which pixel of the bitmap should be displayed in which pixel of screen. This is all working great, except as you can guess from the title, I'm running into some performance issues.
The arrays are getting cached, but since the image array is accessed in a rather non-uniform fashion (especially with the more complex and fancy transforms), I am running into some rather costly performance issues with what appear to be cache misses. It seems to be to such an extent that performance would be improved if the arrays were not cached at all.
I understand cache misses are quite severe with this architecture. What tricks are there for getting around this? I could reduce the amount of data by using tricks like pixel-doubling, but I would rather use the full resolution, as it looks pretty damn nice. I may not have much choice though.
Is there a way to access arrays directly from the memory and not have them get cached, or is this something I have no control over? Any performance enhancing tricks I'm unaware of? Perhaps goat sacrifice to the dark snake-headed lord?
Edited because: derp.
I'm creating some elaborate bitmap transforms for a game background, basically precalculated stuff stored in a
The arrays are getting cached, but since the image array is accessed in a rather non-uniform fashion (especially with the more complex and fancy transforms), I am running into some rather costly performance issues with what appear to be cache misses. It seems to be to such an extent that performance would be improved if the arrays were not cached at all.
I understand cache misses are quite severe with this architecture. What tricks are there for getting around this? I could reduce the amount of data by using tricks like pixel-doubling, but I would rather use the full resolution, as it looks pretty damn nice. I may not have much choice though.
Is there a way to access arrays directly from the memory and not have them get cached, or is this something I have no control over? Any performance enhancing tricks I'm unaware of? Perhaps goat sacrifice to the dark snake-headed lord?
Edited because: derp.
Last edited by a moderator: