EDIT 2016-07-04(Since this question is getting popular): This is a bug in Chrome. Developers are actively working on a fix.
EDIT 2017-05-14<
2019-04-15, still happening to me in Chrome. Found that changing position: fixed to absolute fixed it:
position: fixed
absolute
.popup { position: absolute; <-- just like that top: 50%; left: 50%; transform: translate(-50%, -50%); }
Using absolute may or may not suit your particular case, just my 2 cents.