An ArcGISDynamicMapServiceLayer uses the images generated by the dynamic map service, while a FeatureLayer draws a separate graphic for each feature. This means that a FeatureLayer has to request the geometry/attributes for each feature, which could be a significant amount of data for the census tract service.
If you don't need the additional capability of a FeatureLayer, using a ArcGISDynamicMapServiceLayer will most likely reduce the data payload, and resolve the performance issues you are experiencing.
Here is the documentation on the layers:
https://developers.arcgis.com/javascript/jsapi/arcgisdynamicmapservicelayer-amd.html
https://developers.arcgis.com/javascript/jsapi/featurelayer-amd.html