Hii Jonne, When I use --no_async_asset_load command line parameter then also sometimes (2 out 5) "ran out of memory" error occurs. I have used .tga and .png formats for texture. I think its better to use .dds to see better results. I also encounter some transparency issues when using .png, .jpg, .tga textures such as over a plant, tree or vehicle rim, etc. How this can be recctified?
~Regards, Vaibhav Vaidya On Sat, Mar 31, 2012 at 9:36 PM, Jonne Nauha <[email protected]> wrote: > The only difference between local and http assets is that mesh, skeleton > and texture assets will be loaded asynchronously, meaning we pass the file > path to our asset cache for the file to Ogre and let its background worker > (separate thread) load the asset and inform us once its done. > > I think the threaded way might be more prone to crash when you are close > to running out of memory. You can disable this threaded loading completely > with startup parameter --no_async_asset_load as you can see here > https://github.com/realXtend/naali/blob/tundra2/src/Core/OgreRenderingModule/TextureAsset.cpp#L73 > > local:// refs are never loaded with the thread as their disk source can be > from anywhere. And we would need to add every local storage path and > recursively all of its sub folders into ogre as a asset location. At the > time of implementing this I saw this not to be important and it would make > messy code. We could inspect if ogre knows to search sub dirs in locations, > meaning that we would only need to pass the root for all local storages and > then use threaded loading with the disk source filename. It would be nice > to get the loading path exactly the same for all storage assets, so we > could detect bugs like you have here (local not crashing, same web assets > crashing). > > Anyway, profiler is your friend! View -> Profiler or 'prof' in console. > This thing will tell you everything you need and more. Ogre tab shows > totals of used memory. Textures can sort you the biggest memory spenders so > you know what textures you should optimize. Prefer making your textures > .dds DXT1 when you dont need alpha and DXT3 if you need alpha. There are > plugins to photoshop and others to convert other formats to dds. Microsoft > DirextX SDK gives you texconv.exe command line tool and Ludocraft has > written this > https://github.com/realXtend/naali/tree/tundra2/tools/TextureTool it is > located in tundra source repo /tools/TextureTool just go there and build > it. Seems like once its done you can use this > https://github.com/realXtend/naali/blob/tundra2/tools/TextureTool/ConvertAll.cmd > read > instructions there. > > Best regards, > Jonne Nauha > Adminotech developer > > > > On Sat, Mar 31, 2012 at 6:17 PM, Vik <[email protected]> wrote: > >> Hi, >> When i saw this message, I just lowered resolution of some textures >> (some *.png was as 2000x1000)... >> But if this on same machine and same video-card, only from different >> repository, It is strange... >> Vik. >> >> On Mar 31, 3:19 am, Vaibhav Vaidya <[email protected]> wrote: >> > Hii all, >> > >> > I have created a scene using a few 3D models. Earlier I had a local >> > repository and client was loading all the models with textures but now I >> > have setup a web server and hosted all the assets to the server. Now, >> when >> > I launch the client, it loads few assets and then I see the following >> error >> > multiple times on the console: >> > >> > Error: OGRE EXCEPTION(3:RenderingAPIException): Error creating texture: >> Ran >> > out of memory in D3D9Texture::_createNormTex at >> .\src\OgreD3D9Texture.cpp >> > (line 1109) >> > >> > How can this be rectified? >> > >> > ~Vaibhav >> >> -- >> http://groups.google.com/group/realxtend >> http://www.realxtend.org >> > > -- > http://groups.google.com/group/realxtend > http://www.realxtend.org > -- http://groups.google.com/group/realxtend http://www.realxtend.org
