SQL View using in my Store proc very slow

I have a view doing Union all for three tables.I am accessing this view in my storeproc. The view seems very slow. How to write joins instead of this view to access data very fast. Here is the below SQL View

Viewname: Applications

Alter view [dbo].[Applications]
(
ID
,[Timestamp]
,TimestampDateID
,ApplicationId

)
AS
Select
ID
,[Timestamp]
,TimestampDateID
,ApplicationId
From table1 with (NOLOCK)
UNION ALL
Select 
ID
,[Timestamp]
,TimestampDateID
,ApplicationId
From table2 with (NOLOCK)
UNION ALL
Select
ID
,[Timestamp]
,TimestampDateID
,ApplicationId
From table3 with (NOLOCK)
GO

Here is my Dynamic sql store proc. There are multiple parameters passing in Where conditions.But as of now I am giving the main query using in store proc the first statement would get total no of records using in asp.net grid view page and 2nd statement is the actual data display stored in data set. The Where condition and order condition passing dynamically. This is not complete storeproc. Missing initial parameters and declaration stmts.

Declare @TotalCount Int
Declare @TotalCountSQL nvarchar(max)
Set @TotalCountSQL = 'Select @RC = count(*) from (SELECT ROW_NUMBER() OVER (ORDER BY tt.Id) AS RowNumber , tt.Id, [Timestamp], tt.applicationId
    FROM Applications tt with (nolock)' + ' ' + @whereclause + ')X '
EXECUTE sp_executesql @TotalCountSQL, N'@RC int OUTPUT', @RC = @TotalCount OUTPUT
Select @TotalCOunt
Declare @FinalSQL nvarchar(max)
Set @FinalSQL = 'Select * from (SELECT tt.Id, [Timestamp], tt.applicationId
, ROW_NUMBER() OVER (ORDER BY tt.Id) AS RowNumber FROM Applications tt with (nolock)' + ' ' + @whereclause + ')X WHERE RowNumber between ' + cast(@rowstart as varchar(max)) + ' and ' + cast(@rowEnd as varchar(max))
        + ' ' + @orderclause 
Print @FinalSQL
Exec(@FinalSQL)