mirror of
https://github.com/opensim/opensim.git
synced 2026-05-18 04:45:35 +08:00
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using OpenSim.Region.Environment.Scenes;
|
|
using libsecondlife;
|
|
using OpenSim.Framework.Types;
|
|
using System.Timers;
|
|
using System.Diagnostics;
|
|
|
|
namespace SimpleApp
|
|
{
|
|
public class MySceneObject : SceneObject
|
|
{
|
|
private PerformanceCounter m_counter;
|
|
|
|
public MySceneObject(Scene world, EventManager eventManager, LLUUID ownerID, uint localID, LLVector3 pos, PrimitiveBaseShape shape)
|
|
: base(world, eventManager, ownerID, localID, pos, shape )
|
|
{
|
|
String objectName = "Processor";
|
|
String counterName = "% Processor Time";
|
|
String instanceName = "_Total";
|
|
|
|
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
|
|
|
|
Timer timer = new Timer();
|
|
timer.Enabled = true;
|
|
timer.Interval = 100;
|
|
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
|
|
|
|
}
|
|
|
|
public void Heartbeat(object sender, EventArgs e)
|
|
{
|
|
float cpu = m_counter.NextValue() / 40f;
|
|
LLVector3 size = new LLVector3(cpu, cpu, cpu);
|
|
rootPrimitive.ResizeGoup( size );
|
|
update();
|
|
}
|
|
}
|
|
}
|