Changes between Version 7 and Version 8 of MapGuideRfc90
- Timestamp:
- 11/04/10 01:13:29 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc90
v7 v8 20 20 == Overview == 21 21 22 Add support internally to the MapGuide Server Engine to render largertiles23 and then slice them up into the normal tile sizes22 Add support internally to the MapGuide Server Engine to map tile requests to larger meta tiles 23 and then slice them up into the standard tile sizes. 24 24 25 25 == Motivation == 26 26 27 With complex maps, it's more effic ent to render one large tile than many small ones.27 With complex maps, it's more efficient to render one large tile than many small ones. 28 28 There is little or no benefit for simple maps like the Sheboygan Sample.[[BR]] 29 29 30 Using our 140 layer example map we can observe rthe following timing using metatilefactor 1 & 430 Using our 140 layer example map we can observe the following timing using metatilefactor 1 & 4 31 31 and 3 different locking strategies in the attached chart MetatilingChart1.jpg. 32 32 33 33 == Proposed Solution == 34 34 35 Add a meta tile factor to the tile service, which then will render larger tiles 36 and then slice them up into the smaller tiles which get served to clients. 35 Add a meta tile factor to the tile service, which then will render larger tiles enlarged by the provided factor. 36 to be sliced up into the smaller tiles which then get served to clients. 37 e.g.[[BR]] 38 Client -> GetTile(0,1) -> RenderMetaTile(0,0 - 1,1) -> SplitUp -> ReturnTile (0,1) 39 -> GetTile(1,1) -> wait................................... ReturnTile (1,1) 37 40 38 41 == Issues == 39 42 40 43 Locking the threads to the implicit producer consumer scheme is complex and 41 file locking seems not very efficient. To improve polling delay the Polling44 the file locking seems not very efficient. To improve polling delay the Polling 42 45 configuration value has been changed to ms semantics so we can specify 500ms. 43 46 44 In addition a ace_condition has been implemented to get rid of the lockfiles47 In addition an ace_condition has been implemented to get rid of the lockfiles 45 48 all together and further improve the response time. (LockMethod == 3) 46 49 In addition to the standard approach with one lock per sub tile (LockMethod == 2) … … 49 52 == Implications == 50 53 51 When using a meta tiling factor of 4, 15 tiles will wait while the meta tile is rendered54 For example when using a meta tiling factor of 4, 15 tiles will wait while the meta tile is rendered 52 55 and sliced up. A most efficient locking scheme will have significant effect on this behaviour. 53 56 … … 55 58 == Test Plan == 56 59 57 The output of a tile map request should be indentical whether served 58 with meta tiling enabled or without. 60 The output of a tile map request should be identical whether served with meta tiling enabled or without. 59 61 60 62 == Funding/Resources ==