利用cpu使用率绘制图形
来源:互联网 发布:linux 时间 修改 编辑:程序博客网 时间:2024/06/05 00:18
1.正弦曲线
/// <summary> ///利用CPU使用率绘制正弦曲线 /// </summary> /// <param name="cpuNum">指定CPU,如第3个cpu (IntPtr)0x0004</param> public static void DrawSine(IntPtr cpuNum) { System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess(); p.ProcessorAffinity = cpuNum; const int SAMPLING_COUNT = 200; const double PI = 3.14159; const int TOTAL_AMPLITUDE = 250; double[] busySpan = new double[SAMPLING_COUNT]; int amplitude = (TOTAL_AMPLITUDE) / 2; double radian = 0.0; double radianIncreament = 2.0 / (double)SAMPLING_COUNT; for (int i = 0; i < SAMPLING_COUNT; i++) { busySpan[i] = (double)(amplitude + Math.Sin(PI * radian) * amplitude); radian += radianIncreament; } int startTick = Environment.TickCount; for (int j = 0; ; j = (j + 1) % SAMPLING_COUNT) { startTick = Environment.TickCount; while ((Environment.TickCount - startTick) < busySpan[j]) { // } System.Threading.Thread.Sleep(TOTAL_AMPLITUDE - (int)busySpan[j]); } }
2.脉冲信号
/// <summary> ///利用CPU使用率绘制脉冲信号 /// </summary> /// <param name="cpuNum">指定CPU,如第4个cpu (IntPtr)0x0008</param> public static void DrawPulse(IntPtr cpuNum) { System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess(); p.ProcessorAffinity = cpuNum; const int SAMPLING_COUNT = 200; const int TOTAL_AMPLITUDE = 100; const int HIGHT_AMPLITUDE = 80; const int LOW_AMPLITUDE = 20; const int ChangeCount = SAMPLING_COUNT / 2; double[] busySpan = new double[SAMPLING_COUNT]; for (int i = 0; i < SAMPLING_COUNT; i++) { busySpan[i] = i < ChangeCount ? LOW_AMPLITUDE : HIGHT_AMPLITUDE; } int startTick = Environment.TickCount; for (int j = 0; ; j = (j + 1) % SAMPLING_COUNT) { startTick = Environment.TickCount; while ((Environment.TickCount - startTick) < busySpan[j]) { } System.Threading.Thread.Sleep(TOTAL_AMPLITUDE - (int)busySpan[j]); } }
3.测试效果
用C#编写程序,生成两个EXE,分别执行,效果如下:
0 0
- 利用cpu使用率绘制图形
- 利用JavaScript检测CPU使用率
- C# GDI+绘制的 使用率图形控件
- 利用HTML5绘制图形
- 利用未公布API获取CPU使用率
- 利用QPainter绘制各种图形
- 利用SVG path绘制图形--基本图形
- cpu使用率
- CPU使用率
- CPU使用率
- CPU使用率
- CPU使用率
- CPU使用率
- 压力测试时,利用Java让CPU使用率达到100%
- UITableViewCell的循环利用(CPU使用率的优化)
- 编写程序 控制cpu占用率-4 绘制CPU使用率的正弦曲线
- 写程序+控制cpu占用率-4+绘制CPU使用率的正弦曲线2+C#+实现
- 利用按钮自绘制作图形按钮
- 图解TC++3.0开发教程
- 纯CSS实现六边形布局的导航菜单
- OC 7
- [转]直接拿来用!最火的Android开源项目(二)
- 九度OJ题目1036:Old Bill
- 利用cpu使用率绘制图形
- 求绝对值最小的数
- Spring HTTP invoker RPC
- 用sencha touch+cordova(phoneGap)开发APP(一)——第一个界面
- 浅复制和深复制的区别
- OC 8
- (转)直接拿来用!最火的Android开源项目(三)
- Android项目之无线点餐(1)--点餐系统数据库设计
- OpenSceneGraph基础:Helloworld