I want to use the displacement node in cycles node editor, i was wondering whether subdividing an object or using sub surf modifier makes any difference, if so which one I should go for in order to get a TRUE displacement effect when Experimental render set enabled. thanks
Cycles doesn't support true displacement yet in Supported feature set. The displacement input of Material Node will only do bump mapping in that case.
With Experimental feature set the True displacement option is available under Material settings in versions 2.78 and up (for older Blender versions see edits of this answer):
This will not change the number of vertices or polygons in the scene and will not raise memory much (only the extra displacement texture). From left to right on 20k polycount sphere - No displacement, Bump, True:
For adaptive displacement you need to use a Subdivision modifier for each object and set the Adaptive tag and set the micro-polygon pixel size under render settings:
This will subdivide all the polygons of the whole object adaptively to meet the desired micro-polygon pixel-size. Each object can be adjusted differently with the Dicing Scale ratio.
Objects/polygons further away from camera will be subdivided less and objects/polygons closer will be subdivided more.
This will increase the memory size of the scene while rendering significantly (based how much you need to subdivide). The sphere above with 20k polys took 201MB of VRAM with no adaptive and 2271MB for adaptive micro-polygons of 1px size (the default render setting).
I was wondering whether subdividing an object or using sub surf modifier makes any difference
Subdividing with subdivision modifier and subdividing in edit-mode take the same amount of render memory.
But the adaptive subdivision will save memory, because objects in distance will be less subdivided.
Now you will get true displacement effect with both subdivision methods (material or displacement + subdivision modifiers).
It is worth noting that the experimental render kernel takes more VRAM than Supported kernel.