Skip to content

Change: Optimize csv b3d object parser and object viewer autoreload performance#1264

Draft
adfriz wants to merge 2 commits into
leezer3:masterfrom
adfriz:parser-autoreload-optimization
Draft

Change: Optimize csv b3d object parser and object viewer autoreload performance#1264
adfriz wants to merge 2 commits into
leezer3:masterfrom
adfriz:parser-autoreload-optimization

Conversation

@adfriz

@adfriz adfriz commented Apr 15, 2026

Copy link
Copy Markdown
Contributor
  • Implement HashSet face lookup in Plugin.Parser.cs
  • Add IO caching for File.Exists results during texture loading.
  • Optimize NumberFormats.TrimInside to reduce allocations.
  • Implement partial reload in ObjectViewer via UnifiedObject caching.
  • Add descriptive code comments for better readability.

- Implement HashSet face lookup in Plugin.Parser.cs
- Add IO caching for File.Exists results during texture loading.
- Optimize NumberFormats.TrimInside to reduce allocations.
- Implement partial reload in ObjectViewer via UnifiedObject caching.
- Add descriptive code comments for better readability.
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@leezer3

leezer3 commented Apr 15, 2026

Copy link
Copy Markdown
Owner

Thanks.

As a small request-
Can you try and preserve the existing comments please.
I've found so many oddities over the years, it's very useful to know exactly why a hack has been added.

Other thoughts-
I'm not sure your FileExistsCache will work too well if a file is deleted or added. It's fine for a single load, but especially now we've got auto-reload kicking in, might want revisiting.

@adfriz

adfriz commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

Thanks.

As a small request- Can you try and preserve the existing comments please. I've found so many oddities over the years, it's very useful to know exactly why a hack has been added.

Other thoughts- I'm not sure your FileExistsCache will work too well if a file is deleted or added. It's fine for a single load, but especially now we've got auto-reload kicking in, might want revisiting.

ok, ill put the comment back.

it works on local builds but your concern is right, ill do more test about it and i think its better to put this PR as a draft.

@adfriz adfriz marked this pull request as draft April 15, 2026 13:58
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

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.

2 participants