If you are talking about MiniGL / W3D based Quake 2 (as distinct from the software renderer), some issues are
1) The gfx bus is a major bottleneck on almost all existing classic amiga PCI solutions. 10Mb/s is not especially good for shovelling large amounts of vertex data to the GPU. Most people have a mediator which in my experience peaks at about 13Mb/s for a good 060. PPC performance is likely not much higher.
2) Existing W3D drivers do not implement multitexture support. Quake engines really benefit from this since the environmental lighting is applied as a texture map. Hence, this ultimately requires two complete passes of a scene to render the textures and lighting.
Simply try "r_fullbright 1" to see how much faster you get without light mapping (consider that all the geometry transformation is supposedly done already and you are just retexturing an already calculated scene) to see the sort of improvements a genuine multitexture supported version could give.
3) A major improvement was added to Warp3D 4 in terms of vertex array rendering. If a MiniGL implementation doesn't make full use of this, relying instead on older v3 interfaces, you can expect a performance hit also.
In all, I think given the above, 16fps is not terrible. With multitexture support and optimal use of vertex arrays, double that ought to be feasabe.