• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

DF: The Matrix Awakens Tech Analysis + PS5 vs Xbox Series S/X Performance Analysis

Loxus

Member
I don't understand your point. A literal fucking engineer on the project says the contrary of whatever you're trying to prove and you're still going for it?
Epic created the demo and it was ported to Xbox and Coalition optimized in for the Series consoles.

It's literally what the link from Xbox said. Can't you read?

The person from Epic even said they don't maintain the other versions.

Coalition had no input in the development of the demo.
 

Mr Moose

Member
Jesus, just got to the series s comparison. Whats up with these pixelated artifacts? They are calling it macro blocking, but it looks way worse than any 720p image ive seen. It's super grainy as if chromatic abberation and film grain had a threesome with youtube artifacts.

Am I the only one seeing this? we are so worried about resolution and other downgrades, but the IQ is far worse than the resolution count.
It's really bad in this part:
SeriesS_7.jpg

Some bad shimmering in all versions, and some weird shit (shadows? AA?) going on around cars (different video, from a banned source).
 

Riky

$MSFT
Epic created the demo and it was ported to Xbox and Coalition optimized in for the Series consoles.

It's literally what the link from Xbox said. Can't you read?

The person from Epic even said they don't maintain the other versions.

Coalition had no input in the development of the demo.

They say they don't maintain SEPARATE engine versions..........
 

Loxus

Member
And?

They just said they don't maintain separate platform versions, meaning whatever optimisation The Coalition made goes into UE5 for all to benefit from.
I don't see why your arguing the point when that's what the tweet says.
Are you seriously ignoring the Xbox article and what the Epic guy said?
You Xboxs are hilarious.
The Office Lol GIF
 

elliot5

Member
Are you seriously ignoring the Xbox article and what the Epic guy said?
You Xboxs are hilarious.
The Office Lol GIF
I can't handle the ignorance lol.

You clearly didn't even watch the interview in the article with a guy from Epic, Nelson and Kate.



Epic made the demo. They created the thing. TC was brought in towards the end to help optimize it. Their optimizations for the demo were engine level and helped impact Xbox and PS5. Epic does not maintain separate versions of UE5 (the ENGINE) for their target platforms. TC's optimizations for memory helped improve the performance of Xbox BUILDS,. They also did ENGINE level work such as the motion blur as mentioned by the tweet from the Epic engineer.

It's not that hard to understand.
 
Last edited:

Stooky

Member
Literally just watched this part and saw them mention that the streaming file is something super small like 10 MB. Apparently everything with nanite is virtual textures. So why did Cerny put so much effort into improving the I/O for streaming?
UE5 is not the only game engine that devs use.
 

Loxus

Member
I can't handle the ignorance lol.

You clearly didn't even watch the interview in the article with a guy from Epic, Nelson and Kate.



Epic made the demo. They created the thing. TC was brought in towards the end to help optimize it. Their optimizations for the demo were engine level and helped impact Xbox and PS5. Epic does not maintain separate versions of UE5 (the ENGINE) for their target platforms. TC's optimizations for memory helped improve the performance of Xbox BUILDS,. They also did ENGINE level work such as the motion blur as mentioned by the tweet from the Epic engineer.

It's not that hard to understand.

How The Coalition Worked with Epic to Bring The Matrix Awakens to Life on Xbox Series X|S
While Epic created the demo, The Coalition got involved helping to refine and optimize their vision, having previously worked with Epic on UE4 support for Xbox Series X.
 

McCheese

Member
Coalition had no input in the development of the demo.

Coalition are working on another UE5 title and they lent a small team out to Epic to help them on this, some of the stuff they had already customised such as a better depth of field technique ended up being back ported into the core engine as it was more performant than the original method Epic implemented.

There are a couple of things folks don't seem to grasp

Firstly, developers and software engineers love software, not specific consoles. If an engineer finds a better way of doing something they'll share it with others unless some twat higher up catches wind of it and cock blocks them. large chunks of unreal engine are open source under licence, if you improve it, you just pull request it and the epic team will take a ganders and either approve it or not. You don't even need to talk to anyone or ask permission, you fork it, tweak it, and pull request it - it's part of how open-source development works. Dev teams have been customising engines since Quake. Sony engineers help contribute to BSD, Microsoft help contribute to all sorts including Linux!

