Freaky subdivision with n-gons (2.8) I'm modeling a GoPro camera, and am using circular n-gons to make a set of nested depressions for the lens. The model without subsurf looks like this:

(n-gons in question are around the outer edge of the outer circle and in the center of the len)

When I try to apply a subsurf modifier to any degree, I get crazy distortion like this:


My only thought as to what could be causing this is that the mesh isn't all quads, so I tried using a remesh modifier, but only got high-enough quality results at around octree 9 or 10, far higher of a resolution than I want to deal with when render time comes along.

Is there any way short of manual retopo that I can stop the subsurf from freaking out over the n-gons?

Any and all help is appreciated. Thanks in advance for your time. 

EDIT 1: I'm running Blender 2.8 Beta, so if all else fails I'm prepared to accept that this might just be a bug, in which case I'll start over in 2.79.

EDIT 2: So I fixed the problem through manual retopology, but I'm still interested in hearing if anybody knows a faster way to do this for future projects. Thanks!
A quick way to fix your topology:




Starting with the wrong number of vertices, having X > deleted faces only
Select the square's edges, and WSsubdivide with 7 cuts
Select both edge loops, and CtrlE > Bridge Edge Loops


EDIT:

.. but if you're subsurface modeling, as batFINGER points out, you really should be heading for a much lower number of vertices to make a circle in the end result:

4 sides .. Noticeably not octagonal under one level of subdiv., or circular under two. You can get away with it if you know it's never going to be close up. Shading artifacts, too. 

5.. Can't remember the last time I used it... 

6.. Quite a lot of things have 3-symmetry, and a hexagon makes a perfectly good circle

8.. By far the most common because of the shown topology - comes naturally out of a quad, the diagonals can be absorbed in 5-poles in a holding loop around the circle, or your beveled edges, so don't propagate around your model

.. any more than 8, probably large-scale structure rather than detail, or soaking up necessary loops from somewhere else in the model.

The Illustration is of 0,1,2 levels of subdivision on the various polygons, with a 32-circle in the middle for comparison.