diff --git a/gui/animation.cpp b/gui/animation.cpp
index ed32da4..e8bbd2d 100644
--- a/gui/animation.cpp
+++ b/gui/animation.cpp
@@ -126,7 +126,7 @@
 	if (mLoop == -2)		return 0;
 
 	// Determine if we need the next frame yet...
-	if (++mUpdateCount > 30 / mFPS)
+	if (++mUpdateCount > TW_FRAMERATE / mFPS)
 	{
 		mUpdateCount = 0;
 		if (++mFrame >= mAnimation->GetResourceCount())
diff --git a/gui/gui.cpp b/gui/gui.cpp
index bb80632..e905812 100755
--- a/gui/gui.cpp
+++ b/gui/gui.cpp
@@ -528,9 +528,9 @@
 
 		timespec diff = TWFunc::timespec_diff(lastCall, curTime);
 
-		// This is really 2 or 30 times per second
+		// This is really 2 or TW_FRAMERATE times per second
 		// As long as we get events, increase the timeout so we can catch up with input
-		long timeout = got_event ? 500000000 : 33333333;
+		long timeout = got_event ? 500000000 : (1.0 / TW_FRAMERATE * 1000000000);
 
 		if (diff.tv_sec || diff.tv_nsec > timeout)
 		{
diff --git a/gui/libguitwrp_defaults.go b/gui/libguitwrp_defaults.go
index 9d7dcef..472836e 100644
--- a/gui/libguitwrp_defaults.go
+++ b/gui/libguitwrp_defaults.go
@@ -323,6 +323,10 @@
 		cflags = append(cflags, "-DTW_H_OFFSET="+getMakeVars(ctx, "TW_H_OFFSET"))
 	}
 
+        if getMakeVars(ctx, "TW_FRAMERATE") != "" {
+                cflags = append(cflags, "-DTW_FRAMERATE="+getMakeVars(ctx, "TW_FRAMERATE"))
+        }
+
 	if getMakeVars(ctx, "TW_ROUND_SCREEN") == "true" {
 		cflags = append(cflags, "-DTW_ROUND_SCREEN")
 	}
diff --git a/gui/objects.hpp b/gui/objects.hpp
index 89cb742..e965255 100755
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -49,6 +49,10 @@
 #define TW_H_OFFSET 0
 #endif
 
+#ifndef TW_FRAMERATE
+#define TW_FRAMERATE 30
+#endif
+
 class RenderObject
 {
 public:
