我正在从带有EF核心的SQLite读取40,000个小对象/行,这花了18秒,对于我的UWP应用来说太长了。发生这种情况时,单个内核上的CPU使用率达到100%,但是磁盘读取速度约为1%。
var dataPoints = _db.DataPoints.AsNoTracking().ToArray();
Run Code Online (Sandbox Code Playgroud)
没有AsNoTracking()时间就更长了。
DataPoint是具有一些原始属性的小型POCO。我正在加载的数据总量为4.5 MB。
public class DataPointDto
{
[Key]
public ulong Id { get; set; }
[Required]
public DateTimeOffset TimeStamp { get; set; }
[Required]
public bool trueTime { get; set; }
[Required]
public double Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题:是否有更好的方法来装载这么多对象,还是我对这种性能水平感到困惑?
有趣的事实: x86花费11秒,x64花费18。“优化代码”节省了一秒钟。使用Async将执行时间推至30秒。
我有一个在地图上跟踪车辆的应用程序.但是我无法让小小的虫子朝着他们的运动方向旋转.基本上,所有这些都是侧身!啊!
Image vehicleImage = new Image
{
//Set image size and source
};
RenderTransform rotation= new RotateTransform{Angle = X};
vehicleImage.RenderTransfrom = rotation;
_mainMap.Children.Add(vehicleImage);
MapControl.SetLocation(vehicleImage, _position);
Run Code Online (Sandbox Code Playgroud)
放在地图上的图像似乎完全忽略了我尝试应用的任何角度.