Non-optimality in terms of architecture. Wrong tool for the job.
GPU-optimal tasks are highly parallel: vertex processing, texture processing, computing boid motion, with all kernel-threads running in parallel from start to finish.
Culling, OTOH, is all about questions / conditionals e.g. "is this object in this view at this time given these conditions?". ...
Here's one way that I can think of to do it.
Find a point on the plane a other than the origin, o. The vector a - o lies on the plane, so is guaranteed perpendicular to the plane normal. Normalise the vector a - o and call it x.
Take the cross product of x and the plane normal and call it y. y is guaranteed to be perpendicular to both x and the plane ...
why isn't the standard to implement this "spherical" projection instead of "planar"?
It looks to me like you answered this yourself here:
"in case the monitor is flat, the sphere degenerates into a plane"
That is, if most people are using flat screens, then the planar projection is geometrically correct (from the intended viewpoint).
Yes, even if ...
To add to Engineer's answer the reason you can't easily parallelize culling is because it's not 'embarrassingly parallel'. If you know the view frustum does not pass x = 5 then you can eliminate everything that does not pass that line pretty easily. And there are even algorithms to do this using an octree and quadtree.
First, if we want to get the object's world position, we need its world matrix. That's passed in automatically as unity_ObjectToWorld when rendering normally, but since we're drawing with Graphics.Blit we need to provide it ourselves.
Add a uniform like this above your vertex shader, where you're defining your _Coordinate uniform (which should be a float4, ...
The OS on android devices handles this automatically when there is a need for more memory.
Specifically, what you are referring to sleep is moving apps to a standby state where they unload all data caches. After a second pass they will automatically save their data and state so they can shut down all tasks except background listeners and reopen later.