Very important thing for emulation. Please expand upon this WIP article.
Integer scaling is scaling by a factor of a whole number, such as 2x, 3x, 4x, etc. In RetroArch, this option scales the image up to the greatest integer scale below the set resolution. So for instance, if you set your fullscreen resolution to 1920x1080 and enable integer scaling, it will only scale a 320x240 image up to 1280x960, and leave black borders all around. This is to maintain a 1:1 pixel ratio with the original source image, so that pixels are not unevenly duplicated.
Non-integer scaling is particularly adverse when the image is scaled by factor below 2. For example, increasing the resolution by 1.5x will result in heavily warped and uneven pixel distribution.
Scaling 2D/3D mix
Because not all systems use the same resolution, if you want them to be native resolution on your CRT Monitor you either have to make a different custom resolution for each game, OR you can make one resolution that has a really high horizontal res, scale games to fit that resolution, and send that to your CRT which gets squished to 4:3. The latter is the better option since you don't have to change resolutions for every game you play, and bonus points if the horizontal res is an integer scale of several common console resolutions (3840 is a common multiple of 240, 256, and 384)