Secondly, just because they don't have VRS and other features doesn't mean they are not good enough. UE5 won't ever be finished, they'll continue adding stuff to it for the next 3-4 years. I'm sure VRS is on the backlog, but they also have epics (pun intended) like figuring out a way to have Nanite work with deformable meshes for animation etc; even companies like Epic have limited time and resource so have to prioritise things.
 
Last edited by a moderator:

Mr Moose

Member
That Xbox article says vision, not version. Yeah they optimised for the Series consoles, and they did some crap with blur which made its way to all versions(?).
 

Edder1

Member
I find it funny to see same people who cry about 400% and 800% zoom now cry about 1fps difference not being declared a victory, lol. Console warriors are some of the least self aware people that you'll ever encounter.
 
Last edited:

Corndog

Banned
everyone gets triggered by my tflops per dollar comparison, but i think it's fair since the sx is the second best performance per dollar console by the same metric, and misses the top spot by just a $1.60.

XSS - $300/4 tflops = $75 per tflop
PS5 - $400/10 tflops = $40 per tflop
XSX - $500/12 tflops = $41 per tflop
PS5 - $500/10 tflops = $50 per tflop


i see LOD pop ins on ps5 all the time. you can never eliminate LOL pop in. not even with Nanite.
Too bad both consoles only went with 16 GB of ram.
 

adamsapple

Or is it just one of Phil's balls in my throat?
Alex's final thoughts match my own. It's impressive but the performance is lousy and UE5 needs to prove itself as a 60hz capable engine on these new consoles.

Yes, his thoughts are accurate but lets not present them in such a negative light. This is a tech demo created by a team of 50, not really optimized and needed the Coalition to step in to finish it on the Series consoles.

It will be a while before UE5 becomes mainstay for games, a huge number of games are still using UE4. STALKER 2 is the first AAA example of a retail UE5 game that´s coming to the console(s) in a few months time. That should be a good first indicator on how well the engine behaves on current hardware.

They already promised 4K/60 and RT for that game. I also remember reading about 120hz support for Series X but the last source I can find for that was from 2020, nothing about it this year so that feature may have been dropped for all we know.
 

Corndog

Banned
I don't understand your point. A literal fucking engineer on the project says the contrary of whatever you're trying to prove and you're still going for it?
You absolutely do have separate versions. The api functions would be the same but how they work internally would be different. You don’t make directx calls on a PS5. Have you never heard of virtual functions.
 
Last edited:

Loxus

Member
Coalition are working on another UE5 title and they lent a small team out to Epic to help them on this, some of the stuff they had already customised such as a better depth of field technique ended up being back ported into the core engine as it was more performant than the original method Epic implemented.

There are a couple of things folks don't seem to grasp

Firstly, developers and software engineers love software, not specific consoles. If an engineer finds a better way of doing something they'll share it with others unless some twat higher up catches wind of it and cock blocks them. large chunks of unreal engine are open source under licence, if you improve it, you just pull request it and the epic team will take a ganders and either approve it or not. You don't even need to talk to anyone or ask permission, you fork it, tweak it, and pull request it - it's part of how open-source development works. Dev teams have been customising engines since Quake. Sony engineers help contribute to BSD, Microsoft help contribute to all sorts.

Secondly, just because they don't have VRS and other features doesn't mean they are not good enough. UE5 won't ever be finished, they'll continue adding stuff to it for the next 3-4 years. I'm sure VRS is on the backlog, but they also have epics (pun intended) like figuring out a way to have Nanite work with deformable meshes for animation etc; even companies like Epic have limited time and resource so have to prioritise things.
The point I'm trying to make is Riky Riky think The Coalition had some kind of input into the development of UE5 like Nanite and Lumen. Which isn't the case.
 

Riky

$MSFT
The point I'm trying to make is Riky Riky think The Coalition had some kind of input into the development of UE5 like Nanite and Lumen. Which isn't the case.

Where did I say that?

You are now literally just making stuff up.
 
Last edited:

McCheese

Member
The point I'm trying to make is Riky Riky think The Coalition had some kind of input into the development of UE5 like Nanite and Lumen. Which isn't the case.

