I have had allot of luck using Rust-Oleum Engine Block Paint. After preping the frame I use a light even spray of Rust-Oleum Grey Primer then after drying sufficiently use the Rust-Oleum Engine Block paint. Its not that I am pushing Rust-Oleum, but it's the only one I have used.
There are a limited choice of colours on the engine block paint and the engine block paint takes more than a few days to dry. So after painting my frame I will let it dry for a few days then hang it in the attic for a few days to harden (Texas Heat).
The durability of this Rattle Can method is about as good as you can get.
Still... Powder Coat Rules.
__________________

No matter where you're at... There you are... Δf:=f(1/2)-f(-1/2)