Optimizing pagespeed
Not sure how you implemented the cache tags, but I would recommend to cache each "eDrops" entry individually.

I also took out {% if entry.slides|length %}. Testing if entry.slides.first() returns anything is all you need. In order to make the length filter work, Craft internally applys find() to the criteria model behind entry.slides. This means you (unintentionally) added an additional database query (besides first(), which you need anyways).

Keep in mind, that assets are elements in Craft and relationship queries take their time (→ also explained in the Matrix field example here: What are the most common template performance gotchas to avoid?).

{% nav entry in eDrops %}

    {% cache globally using key 'eDrops-' ~ entry.id %}
        {% set image = entry.slides.first() %}

        {% if image %}
            &lt;img src="{{ image.getUrl('fitThumb') }}"&gt;
        {% else %}
            {{ entry.title }}
        {% endif %}
    {% endcache %}

    {% ifchildren %}
        {% children %}
    {% endifchildren %}

{% endnav %}