PlaneShift uses only OpenGL (to be compatible with several operating systems, not only Windows). If there are any DirectX functions used, then only where OpenGL support might be limited by Windows.
PlaneShift only uses funtions provided by the CrystalSpace 3D engine. So there are two possible limits compared to a highly optimized 3D game & engine: a) The rather generic CrystalSpace 3D engine has its limits; b) PlaneShift does not yet use all possible features of the current CrystalSpace 3D engine version, because it is not easy to adapt a whole game to major changes of the underlying engine, which is as much in development as the game itself.
A game is not fast only because it uses a specific level of 3D API features. To be efficient, it has to use most to all available features the API and engine provide to not waste too much rendering time. Even the structure of the content may need a specific design for specific speed-up technologies (e.g. to use "binary space partition", a city map would need much more than just a set of meshes and textures).
And as much both the game and the engine are in development, as much are there twice as many possible reasons for crashes. Every development step introduces new bugs. Already targeting the reason in either PS or CS is a kind of art (e.g. "debug builds" often don't crash at all...).