caewok / fvtt-terrain-mapper

Paint coded terrain values on Foundry maps
MIT License
4 stars 4 forks source link

Performance hit when rediting a layer in grid mode #18

Closed Asnaia closed 2 months ago

Asnaia commented 8 months ago

Description

The terrain Mapper module introduce a huge CPU usage penalty during terrain layer edition.

The penalty is so high that each added square of a terrain takes up to 10 seconds to register which prevents effective usage for any map work.

Note that the terrain active effects are functional over tokens.

Trigger

Selecting the module's icon in the left side tool menu. Unselecting the tool relieves the performance penalty.

Expectation

Sub-second lag on edition, no performance loss in other areas of the application.

System

Foundry Virtual Tabletop: Version 11 Stable, 11.315 Game System: alienrpg, 3.1.6 Active Modules: 23 Performance Mode: 2

OS: Unknown Client: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) FoundryVirtualTabletop/11.315.0 Chrome/112.0.5615.204 Electron/24.8.5 Safari/537.36 GPU: ANGLE (NVIDIA, NVIDIA GeForce RTX 2070 Direct3D11 vs_5_0 ps_5_0, D3D11) Max Texture Size: 16384

Scene: 20736 x 20736 | Grid Size: 64 | Padding Percentage: 0.25 Walls: 1054 | Ambient Lights: 0 | Ambient Sounds: 0 | Tiles: 0 | Tokens: 8

Actors: 72 | Items: 248 | Journal Entries: 8 | Rollable Tables: 42 | Playlists: 4 | Compendium Packs: 5 | Chat Messages: 0

caewok commented 6 months ago

Your scene is larger than what Foundry claims to support: 16384 x 16384. And a lot of computers won't go beyond 8192 x 8192. So yes, I expect a performance hit on a scene that big. It is because the UI is being rendered for every pixel on that map. I already cut the resolution of that to 25% of the actual total pixels, but it is still probably a hit.

Foundry v12 is supposed to introduce "regions." I may switch to using those, which are based in polygons and not pixels. I will revisit performance of the UI at that time and see if it is worth refactoring things for speed and features.

caewok commented 2 months ago

Try in Foundry v12.