Just so we're clear, the original purpose of `gstate_c.framebufChanged` was for caching.  In a profile, I found that iirc 2-3% of the time PPSSPP was running, it was simply recalculating the same values in `SetRenderFrameBuffer()`.  That seemed both expensive and silly, since it was getting the same result each time.

It's possible this part should still be checked, looking at it (I think it's newer):

```
	// ugly...
	if (gstate_c.curRTWidth != vfb->width || gstate_c.curRTHeight != vfb->height) {
		shaderManager_->DirtyUniform(DIRTY_PROJTHROUGHMATRIX);
		gstate_c.curRTWidth = vfb->width;
		gstate_c.curRTHeight = vfb->height;
	}
```

Otherwise, the idea was to skip things that had the same inputs, and just set `gstate_c.framebufChanged` to true when anything that would make the function worthwhile was actually changed.  This cut the time in `SetRenderFrameBuffer()` significantly.

`gstate_c.framebufChanged` doesn't have any PSP meaning or anything.  It's simply to skip expensive computation.

If you restore the `gstate_c.framebufChanged = false;`, it will never be true inside `GuessDrawingSize()`.  If you move it down below `GuessDrawingSize()`, then `gstate_c.framebufChanged` will always be true.  It's used to determine when to call `GuessDrawingSize()`, so I don't think it can possibly be useful to use as a factor in the arithmetic.

If you want to use `gstate_c.framebufChanged` inside `GuessDrawingSize()`, it will 100% of the time have exactly the same value.  Instead, you can replace all occurences of `gstate_c.framebufChanged` inside `GuessDrawingSize()` with a constant value (e.g. `true`) instead.  If you think putting `true` there instead is wrong, then putting `gstate_c.framebufChanged` is also wrong.

It's basically this:

```
bool pressedA = getch() == 'a';
if (pressedA)
   printf("You pressed: %s\n", pressedA ? "a" : "something else");
else
   printf("You did not press a.\n");
```

In the above, inside the printf() lines, `pressedA` is a constant.  It's impossible for "something else" to ever be printed.  The above is exactly equivalent to:

```
bool pressedA = getch() == 'a';
if (pressedA)
   printf("You pressed: %s\n", true ? "a" : "something else");
else
   printf("You did not press a.\n");
```

This is what I mean about `gstate_c.framebufChanged`.  Inside `GuessDrawingSize()`, it's always the same value (its value only depends on whether you call `GuessDrawingSize()` before or after setting it to false.)

-[Unknown]