Ian Qvist

Results 48 comments of Ian Qvist

The trick with float = double can also be done in solutions where Velcro provide a vector2 class.

@ilexp > This has potential to be a major performance sink, as that would mean virtual method calls for any IVector2 API invocation. In good old .NET framework days when...

@craftworkgames XNA was the same way. I think the whole .NET Core movement is the right way to go though, so I'm pushing for a [.NET Core based MonoGame](https://github.com/MonoGame/MonoGame/issues/5339). .NET...

@ilexp You are completely right. I used to target Xbox and Windows Phone and factored optimizations on those platforms into it as well. The fact is that we are talking...

.NET Standard is just a formalization of PCL, so now we at least have a standard process for expressing framework interfaces across libraries and platforms. At least, that is the...

Do you mean with .NET Standard as the target? Velcro is already targeting MonoGame, just only the .NET Framework 4.5 for now, I have not tried the PCL, but it...

.NET Standard and .NET Core are very confusing technologies for most people. The thousands of questions on Stackoverflow makes that evident. When .NET Core 1.0 was first released, it had...

I have some numbers from solution 1. Using Velcro's own Vector2 classes provided from MonoGame: ![old](https://cloud.githubusercontent.com/assets/657616/25065754/5355d822-2215-11e7-8e78-bcf040777f2d.png) Using System.Numerics.Vector2 instead: ![new](https://cloud.githubusercontent.com/assets/657616/25065774/9c63ea68-2215-11e7-8369-3c5996c36d40.png) Note that System.Numerics uses hardware acceleration if it is present....

To confirm that we are talking about memory pressure and cache coherence, I did some micro benchmarks on both MonoGame Vector2 and System.Numerics Vector2. In theory, the System.Numerics one would...

A note regarding virtual calls: RyuJIT x64 supports devirtualization, but 32bit code still used JIT32, so many of the optimizations were left out. With .NET Core 2.0, [RyuJIT will replace...