I've been using Solidworks for both modelling and rendering.and I cant seem to render sldprt in Keyshot .
you should be able to import .sldprt files in Keyshot if both are the same year release. If you have an older version of Keyshot and a newer release of SW you will need to create a STEP or other neutral format to get into keyshot. Also, if you are using SW pro or premium you should also have a license to Visualize. It is now part of SW but a stand alone program.
I agree with most of what Stephen wrote. I'd just add that Parasolid is a better choice when sending files to keyshot. Step files work, but they don't support colors on individual faces/features like parasolid does.
With parasolid you could export a cube and have a color assigned to each face in SolidWorks. In Keyshot you can apply a material to each color.
If the same example is done with a step file, Keyshot will make the whole cube from a single material.
There are dozens of rendering programs available though. The choice may be somewhat dictated by what you are rendering (i.e. products, vs. interior design, vs. architecture). Keyshot seems to be the most popular at the moment, but demo some other products especially if they are optimized for the models you'll be working with.
Some rendering programs are CPU based, and others utilize the graphics card, others can make use of a distributed network for additional rendering power. Make sure the one you choose meets your needs.