I understand we are trying to use 3D objects, but how does the 3 dimension variables and calculations translate into the 2D screen. How can it be adjusted and rescaled for the representation on screen?

ncastaneda02

As far as I'm aware, the three dimensional calculations are essentially projected onto the plane of the viewport using the classic projection formula from linear algebra. If you were to change the size of the viewport, you have to recalculate the projection onto the new 2D plane. That's why games tend to lag when you change the window size - it has to redo all of the projection computation.

countermoe

I'm not sure this is what causes games to lag when resolution is changed, I have no definitely proof but I would assume more lag comes from operating system stuff switching between exclusive fullscreen and other resolutions, but it would also be interesting to see why games tend to stutter even when switching between arbitrary resolutions in windowed. To get back on topic, it would be interesting to see how rendering engines would deal with an arbitrary change in resolution, and if they would dump any temporal information accumulated so far.

ld184

I think the reason is that most engines abuses cache, the stutter from resolution changes probably comes from cache invalidation, etc.

I understand we are trying to use 3D objects, but how does the 3 dimension variables and calculations translate into the 2D screen. How can it be adjusted and rescaled for the representation on screen?

As far as I'm aware, the three dimensional calculations are essentially projected onto the plane of the viewport using the classic projection formula from linear algebra. If you were to change the size of the viewport, you have to recalculate the projection onto the new 2D plane. That's why games tend to lag when you change the window size - it has to redo all of the projection computation.

I'm not sure this is what causes games to lag when resolution is changed, I have no definitely proof but I would assume more lag comes from operating system stuff switching between exclusive fullscreen and other resolutions, but it would also be interesting to see why games tend to stutter even when switching between arbitrary resolutions in windowed. To get back on topic, it would be interesting to see how rendering engines would deal with an arbitrary change in resolution, and if they would dump any temporal information accumulated so far.

I think the reason is that most engines abuses cache, the stutter from resolution changes probably comes from cache invalidation, etc.