📄 processorshow.inc
字号:
end;
//Transistors Quantity
if CPUInfo[index].nameinfo.technological.transistors='' then
begin
TranQV.Enabled:=false;
TranQ.Font.Color:=$00CDB098;
end
else
begin
TranQV.Caption:=CPUInfo[index].nameinfo.technological.transistors;
TranQV.Enabled:=true;
TranQ.Font.Color:=$008D4803;
TranQ.Enabled:=true;
end;
//Die Size
if CPUInfo[index].nameinfo.technological.diesize='' then
begin
DieSizeV.Enabled:=false;
DieSize.Font.Color:=$00CDB098;
end
else
begin
DieSizeV.Caption:=CPUInfo[index].nameinfo.technological.diesize;
DieSizeV.Enabled:=true;
DieSize.Font.Color:=$008D4803;
DieSize.Enabled:=true;
end;
//Logo
fPNGImage:=tPNGImage.Create;
LogoFileName:=GetLogoFileName(CPUInfo[index].nameinfo.procnum);
fBitmap:=nil;
try
fBitmap:=tBitmap.Create;
try
if FileExists(LogoFileName) then
begin
fPNGImage.LoadFromFile(LogoFileName);
fBitmap.Assign(fPNGImage);
LogoIm.Picture.Assign(fBitmap);
LogoB.Width:=LogoIm.Width+1;
LogoB.Left:=340-LogoIm.Width div 2;
LogoIm.Left:=LogoB.Left+1;
end;
finally
fPNGImage.Free;
end;
finally
fBitmap.Free;
end;
//Level1 data cache
Level1DataV.Caption:=IntToStr(CPUInfo[index].level1.dcache.size)+' KBytes';
//Level1 instruction cache
if not CPUInfo[index].level1.icache.is_trace then
begin
Level1Instr.Caption:='L1 Instructions';
Level1InstrV.Caption:=IntToStr(CPUInfo[index].level1.icache.size)+' KBytes';
end
else
begin
Level1Instr.Caption:='L1 Trace';
Level1InstrV.Caption:=IntToStr(CPUInfo[index].level1.icache.size)+' K礝ps';
end;
//Level2 cache
if not CPUInfo[index].level2.is_l2_cache then
begin
Level2V.Enabled:=false;
Level2.Font.Color:=$00CDB098;
end
else
begin
case CPUInfo[index].level2.CachePerCPU of
0,1: Level2V.Caption:=IntToStr(CPUInfo[index].level2.cache.size)+' KBytes';
else
Level2V.Caption:=IntToStr(CPUInfo[index].level2.CachePerCPU)+'x'+IntToStr(CPUInfo[index].level2.cache.size)+' KB';
end;
Level2V.Enabled:=true;
Level2.Font.Color:=$008D4803;
Level2.Enabled:=true;
end;
//Level3 cache
if not CPUInfo[index].level3.is_l3_cache then
begin
Level3V.Enabled:=false;
Level3.Font.Color:=$00CDB098;
end
else
begin
Level3V.Caption:=IntToStr(CPUInfo[index].level3.cache.size)+' KBytes';
Level3V.Enabled:=true;
Level3.Font.Color:=$008D4803;
Level3.Enabled:=true;
end;
//MMX, Ext. MMX
if CPUInfo[index].CPUfeatures.MMX=1 then
begin
if CPUInfo[index].CPUfeatures.MMXex=1 then FStr:=FStr+'MMX(+), '
else FStr:=FStr+'MMX, ';
end
else if CPUInfo[index].CPUfeatures.MMXex=1 then FStr:=FStr+'MMX+, ';
//3DNow!, 3DNow!+
if CPUInfo[index].CPUfeatures.f3DNow=1 then
begin
if CPUInfo[index].CPUfeatures.f3DNowex=1 then FStr:=FStr+'3DNow!(+), '
else FStr:=FStr+'3DNow!, ';
end
else if CPUInfo[index].CPUfeatures.f3DNowex=1 then FStr:=FStr+'3DNow!+, ';
//SSE
if CPUInfo[index].CPUfeatures.SSE=1 then FStr:=FStr+'SSE, ';
//SSE2
if CPUInfo[index].CPUfeatures.SSE2=1 then FStr:=FStr+'SSE2, ';
//SSE3
if CPUInfo[index].CPUfeatures.SSE3=1 then FStr:=FStr+'SSE3, ';
//AA64, EM64T
if CPUInfo[index].CPUfeatures.AA64=1 then
if CPUInfo[index].FlagBrand=amd then FStr:=FStr+'AA64, '
else if CPUInfo[index].FlagBrand=intel then FStr:=FStr+'EM64T, ';
if FStr<>'' then
begin
Delete(FStr, Length(FStr)-1, 2);
FeaturesV.Caption:=FStr;
FeaturesV.Enabled:=true;
Features.Font.Color:=$008D4803;
end
else
begin
FeaturesV.Enabled:=false;
Features.Font.Color:=$00CDB098;
end;
//Hyper Threading
if CPUInfo[index].CPUfeatures.HTT=1 then ExtFStr:=ExtFStr+'HT, ';
//NX bit
if CPUInfo[index].CPUfeatures.NX=1 then ExtFStr:=ExtFStr+'NX, ';
//VanderPool
if CPUInfo[index].CPUfeatures.VanderPool=1 then ExtFStr:=ExtFStr+'VanderPool, ';
if ExtFStr<>'' then
begin
Delete(ExtFStr, Length(ExtFStr)-1, 2);
ExtFeaturesV.Caption:=ExtFStr;
ExtFeaturesV.Enabled:=true;
ExtFeatures.Font.Color:=$008D4803;
end
else
begin
ExtFeaturesV.Enabled:=false;
ExtFeatures.Font.Color:=$00CDB098;
end;
except begin {nothing} end;
end;
LeaveCriticalSection(CriticalSection);
end;
procedure TMainFrm.ShowClocksInfo(index: byte);
begin
EnterCriticalSection(CriticalSection);
//Core frequency
if CPUInfo[index].Clocks.lpCpuFrequency=0 then
begin
CoreV.Enabled:=false;
Core.Font.Color:=$00CDB098;
end
else
begin
CoreV.Caption:=FormatFloat('0.0 MHz', CPUInfo[index].Clocks.lpCpuFrequency);
CoreV.Enabled:=true;
Core.Font.Color:=$008D4803;
Core.Enabled:=true;
end;
//Multiplier
if CPUInfo[index].Clocks.Multiplier=0 then
begin
MultiplierV.Enabled:=false;
Multiplier.Font.Color:=$00CDB098;
end
else
begin
MultiplierV.Caption:=FormatFloat('x 0.0', CPUInfo[index].Clocks.Multiplier);
MultiplierV.Enabled:=true;
Multiplier.Font.Color:=$008D4803;
Multiplier.Enabled:=true;
end;
if (CPUInfo[index].FlagBrand=amd) and (CPUInfo[index].CPUid_m.std_family=15) then Bus.Caption:='HTT';
//Bus frequency
if CPUInfo[index].Clocks.Bus=0 then
begin
BusV.Enabled:=false;
Bus.Font.Color:=$00CDB098;
end
else
begin
BusV.Caption:=FormatFloat('0.0 MHz', CPUInfo[index].Clocks.Bus);
BusV.Enabled:=true;
Bus.Font.Color:=$008D4803;
Bus.Enabled:=true;
end;
//Bus Speed frequency
if CPUInfo[index].Clocks.FSB=0 then
begin
BusSpeedV.Enabled:=false;
BusSpeed.Font.Color:=$00CDB098;
end
else
begin
BusSpeedV.Caption:=FormatFloat('0.0 MHz', CPUInfo[index].Clocks.FSB);
BusSpeedV.Enabled:=true;
BusSpeed.Font.Color:=$008D4803;
BusSpeed.Enabled:=true;
end;
//1.00
if Monitoring.ChipCount>=1 then
begin
Monitoring.CurrentChip:=1;
SensModV.Caption:=Monitoring.ChipNameStr+' on '+Monitoring.BusAccessStr;
SensModV.Enabled:=true;
SensMod.Font.Color:=$008D4803;
SensMod.Enabled:=true;
//Main page
Monitoring.CurrentChip:=VCoreSensor.ChipNum;
VCoreV.Caption:=FormatFloat('0.000 v', Monitoring.Voltage[VCoreSensor.Num, 0]);
VCoreV.Enabled:=true;
VCore.Font.Color:=$008D4803;
VCore.Enabled:=true;
Monitoring.CurrentChip:=CpuSensor.ChipNum;
TempV.Caption:=FormatFloat('00.0', Monitoring.Temperature[CpuSensor.Num])+'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -