Skip to content

Instantly share code, notes, and snippets.

@Evgenus
Created March 12, 2015 18:46
Show Gist options
  • Save Evgenus/5f5ca758bc0f9fb2c3be to your computer and use it in GitHub Desktop.
Save Evgenus/5f5ca758bc0f9fb2c3be to your computer and use it in GitHub Desktop.
using System;
using System.IO;
using System.Diagnostics;
public class HelloWorld
{
static public void Main ()
{
Console.CursorVisible = false;
var ScreenWidth = 640;
var ScreenHeight = 480;
var BytesPerPixel = 2;
var random = new Random();
var buffer = new Byte[ScreenWidth * ScreenHeight * BytesPerPixel ];
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for(var i = 0; i < 10; i++) {
using (var fb = new FileStream("/dev/fb0", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
random.NextBytes(buffer);
fb.Write(buffer, 0, buffer.Length);
fb.Close();
}
}
/*
var random = new Random();
var buffer = new Byte[ScreenWidth * ScreenHeight * BytesPerPixel ];
using(var mmf = MemoryMappedFile.CreateFromFile("/dev/fb0", FileMode.Open))
using(var accessor = mmf.CreateViewAccessor())
{
for(var i = 0; i < 100; i++) {
random.NextBytes(buffer);
accessor.WriteArray(0, buffer, 0, buffer.Length);
}
}
/**/
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine("RunTime " + elapsedTime);
Console.CursorVisible = true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment