Short answer: "It depends"
Longer answer: "It depends on the shape of the query"
As with any question about performance in SQL Server (what's better: x vs y), there's no correct answer. In the case of views vs. sprocs, there's no way to reliably predict which will (if any) be faster, short of profiling the query.
I've seen both be faster, and it's come down to how the view's been used and whether it's part of a bigger query. I've also seen views slow queries down because they can hide a lot of complexity that the query using the view doesn't actually need.
You need to assess what you're trying to achieve: if all you're doing is wanting access to the table rows, and you aren't going to want to use the output as part of another query, I'd choose a stored procedure, especially if the query against the table is going to take some WHERE clause.
Where is the query going to be called from? Another part of SQL? Some application framework? A custom data-access layer? It's worth thinking how the calling code is going to put the query together, as this can affect how SQL Server ends up caching and reusing the execution plan. If it just bolts together a bunch of dynamic SQL, then performance might suffer slightly as SQL Server may need to rebuild the query plan each time; so in this instance a sproc has the advantage with a cached plan. If the access layer is intelligent and does parameterised dynamic SQL, there may not be so much in it.
Conclusion: understand what it is you want to achieve. Then profile, tune, tweak, and repeat until satisfied.