thanks to everybody
the trick is
inlining those functions :
function Vec2(x, y: Single): TVec2;
function Vec3(x, y, z: Single): TVec3;
function Vertex(pos: TVec3; uv: TVec2): TVertex;
function Triangle(v0, v1, v2: TVertex);TTriangle;
and precompute (cc := Vec2(x+0.5,y+0.5)

as d4eva mentioned
the fps becomes 46 from 16( original ) , that seems good and its near equal to the c++ version
that shows that fpc is doing great job