Anyone can have input into Unreal Engine, the engine is open-source under licence - but Epic gets to decide who's input is valuable enough to get merged back in or rejected. If your tweak or fix is very specific for your situation you probably wouldn't do a pull-request for it, but if you optimised something and are not a complete dick, then you probably will PR it.
 
Last edited by a moderator:

Kenpachii

Member
Alex's final thoughts match my own. It's impressive but the performance is lousy and UE5 needs to prove itself as a 60hz capable engine on these new consoles.

Same here watched the video and frankly i come to the same conclusion.

With them stating they had room enough left over, but at the same time they can't even get at stable 30 fps. puts heavy question marks on what we see here also being a reality in the future on those consoles in a full fletched open world game. I personally think they simple can't get it to any good performing level without having to scale things back considerable and then the question si what is the first thing to go out lumen? much like alex states how are you going to manage the lights then.

The same goes for his 40 fps remark, yea 40 fps is nice, but 24 fps to 40 fps is a gigantic almost 2x performance increase needed. there is a reason they can't even hit 30 fps for shit at this point.

The same thing goes with real life models etc, well yea the models in the empty white rooms look incredible, the on rail car shoot area looks great. however whenever u see those models walk over the street with the chick its honestly nowhere near "realistic". its very much gamy and pushed back in detail and complexity.

I wonder if UE5 solution is going to be the focus for developers or if it scares devs away from it and still move to prebaked stuff like they always do to up there fidelity, the first demo they showcased already ran barely acceptable levels of performance for such a onrail experience, the second demo on PC was simple not impressive performance wise even remotely for what was on the screen and performance it required, and this demo seems to struggle hard also.

Tim really should have focused on 60 fps at 1440P with TSR to 4k to give people a good indication of what at those settings people will be seeing.

Anyway, nice video and nice demo. its a jump up from what we got and frankly i am exciting that lods are finally going out of the room + far more detail can be pushed even if you get really close to a object. Its jarring in current games for sure.
 
Last edited:

Corndog

Banned
They say they don't maintain SEPARATE engine versions..........
Different versions probably refers to the api. Each platform is going to have its own implementation. So each platform has the same features. How some of those features function is platform dependent.
 
Not a fan of how Alex made the comparisons in this video. Very lazy. it's a 50 minute video so it's not like they were starved for time.

He makes a great benchmark for the PS5. Gets in the Crown Victoria right off the bat and drives in a straight line. You see drops down to 24 fps. Fantastic stress test right off the bat, right? Nope. He cuts to the XSX using a slow fucking soccer mom SUV and starts the clip on a different road. Just do the same thing. He used to be good at stuff like this. Tom Morgan must be rubbing off on him. PS5 dips to 20 fps at one point, but we have no comparison for the XSX at that place and scenario. Series S performance? 'Like 720p-ish', 'Lower', 'Yep'. Come on lol be better than that.

FOOOOOOOOOOOOOOOOOOOOCK!
GAF is causing brain damage, how many people will this forum victimize? Dammed place...

For those who didn't watched the video (or have their eyes and ears damaged by the gaf plague), the way that comparison ended being made worked better to show the performance issue being discussed.
When the footage from the SeX appears Alex goes to the other road instead of going straight like with the PS5 because there was a fucking traffic jam blocking the way. To get to the road at the side he hits some cars in the way and this already shows the framerate dropping, less because he hit less cars. Continuing, he at first tries to avoid hitting other cars and as long as he does this the framerate keeps steady, but he ends throwing his vehicle at two bunch of cars and the framerate tanks exactly like it did previously with the PS5, perfectly illustrating the issue that the engine has right now.
Nanite is really "free performance", but you can't do everything with Nanite yet, sometimes you are forced to revert back to traditional meshes. The collisions are one of such cases and this traditional polygon pipeline comes with all the performance issues we are used.
All this new tech looks and performs good, but it's not finished yet! We can't expect games making the switch to this before all these roadblocks are solved and games can be made fulling embracing these new technologies.
 
Last edited:

Loxus

Member
Anyone can have input into Unreal Engine, the engine is open-source under licence - but Epic gets to decide who's input is valuable enough to get merged back in or rejected. If your tweak or fix is very specific for your situation you probably wouldn't do a pull-request for it, but if you optimised something and are not a complete dick, then you probably will PR it.
I don't know how optimizing engine version of Matrix sounds like development input into UE5.

