我有一个C# WinForms应用程序,我一直在将其转换为Blazor Wasm。它需要在大多数用户输入后执行一组计算密集型计算(即没有IO或UI交互)。这些计算涉及重复调用一组25-35个C#类对象中的多个方法(30-50次),具体取决于情况。相同的计算代码在WinForms和Blazor应用程序中运行。
我发现在Blazor下性能下降了约20倍(例如,在WinForms中为350ms,在Blazor中为7000ms)。这种程度的性能下降是否合理?其中很大一部分是否与在浏览器中运行有关?是否Blazor Wasm也是其中的一部分?我已经确认性能下降分布在整个计算过程中,而不是在某些隔离的地方。是否有任何方法可以显着减少性能下降?如果可能的话,执行计算的对象可以放在类库中是否有帮助?
我已在GitHub的AspNetCore讨论区发布了此问题,但没有得到回应。我使用的是VS Community 2019 v16.8.2,AspNetCore 5.0和Chrome v。
谢谢。史蒂夫
我发现在Blazor下性能下降了约20倍(例如,在WinForms中为350ms,在Blazor中为7000ms)。这种程度的性能下降是否合理?其中很大一部分是否与在浏览器中运行有关?是否Blazor Wasm也是其中的一部分?我已经确认性能下降分布在整个计算过程中,而不是在某些隔离的地方。是否有任何方法可以显着减少性能下降?如果可能的话,执行计算的对象可以放在类库中是否有帮助?
我已在GitHub的AspNetCore讨论区发布了此问题,但没有得到回应。我使用的是VS Community 2019 v16.8.2,AspNetCore 5.0和Chrome v。
谢谢。史蒂夫