  An obstacle representation of a graph $G$ consists of a set of pairwise
disjoint simply-connected closed regions and a one-to-one mapping of the
vertices of $G$ to points such that two vertices are adjacent in $G$ if and
only if the line segment connecting the two corresponding points does not
intersect any obstacle. The obstacle number of a graph is the smallest number
of obstacles in an obstacle representation of the graph in the plane such that
all obstacles are simple polygons. It is known that the obstacle number of each
$n$-vertex graph is $O(n \log n)$ [Balko, Cibulka, and Valtr, 2018] and that
there are $n$-vertex graphs whose obstacle number is $\Omega(n/(\log\log n)^2)$
[Dujmovi\'c and Morin, 2015]. We improve this lower bound to $\Omega(n/\log\log
n)$ for simple polygons and to $\Omega(n)$ for convex polygons. To obtain these
stronger bounds, we improve known estimates on the number of $n$-vertex graphs
with bounded obstacle number, solving a conjecture by Dujmovi\'c and Morin. We
also show that if the drawing of some $n$-vertex graph is given as part of the
input, then for some drawings $\Omega(n^2)$ obstacles are required to turn them
into an obstacle representation of the graph. Our bounds are asymptotically
tight in several instances. We complement these combinatorial bounds by two
complexity results. First, we show that computing the obstacle number of a
graph $G$ is fixed-parameter tractable in the vertex cover number of $G$.
Second, we show that, given a graph $G$ and a simple polygon $P$, it is NP-hard
to decide whether $G$ admits an obstacle representation using $P$ as the only
obstacle.