But lets agree to our own interpretation of what is being said and resume talking about the future of gaming.
 
Last edited:

Riky

$MSFT
Different versions probably refers to the api. Each platform is going to have its own implementation. So each platform has the same features. How some of those features function is platform dependent.

That's irrelevant to what is being said, as you say each platform has the same features. So back to the original point and what the Tweet says, whatever optimization The Coalition did that was included in UE5 has benefited all platforms.
 

McCheese

Member
Different versions probably refers to the api. Each platform is going to have its own implementation. So each platform has the same features. How some of those features function is platform dependent.

Not really, Unreal Engine abstracts almost everything to do with the base-hardware well before it gets to any high level feature implementations. You get a few IFDEF things depending on hardware capabilities but those are not really console specific per-say but rather the type of architecture. ARM, X64, 32bit vs 24bit buffers, mipmapping capabilities, that jazz. The only real console specific stuff is around inputs and control schemes as they are so unstandardised.

Just wait until the console fanboys realise Coalitions fixes will end up on the Switch version of Fortnite eventually.
 

Mr Moose

Member
That's irrelevant to what is being said, as you say each platform has the same features. So back to the original point and what the Tweet says, whatever optimization The Coalition did that was included in UE5 has benefited all platforms.
I'm guessing it'd be like Kojima with Decima, but to a lesser extent. I'm sure they'll take feedback and stuff from lots of devs that use their engines.
I'm looking forward to seeing what The Coalition and Bend do with UE5.
 

Loxus

Member
I'm guessing it'd be like Kojima with Decima, but to a lesser extent. I'm sure they'll take feedback and stuff from lots of devs that use their engines.
I'm looking forward to seeing what The Coalition and Bend do with UE5.
Well this is what the Article said.
It's just optimizations for the Series Consoles.

So what exactly did the team at The Coalition do? A primary focus for them was on memory and performance optimizations to fully take advantage of both Xbox Series X and Xbox Series S. Because the experience features an incredibly large and dense world with a staggering amount of content, the first step was working on memory optimization. In that area, they worked with Epic to ensure the assets in the demo were set up to fully leverage virtual texture streaming and nanite wherever possible and tuned internal memory systems, especially on Xbox Series S, to ensure it all fit in the memory.

On the performance optimizations side, the teams made some threading improvements to improve utilization of the CPU cores. They also made some Xbox Raytracing optimizations, resulting in performance wins of about 0.5ms. Finally, they enabled Vertical Sync tuning to ensure a stable FPS throughout the experience.

With this focus, the Xbox Series S version shipped with all the same UE5 features enabled as Xbox Series X (albeit with different quality) including but not limited to raytraced reflections and raytraced shadows. Regardless of which platform you experience it on, you’re in for a visual treat.
 

adamsapple

Or is it just one of Phil's balls in my throat?
Not a fan of how Alex made the comparisons in this video. Very lazy. it's a 50 minute video so it's not like they were starved for time.

He makes a great benchmark for the PS5. Gets in the Crown Victoria right off the bat and drives in a straight line. You see drops down to 24 fps. Fantastic stress test right off the bat, right? Nope. He cuts to the XSX using a slow fucking soccer mom SUV and starts the clip on a different road. Just do the same thing. He used to be good at stuff like this. Tom Morgan must be rubbing off on him. PS5 dips to 20 fps at one point, but we have no comparison for the XSX at that place and scenario. Series S performance? 'Like 720p-ish', 'Lower', 'Yep'. Come on lol be better than that.

@NXGamer For your detailed comparison vid, Can you please see if you can grab a Porsche right as you are dropped in the open world and just drive it down that same road for each console? Oddly enough, the better looking chase sequences runs at 30 fps on both consoles with very few drops. It's the city where the framerate dips to 24 fps just driving around. Turning off traffic might help recreate similar scenarios.
Man, come on guys..

The sheer number of FUD posts like this from otherwise good-posting members is a bit embarrassing. They don't need to show every single frame they recorded to justify anything.

Their commentary is representative of their testing sample.

What's it gonna take to try and quell the "X had an agenda against Y" mentality.
 

luca_29_bg

Member
nWU5SIA.gif

It was this part Lumen in the Land of Nanite demo that many think required fast streaming, not Nanite in general.
The geometry detail is higher in the first demo, plus no pop in, and while the geometry of the city is very high, polygons edges can still be seen. I asked to Brian Karis the reason on twitter but i doubt i will get a reply! I think it's a matter of file size, time, and budget!
 
Do you have trouble reading?
You and a bunch of others from the Xbox Defense Force seem to have trouble to cope with whats shown now for all the World to see.
But lets start right from the beginning here:


It would make no sense to assume that Coalition would even have the know how to help out with optimizing PS5 since they´ve never worked on the machine and PS5 uses an total different low level API wich needs different care. Sure they could program a rather good looking game on it if they have to but thinking they have enough insight to help optimize PS5 Code ... like realy diving deep in and find small deficiencies in PS5 API Language Code is mental gymnastic on true olympic Level.
No matter who says something on Twitter - it is a lie! A Lie people felt is neccesarry to tell because the massive implication of the whole thing dawned on them. Namely that even with The Coalitions deep knowledge about Xbox Series Console Intrinsics and the so called pOweR ADvaNtAgE of Series X over PS5 it could not perform better or have better Settings than the latter. Technicaly even being behind even if only by ~1Frame/s.
The whole chatter of Coalition helping with PS5 optimization can therefore be dismissed. It is only there to provide noise to the diskussion and hide the implication i laid out just above. Its a decoy. I will not fall for it. And it does not matter who you quote on twitter here next - the Thing is over.

There was so much Talk and shitting from Xbox People about 9Tflop Console or RDNA 1,5 and missing features like VRS or Mesh Shaders... Where are we NOW? A top of the fucking Line Engine, an all out Next Gen Showcase Demo , with raytracing, virtualized Geometry and very impressive crash physics. And PS5 manages not only to keep up but also even pulling ahead ever so slightly.

You and your Boys from the Xbox Defense Force, you are Clowns. You wear Clown shoes, Clown watches, Clown Gloves and Clown Underwear. You watch Clown Porn and the Cereals you eat at breakfast are - you guessed it - clown shaped. Might even be Clown milk with that but i do not judge...
It is all out Clown Galore.
In the End it brought you nothing, Zero, nada...
Backwards Camera Fail GIF
Life Fail GIF by MOODMAN
dunk fail GIF


wich means

You lose willy wonka GIF
 

elliot5

Member
You and a bunch of others from the Xbox Defense Force seem to have trouble to cope with whats shown now for all the World to see.
But lets start right from the beginning here:


It would make no sense to assume that Coalition would even have the know how to help out with optimizing PS5 since they´ve never worked on the machine and PS5 uses an total different low level API wich needs different care. Sure they could program a rather good looking game on it if they have to but thinking they have enough insight to help optimize PS5 Code ... like realy diving deep in and find small deficiencies in PS5 API Language Code is mental gymnastic on true olympic Level.
No matter who says something on Twitter - it is a lie! A Lie people felt is neccesarry to tell because the massive implication of the whole thing dawned on them. Namely that even with The Coalitions deep knowledge about Xbox Series Console Intrinsics and the so called pOweR ADvaNtAgE of Series X over PS5 it could not perform better or have better Settings than the latter. Technicaly even being behind even if only by ~1Frame/s.
The whole chatter of Coalition helping with PS5 optimization can therefore be dismissed. It is only there to provide noise to the diskussion and hide the implication i laid out just above. Its a decoy. I will not fall for it. And it does not matter who you quote on twitter here next - the Thing is over.

There was so much Talk and shitting from Xbox People about 9Tflop Console or RDNA 1,5 and missing features like VRS or Mesh Shaders... Where are we NOW? A top of the fucking Line Engine, an all out Next Gen Showcase Demo , with raytracing, virtualized Geometry and very impressive crash physics. And PS5 manages not only to keep up but also even pulling ahead ever so slightly.

You and your Boys from the Xbox Defense Force, you are Clowns. You wear Clown shoes, Clown watches, Clown Gloves and Clown Underwear. You watch Clown Porn and the Cereals you eat at breakfast are - you guessed it - clown shaped. Might even be Clown milk with that but i do not judge...
It is all out Clown Galore.
In the End it brought you nothing, Zero, nada...
Backwards Camera Fail GIF
Life Fail GIF by MOODMAN
dunk fail GIF


wich means

You lose willy wonka GIF
nobody is saying TC explicitly was optimizing the PS5 build. The engineer at Epic said The Coalition made optimizations for shit like bloom within the engine... that is used in the demo... on both Xbox and PS5... and therefore those optimizations reached both platforms... jfc
 

Darsxx82

Member




Some interesting tweets I just saw with some more context, from an engineer at Epic

My interpretation of what the developer says would be that Epic is free to use and implement on PS5 (or other platform) any optimization and improvement of the engine that The Coalition obtains in its optimization work on XSeries.
If so, it would be an exemplary act beneficial to all. It is not strange the continuous thanks from Epic to The Coalition in recent times because of course they are excellent travel companions.
 

Mobilemofo

Member
i enjoyed it. very nice. flying round the buildings, and sometimes, inside was interesting. looking forward to the xbox 360 version.
 
Last edited:

Loxus

Member
The geometry detail is higher in the first demo, plus no pop in, and while the geometry of the city is very high, polygons edges can still be seen. I asked to Brian Karis the reason on twitter but i doubt i will get a reply! I think it's a matter of file size, time, and budget!
Yes the Matrix demo does look ruff around the edges sometimes compared to the first demo but the no pop in is still amazing.
 
nobody is saying TC explicitly was optimizing the PS5 build. The engineer at Epic said The Coalition made optimizations for shit like bloom within the engine... that is used in the demo... on both Xbox and PS5... and therefore those optimizations reached both platforms... jfc
"for shit like bloom" - use you your Brain it is not only there to calculate the best route for your cock into a Pussy - if its only minor stuff they helped with, why the help was needed anyways. And if so , from all Devs out there .. why exactly The Coalition?? Logic sugests that there was specific Xbox Knowledge needed. Xbox Marketing like the Morons they are tryd to use that Info about Coalition for them. But it blew up and all what is out there now in chatter is only there to as noise ...
 
Last edited:
I'm not sure why Xbox Series X don't have a advantage when all the sparks are on the screen that seem like it would be compute heavy.

The results are curious since UE5 and Nanite favour compute so one would think it would perform better on the Series X.

Yeah I noticed that in the demo myself, the geometry while nice, wasn’t as detailed as all the intricate rock formations in the first demo last year. Also there was far more pop in, where last years demo had none.

I thought I was the only one who noticed this, when playing around with the fly tool there were many instances of pop in, and the more intricate building designs lacked detail which is weird considering how Epic have been bragging about how many polygons/triangles Nanite push.
 

AMC124c41

Member
Uhm, my two cents. It say it there is the tweet. One of The Coalition engineers found a more efficient way of doing Motion Blur in UE5 which is less resource intensive that the one already implemented so they decided to go with it. It is an engine level feature which means it will apply to any/all platforms. It really is that simple. That's how this stuff works. Same with MSAA or TAA or other post processes. These are used on all platforms. I really don't get why people are fighting over this simple thing...Christ. Just enjoy the amazing tech and imagine how it's going to be used in future games.
 

Corndog

Banned
Not really, Unreal Engine abstracts almost everything to do with the base-hardware well before it gets to any high level feature implementations. You get a few IFDEF things depending on hardware capabilities but those are not really console specific per-say but rather the type of architecture. ARM, X64, 32bit vs 24bit buffers, mipmapping capabilities, that jazz. The only real console specific stuff is around inputs and control schemes as they are so unstandardised.

Just wait until the console fanboys realise Coalitions fixes will end up on the Switch version of Fortnite eventually.
We are basically saying the same thing. There may be time we’re using a slightly different method may work better on different hardware. In that case you very well may want to make platform specific changes. I have no idea if that ever happens in UE5 though.
 

DeepEnigma

Gold Member
The results are curious since UE5 and Nanite favour compute so one would think it would perform better on the Series X.



I thought I was the only one who noticed this, when playing around with the fly tool there were many instances of pop in, and the more intricate building designs lacked detail which is weird considering how Epic have been bragging about how many polygons/triangles Nanite push.
I’m sure in some of the more talented development studios out there that put all that attention to detail and polish, this will be mitigated if not almost eliminated.

It was done by movie industry peeps, and also it’s a massive open city as well.
 
I wonder what a 60fps version of this demo would look like. I really hope we get performance modes for games with this level of graphical fidelity.
 
Top Bottom