Revision as of 01:42, 14 November 2007 (edit) BASys (Talk | contribs) m ← Previous diff |
Current revision (08:23, 11 June 2011) (edit) (undo) BASys (Talk | contribs) m |
| (46 intermediate revisions not shown.) |
| Line 1: |
Line 1: |
| - | == Overview == | + | {{Infobox-Applicable-FSVersion |
| - | Missing textures for aircraft / scenery will impact on FSX performance.<br> | + | | FSXI = false |
| - | Possibly resulting in - | + | | FSXA = true |
| | + | | FSX = true |
| | + | | FS2004 = false |
| | + | | FS2002 = false |
| | + | | FS2000 = unknown |
| | + | | FS98 = unknown |
| | + | }} |
| | + | '''Overview''' |
| | + | <br> |
| | + | Missing textures for aircraft / scenery will impact on FSX performance, possibly resulting in a render-stall. |
| | + | <br> |
| | + | |
| | + | Depending on your PC's ''currently available resources'', |
| | + | <br> |
| | + | the symptoms of which are, one or more of - |
| | * Objects rendered as transparent. | | * Objects rendered as transparent. |
| | * Objects rendered as disassociated components. | | * Objects rendered as disassociated components. |
| | * Screen artifacting | | * Screen artifacting |
| | * Reduced FPS. | | * Reduced FPS. |
| | + | * Illegible fonts on main and context menus, ATC window, kneeboard page titles, cockpit tooltips, multiplayer-chat window etc.. |
| | + | <br> |
| | + | |
| | + | The above issues can be caused by, (or further exacerbated by), |
| | + | <br> |
| | + | if the - |
| | + | * texture file is missing. |
| | + | * texture.'''EXT''' called by the model, differs from that present in the repaint folder. |
| | + | * texture is of a '''non-DXT''' format. |
| | + | <br> |
| | + | |
| | + | Modeler's particularly should note - |
| | + | <br> |
| | + | During build of your model, if you delete any part(s) that call textures unique to that part(s), |
| | + | <br> |
| | + | the related call to that texture, will still exist in your compiled model, (use a hex-editor to check). |
| | + | <br> |
| | + | |
| | + | On loading your model in-game, the model will still call that now "orphaned" texture, (even though the part(s) no longer exist). |
| | + | <br> |
| | + | <br> |
| | | | |
| | == Causes == | | == Causes == |
| - | The following | |
| | * File is missing from the relevant texture folder | | * File is missing from the relevant texture folder |
| - | * Missing texture.cfg | + | * Missing '''[[Texture.cfg - FSX|texture.cfg]]''' |
| - | * Incorrectly configured texture.cfg | + | * Incorrectly configured '''[[Texture.cfg - FSX|texture.cfg]]''' (FSX default a/c texture.cfg file is wrong) |
| | + | * Model is calling a file from the common texture folder, (e.g. envmaps). |
| | | | |
| | == Identifying == | | == Identifying == |
| - | Identify the filename of missing textures for both aircraft & scenery<br> | + | To identify the filename of missing textures, (simobject or scenery), |
| - | by adding the following lines to your fsx.CFG in the section titled <nowiki>[SCENERY]</nowiki> | + | <br> |
| - | | + | add the following lines to your fsx.CFG into the section titled '''[SCENERY]'''. |
| | <pre> | | <pre> |
| | [SCENERY] | | [SCENERY] |
| | // To show alerts or areas, set to = 1 | | // To show alerts or areas, set to = 1 |
| | + | // To hide alerts or areas, set to = 0 |
| | | | |
| | // Alert for missing textures | | // Alert for missing textures |
| Line 28: |
Line 64: |
| | | | |
| | // Render Trigger areas as visible boxes | | // Render Trigger areas as visible boxes |
| - | ShowTriggers=0 | + | ShowTriggers=1 |
| | </pre> | | </pre> |
| | + | FSX will now display an alert dialog identifiying the missing file / object, or render trigger areas. |
| | + | |
| | + | == Simobject texture search paths == |
| | + | In FSX/FSXA, the search mechanism for locating any simobject's texture |
| | + | <br> |
| | + | behaves as follows, and continues until a matching texture is located, or the cycle is completed. |
| | + | |
| | + | Entire cycle is repeated '''for every texture called by the model'''. |
| | + | |
| | + | === Searches For === |
| | + | 1) '''file.ext - As explicitly defined in the model.''' |
| | + | <br> |
| | + | 2) a matching .CAB file, (if CAB exists, will then search contents). |
| | + | <br> |
| | + | 3) .ext of opposite type, (i.e. if 1) was a .bmp, searches for . dds, and vice-versa). |
| | + | <br> |
| | + | 4) repeats 2) for the matching .CAB file, then searches for 3). |
| | + | |
| | + | |
| | + | If not found during steps 1-4), |
| | + | <br> |
| | + | FSX/FSXA then repeats '''every''' step above |
| | + | <br> |
| | + | for each fallback path defined, in a correctly written texture.cfg |
| | + | |
| | + | i.e. steps through - |
| | + | <br> |
| | + | fallback.1=..\texture |
| | + | <br> |
| | + | fallback.2=..\..\..\..\Scenery\Global\texture |
| | + | <br> |
| | + | fallback.3=..\..\..\..\Texture |
| | + | |
| | + | |
| | + | The search sequence will repeat whenever the model requires a reload. |
| | + | <br> |
| | + | e.g. If the viewport is cycled from VC/2D to external. |
| | + | |
| | + | === Example === |
| | + | An IRL FSX/FSXA example for an airplane model calling a ''.bmp'' texture. |
| | + | |
| | + | ==== Methodology ==== |
| | + | For this example - |
| | + | <br> |
| | + | The '''FINDME.bmp''' texture was deliberately removed from the system, |
| | + | <br> |
| | + | to force FSX to perform a '''full search-path traverse'''. |
| | + | |
| | + | I/O operation QueryOpen actions by fsx.exe, each resulted in a '''NAME NOT FOUND''' error. |
| | + | |
| | + | The first 4 paths listed, are for the aircraft's ''native'' folder. |
| | + | |
| | + | Each subsequent group of 4 paths,is for each of the 3 fallback paths. |
| | + | |
| | + | ==== Key ==== |
| | + | In the ''ProcMon'' logfile extract below - |
| | + | * MYFSXPATH - my drive & path to FSX's root folder, (concatenated for clarity). |
| | + | * TESTAIRCRAFT - The aircraft folder. |
| | + | * LIVERY - The repaint folder. |
| | + | * FINDME.bmp - The texture named in the model |
| | + | |
| | + | ==== Logfile data ==== |
| | + | Search path file-calls for the missing FINDME.BMP texture, (with a valid texture.cfg). |
| | + | <pre> |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.LIVERY\FINDME.bmp |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.LIVERY.CAB |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.LIVERY\FINDME.DDS |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.LIVERY.CAB |
| | + | |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture\FINDME.bmp |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.CAB |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture\FINDME.DDS |
| | + | MYFSXPATH\SimObjects\Airplanes\TESTAIRCRAFT\texture.CAB |
| | + | |
| | + | MYFSXPATH\Scenery\Global\Texture\FINDME.bmp |
| | + | MYFSXPATH\Scenery\Global\Texture.CAB |
| | + | MYFSXPATH\Scenery\Global\Texture\FINDME.DDS |
| | + | MYFSXPATH\Scenery\Global\Texture.CAB |
| | + | |
| | + | MYFSXPATH\Texture\FINDME.bmp |
| | + | MYFSXPATH\Texture.CAB |
| | + | MYFSXPATH\Texture\FINDME.DDS |
| | + | MYFSXPATH\Texture.CAB |
| | + | </pre> |
| | + | |
| | + | '''That's a lot of disk thrashing.''' |
| | + | <br> |
| | + | All CPU cycles utilised detract from FSX/FSXA FPS. |
| | + | |
| | + | == Related == |
| | | | |
| - | == Related content == | + | === Internal === |
| - | [[Texture.cfg - FSX]] | + | {{Template:Navbox-Textur-Related}} |
| | + | * [[SDK Installation (FSX)]] |
| | + | {{:Transclusion-FSX-Links-Related-Problem Resolving (FSX)}} |
| | | | |
| - | == External links == | + | === External === |
| - | Placeholder text | + | * [http://en.wikipedia.org/wiki/Direct3D Direct3D] - Exposes the advanced graphics capabilities of 3D graphics hardware, including z-buffering, anti-aliasing, alpha blending, mipmapping, atmospheric effects, and perspective-correct texture mapping. |
| | + | * [http://en.wikipedia.org/wiki/Bump_mapping Bump Mapping] - A technique to add details to shading without using more polygons. |
| | + | * [http://en.wikipedia.org/wiki/Normal_mapping Normal Mapping] - An enhancement of bump mapping. |
| | + | * [http://en.wikipedia.org/wiki/DirectDraw_Surface DirectDraw Surface - Wikipedia] (aka .dds) - A file format used for storing textures and cubic environment maps, both compressed and uncompressed. |
| | + | * [http://msdn2.microsoft.com/en-us/library/bb943990%28VS.85%29.aspx DirectDraw Surface - MSDN] (aka .dds) - A file format used for storing textures and cubic environment maps, both compressed and uncompressed. |
| | + | * [http://en.wikipedia.org/wiki/3Dc 3Dc] - A lossy data compression algorithm for normal maps invented and first implemented by ATI. It builds upon the earlier DXT5 algorithm and is an open standard. 3Dc is now implemented by both ATI and NVIDIA. |
| | | | |
| - | [[category:Aircraft design]] | + | [[Category:Aircraft Design]] |
| - | [[category:Scenery design]] | + | [[Category:Scenery Design]] |
| - | [[category:Missions]] | + | [[category:Texturing]] |
| | + | [[Category:File Formats]] |
On loading your model in-game, the model will still call that now "orphaned" texture, (even though the part(s) no longer exist).
FSX will now display an alert dialog identifiying the missing file / object, or render trigger areas.
i.e. steps through -
fallback.1=..\texture
fallback.2=..\..\..\..\Scenery\Global\texture
fallback.3=..\..\..\..\Texture
Each subsequent group of 4 paths,is for each of the 3 fallback paths.
Search path file-calls for the missing FINDME.BMP texture, (with a valid texture.cfg).