Skip to content

Parser and texture improvement bvets - #1389

Open
adfriz wants to merge 10 commits into
leezer3:masterfrom
adfriz:parser-and-texture-improvement-BVETS
Open

Parser and texture improvement bvets#1389
adfriz wants to merge 10 commits into
leezer3:masterfrom
adfriz:parser-and-texture-improvement-BVETS

Conversation

@adfriz

@adfriz adfriz commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

based on #1381. branched from commit be2ae7a

This one focused on BVE5/6 route loading.

Currently on my personal test can make the first load in route viewer to 11s and reload to 5s.

Tested with BVE6 uchibo v2.00 route

As usual, the speed is depends on the system specs and system load.

More focused on NewXparser but i tried to make it to affect assimpXparser too.

only tested on windows 11, test always use release build for better performance.

Also still has logging code.

adfriz added 10 commits August 12, 2026 14:41
- NewXParser: move key-based material definitions from a process-wide static
  dictionary into the per-parse state, preventing concurrently parsed .x files
  from overwriting each other's material labels (caused wrong/missing textures)
- TextureManager: serialise GDI+ texture decode during parallel route loading
  and use thread-safe caches for registered texture lookup
- ObjectLibrary: double-checked locking around cached texture origin decode
- PathOrigin/TextureParameters/ClipRegion: include parameters in equality and
  hash code so distinct texture variations are keyed correctly
- Route.Bve5: group track statements by rail key to avoid re-scanning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant