1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2026-01-02 10:43:31 +00:00

Optimised the test module for an accurate perf indication

This commit is contained in:
SpoinkyNL 2019-12-03 00:25:02 +01:00
parent 96a057df23
commit de45bcb443

View File

@ -59,7 +59,6 @@ namespace Artemis.Plugins.Modules.General
public override void Render(double deltaTime, ArtemisSurface surface, SKCanvas canvas) public override void Render(double deltaTime, ArtemisSurface surface, SKCanvas canvas)
{ {
return;
foreach (var device in surface.Devices) foreach (var device in surface.Devices)
{ {
using (var bitmap = new SKBitmap(new SKImageInfo((int) device.RenderRectangle.Width, (int) device.RenderRectangle.Height))) using (var bitmap = new SKBitmap(new SKImageInfo((int) device.RenderRectangle.Width, (int) device.RenderRectangle.Height)))
@ -67,21 +66,21 @@ namespace Artemis.Plugins.Modules.General
using (var layerCanvas = new SKCanvas(bitmap)) using (var layerCanvas = new SKCanvas(bitmap))
{ {
layerCanvas.Clear(); layerCanvas.Clear();
SKShader shader = null;
var shader = SKShader.CreateLinearGradient( if (DeviceShaders.ContainsKey(device))
new SKPoint(0, 0), shader = DeviceShaders[device];
new SKPoint(device.RenderRectangle.Width, 0), else
RainbowColors.ToArray(),
null,
SKShaderTileMode.Clamp);
// use the shader
var paint = new SKPaint
{ {
Shader = shader shader = SKShader.CreateLinearGradient(
}; new SKPoint(0, 0),
new SKPoint(device.RenderRectangle.Width, 0),
RainbowColors.ToArray(),
null,
SKShaderTileMode.Clamp);
DeviceShaders.Add(device, shader);
}
layerCanvas.DrawRect(0, 0, device.RenderRectangle.Width, device.RenderRectangle.Height, paint); layerCanvas.DrawRect(0, 0, device.RenderRectangle.Width, device.RenderRectangle.Height, new SKPaint {Shader = shader});
} }
var bitmapShader = SKShader.CreateBitmap(bitmap, SKShaderTileMode.Repeat, SKShaderTileMode.Repeat); var bitmapShader = SKShader.CreateBitmap(bitmap, SKShaderTileMode.Repeat, SKShaderTileMode.Repeat);