You want an image that is half the viewport on wide screens but you set sizes="50vw" alone. A browser at 1000px CSS width with DPR 2 needs which approximate resource width?
<img srcset="a-500.jpg 500w, a-1000.jpg 1000w, a-2000.jpg 2000w"
sizes="50vw" src="a-1000.jpg" alt="">