Svengali wrote:Ahruman wrote:However, 300 KiB per particle sounds like the texture isn’t being shared. (The texture is 256 KiB.) That would indicate a rather fundamental problem in texture caching. I’ll definitely look into that soon. (Gotta finish this whitelisting stuff first.)
Would be good. I might even have a poke around there myself (get my head around some more Objectionable C
). I did wonder about that a bit when fiddling with my compression patch. I got some noticeable slowdown whenever something exploded…
Svengali wrote:We still have users without shader-support, but probably this will change some day too .-)
Me, for one. (X300, xf86-video-ati 6.10.0, mesa 7.3-rc3. The hw's capable; the driver isn't – at least, not yet…?)
And something odd which I noticed on another computer to which I sometimes have access: running Vasti, I see no shaders support, but booting from a convenient Debian live CD, I see shaders support. (i965, recent oolite build on Vasti and a local snapshot build on Linux.)
(Edit) Looks like it was flare256.png being loaded a lot and discarded quickly. Might be worth locking that one in memory, perhaps?
Code: Select all
diff --git a/src/Core/Entities/ParticleEntity.m b/src/Core/Entities/ParticleEntity.m
--- a/src/Core/Entities/ParticleEntity.m
+++ b/src/Core/Entities/ParticleEntity.m
@@ -691,9 +691,10 @@ FAIL:
{
if (name != nil)
{
- const uint32_t options = kOOTextureNeverCompress;
- [texture autorelease];
- texture = [[OOTexture textureWithName:name inFolder:@"Textures" options:options] retain];
+// const uint32_t options = kOOTextureNeverCompress;
+ OOTexture *oldtexture = texture;
+ texture = [[OOTexture textureWithName:name inFolder:@"Textures" /*options:options*/] retain];
+ [oldtexture release];
}
}