Jump to content

zsuatem

Very supportive Vintarian
  • Posts

    3
  • Joined

  • Last visited

Everything posted by zsuatem

  1. That last ArrayConvert.Build method made me curious, so I ran a quick BenchmarkDotNet comparison between the original loop-based version and a simple Buffer.BlockCopy implementation. Release build, .NET 10.0.3. Method Size Mean Error StdDev Median Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio Original 4096 4,094.5 ns 74.51 ns 73.17 ns 4,078.0 ns 1.00 0.02 0.9766 - - 8.03 KB 1.00 BlockCopy 4096 366.6 ns 15.12 ns 44.35 ns 353.9 ns 0.09 0.01 0.9823 - - 8.03 KB 1.00 Original 16384 16,381.6 ns 322.53 ns 345.11 ns 16,307.2 ns 1.00 0.03 3.8757 - - 32.03 KB 1.00 BlockCopy 16384 1,409.2 ns 28.47 ns 75.50 ns 1,399.4 ns 0.09 0.00 3.9043 - - 32.03 KB 1.00 Original 65536 86,562.0 ns 1,688.07 ns 2,474.35 ns 85,771.1 ns 1.00 0.04 41.6260 41.6260 41.6260 128.04 KB 1.00 BlockCopy 65536 36,093.2 ns 713.88 ns 1,192.74 ns 35,702.5 ns 0.42 0.02 41.6260 41.6260 41.6260 128.04 KB 1.00 For smaller sizes (4–16 KB) the difference is roughly ~10×. For larger buffers (64 KB) the gap shrinks, but it’s still noticeably faster. Allocations are identical in both cases (one byte[] per call), so this is purely a copy-performance difference. Just sharing the numbers since your post made me dig into this part out of curiosity For reference, this is the version I tested:
  2. No one has mentioned this yet, but the game contains many contextual hints about what a key combined with RMB or LMB does. However, some of them are broken, not fully implemented, or simply don’t appear. As someone involved in translating the game, I think it would be good to finally implement a proper pluralization system (there are plenty of libraries that handle this) because the current one doesn’t work correctly in many languages. It would also be helpful to review the code and fix oddly structured phrases for example, generating material names by removing "ingot." What if, in a particular language, the word for an ingot is completely different? Additionally, some phrases don’t show up at all, while others appear in the game but cannot be translated.
  3. zsuatem

    .NET 6

    It has been a year since this question about plans to move Vintage Story from .NET Framework 4.x to .NET 5. In the meantime, .NET 6 came out which is a LTS release, and they are also running a lot of optimizations. So, my question is if there are plans with moving to .NET 6 especially since the tools to facilitate such a change also work better. https://docs.microsoft.com/en-us/dotnet/core/porting/
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.