Opened 10 years ago

Last modified 8 months ago

#6073 new bug

GLTeapot Irregular FPS

Reported by: cb88 Owned by: nobody
Priority: normal Milestone: R1
Component: Applications/GLTeapot Version: R1/alpha2
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

On my system GLTeapot usually runs at nearly 300fps.

Currently it is running around 140fps and it will apparently randomly drop to around 70fps. The CPU usage stays around 50% in top all the while so I am not sure what the issue is...I tried chart and it doesn't seem affected. Would some debugging features in the trunk build cause this, I could understand a consistent drop but this seems like a bug?

hrev36930 gcc2hybrid

Change History (9)

comment:1 by stippi, 10 years ago

Most likely caused by your CPU overheating and beginning to drop beats. Is this on a laptop? Please repeat the test after your had your machine turned off for a little while.

comment:2 by cb88, 10 years ago

This is a K10 laptop. ACPI is disabled...APM is on and I highly doubt that it is overheating since it can get quite hot without downclocking while running Linux though it could be inbuilt thermal protection I *really* doubt this though since it wasn't hot at the time and is fairly well ventilated and the fan has remained on low... I do not believe Haiku supports K8/K10 power management either.

If this is really what is happening it would seem it is not running @ 2Ghz at all but only in the 1.4Ghz and 800Mhz states

Is there a way to determine the current CPU frequency? I just booted it into haiku (after sitting mostly idle on a Linux console) its slightly warm but definitely nothing near where it should be downclocking. I let it set later today and cool off.. and see if that affects it.

in reply to:  2 comment:3 by bonefish, 10 years ago

Replying to cb88:

This is a K10 laptop. ACPI is disabled...APM is on and I highly doubt that it is overheating since it can get quite hot without downclocking while running Linux though it could be inbuilt thermal protection I *really* doubt this though since it wasn't hot at the time and is fairly well ventilated and the fan has remained on low... I do not believe Haiku supports K8/K10 power management either.

Note that there are a whole bunch of different power/thermal management mechanisms. Some Intel processors -- I wouldn't be surprised, if AMD implemented something similar (or even the same) -- sport automatic thermal monitoring/protection. The CPU has one or more thermal sensors which when certain (factory-set or software programmed) thresholds are reached cause the CPU to modulate its clock duty cycle (i.e. keep the frequency, but e.g. only work every other tick), reduce the frequency, or even shut down completely. Depending on the processor model some of those mechanisms can be programmed by software, but since Haiku doesn't do any such thing, the CPU's default settings or whatever the BIOS set up will be active when Haiku is running.

If this is really what is happening it would seem it is not running @ 2Ghz at all but only in the 1.4Ghz and 800Mhz states

Is there a way to determine the current CPU frequency?

Nope, at least not for AMD CPUs.

comment:4 by stargatefan, 9 years ago

my amd k10 core cpu frequency reports properly in pulse.

Last edited 9 years ago by stargatefan (previous) (diff)

in reply to:  4 comment:5 by phoudoin, 9 years ago

Replying to stargatefan:

my amd k10 core cpu frequency reports properly in pulse.

Pulse call system_info() to get the cpu clock speed. This clock speed is retrieved at kernel startup only. So the reported cpu frequency displayed by Pulse is always the one at kernel startup, even if the current actual have changed since.

comment:6 by kallisti5, 8 years ago

I should note that after all the Mesa work, the exact same thing still happens. The long term move to a llvmsoftpipe in gcc4 images may fix the issue... however it definitely seems like a cpu throttling issue given the "quick" then "slow" cycle.

If Haiku gets a hardware mouse cursor, double buffering can be enabled (which also may solve the issue).

comment:7 by diver, 8 years ago

Component: - GeneralApplications/GLTeapot

comment:8 by pulkomandy, 5 years ago

glteapot now waits for retrace so it will limit itself to the display refresh rate. Is that an acceptable solution?

comment:9 by cocobean, 20 months ago

Last edited 8 months ago by cocobean (previous) (diff)
Note: See TracTickets for help on using tickets.