Questions tagged [performance]
The performance tag has no usage guidance.
66
questions
0
votes
0
answers
69
views
Wavefront Path Tracing: Implementation and Performance Issues
I'm writting a real-time unidirecional path tracer that runs entirely on the GPU. After successfully implementing it using a "megakernel" approach, I decided to switch to a "Wavefront&...
1
vote
1
answer
55
views
Performance impact/implications of constant buffers / uniform buffers
Constant buffers stay constant throughout entire dispatches / draw calls, and thus their data can presumably be shared as efficiently as possible between different threads using those buffers.
But I ...
2
votes
0
answers
40
views
Sparse voxel oct tree tracing, optimization tricks?
I have a working oct-ree raytracer and I am applying it to the sponza.
The algorithm I have designed works like this at a high level:
Collide with the bounding box of the model, move your ray to that ...
7
votes
1
answer
113
views
Can meshes be reused in raytracing?
In rasterization, at least in the context of game development, it is a common to have many instances of the same 3D object in a scene (think many identical rocks in different sizes/positions/rotations)...
0
votes
0
answers
47
views
Reorder mesh triangles
Good Morning!
My problem is: I need to get the vertices of a mesh and send them to a shader.
Inside the shader I will reassemble the mesh from its vertices.
So far so good, I send the information and ...
1
vote
1
answer
36
views
Different Vertex structures in multi-purpose system
A typical definition of a Vertex structure in C++ might look something like this:
struct Vertex
{
Vec3 pos;
Vec3 color;
}
However, we found ourselves ...
0
votes
0
answers
31
views
Is there a Performance Penalty for LOD objects with different topology?
I have a fairly complex-shaped object I've modeled, and in creating the LOD meshes, I've merged some verts, deleted some and even added some after in cases where this manipulation produced an n-gon. ...
1
vote
1
answer
109
views
Embree: Performance issue when ray casting User Defined Geometry
I am working on the integration of Intel's Embree library into our home renderer to accelerate its rendering time. Our renderer supports various geometry types, such as quads, triangles, but also ...
1
vote
2
answers
183
views
What does the z-buffer look like in memory?
I am an amateur game developer, and I've been reading a lot on how computer graphics rendering works lately. I was reading on the Z-buffer recently and I can't quite seem to be able to wrap my head ...
0
votes
1
answer
62
views
is utilizing multiple GPUs better than using one for all software?
In cases of Laptops, some will have two GPUs. One is built-in (e.g. Intel) and another one attachable (e.g. Nvidia).
Is it better to have each of them operate different software to divide the load?
or
...
0
votes
0
answers
40
views
I am trying to find a clip about the art of old computer graphics
I have saw a clip where a guy talked about the art of squeezing some nice graphics into a very small space that was available on old computers. Come to think of it, it sounded something like today's ...
0
votes
1
answer
50
views
Is glDispatchCompute(a,b,c) any faster than glDispatchCompute(a*b*c,1,1)?
In my application, there is no inherent 2D or 3D structure to the computer shader instances. So having multiple dimensions doesn't benefit me semantically in any way. I am wondering, whether it still ...
2
votes
2
answers
2k
views
Optimizing compute shader with thread group shared memory
I'm currently learning compute shaders and I'm trying to write an optimized Game Of Life. I have a first version working that uses a Shader Storage Buffer Object. I dispatch a thread per cell I want ...
9
votes
1
answer
3k
views
Performance of Compute Shaders vs. Fragment Shaders for Deferred Rendering
I have written a deferred renderer that can use either a fragment shader or a compute shader to execute the shading pass. Unfortunately, the compute shader implementation runs slower. I'm trying to ...
4
votes
1
answer
289
views
Best practice for managing many shaders and merging multiple shaders into one?
I have managed to greatly minimize draw calls on my recent project, but as I'm adding more shaders, I see that I have to switch more times and that is causing a lot of draw calls. What is the best ...
1
vote
0
answers
31
views
How are 2D graphics rendered in HTML canvas
I was making some circles in the HTML Canvas element and the circles were so smooth. In a sense that you cant see any vertices.
I normally work in unity and I you make a shape in 3d you most of the ...
1
vote
0
answers
38
views
Optimizing texture fetches with higher mip levels
Let's say I have some shader program in DirectX or OpenGL rendering a full screen quad. And in a pixel/fragment shader I sample some huge textures at random texture coordinates. That is one same ...
1
vote
1
answer
134
views
Tessellation Speed in terms of interpolated points per second
For a research project, I have written a Tessellation Shader to interpolate solution points of a 3-Dimensional mathematical equation. Therefore I don't use any techniques for displacement, I merely ...
0
votes
0
answers
154
views
Software Rendering Display Latency
I've been doing some reading as to how to reduce input delay on modern computing devices. A lot of my understanding from this comes from the VR research paper by Carmack explaining the numerous ...
3
votes
1
answer
271
views
Compute shader textures compared 2D float4 arrays
I am wondering is there a difference in performance between using floating point textures as my 2D float4 array vs just passing in 2D float4 arrays?
2D float arrays eliminate the need to do texture ...
4
votes
2
answers
405
views
Should you measure mesh complexity in triangles or vertices?
I have seen people using either vertices or triangles as a quick heuristic to estimate mesh memory usage and mesh rendering time.
I always thought vertices were better, because the number of vertices ...
-1
votes
1
answer
86
views
Are MMORPGs, specifically WoW, limited by their latency in terms of FPS?
It sounds crazy, but I've been doing a lot of reading on exactly why WoW performs very poorly, even on a 1080Ti / 8700k OC'd and overall, a high-end machine.
Overclocking the CPU yielded great ...
6
votes
1
answer
2k
views
Why are tessellation shaders disliked?
I often hear that tessellation shaders aren't great for performance reasons. Something along the lines that if you try to use a tessellation shader, you'll find that the data you get out isn't ...
1
vote
0
answers
519
views
Is a smaller local-size/threadgroup-size better for compute shader performance?
A compute shader defines the number of threads it requires to be executed.
This number can be called "local size" or "threadgroup size" according to the API, and be factored into 3 separate dimensions ...
2
votes
0
answers
217
views
Using GPU instead of CPU in Scala
I wrote a program that displays points expressed in 3D in a 2D canvas, using perspective projection. The aim is to display a cube. Each face of the cube is drawn by linearly interpolating the points ...
4
votes
1
answer
2k
views
How does MSAA performance scale?
I'm finding myself increasingly interested in rendering techniques utilizing multisampling for anti-aliasing (obviously), out-of-order transparency, volumes etc.
Searching the web for performance ...
9
votes
2
answers
794
views
The most performant way to organize vertex data on modern GPUs
Say I have a model made up of vertices, each with position, normal, tangent, and ...
3
votes
3
answers
178
views
Dealing with wasted space when using SIMD on CPU for vector maths
I've been getting interested in SIMD programming on CPU using SSE recently, but I'm a complete noob on the subject. I found this article describing how to make an efficient float3 type using the ...
1
vote
3
answers
117
views
How can an OpenGL visualization run for weeks?
For an art project, I need to make an OpenGL visualization run for at least 4 weeks. Is this possible? I can pretty much choose the rest of the hardware and software.
6
votes
0
answers
383
views
In Metal, what performance advantages are there, if any, to using vertex descriptors and the [[stage_in]] qualifier?
Metal seems to provide two very different ways to access vertex data in your vertex shader. You can:
Create an MTLVertexDescriptor object, which describes vertex ...
4
votes
1
answer
270
views
Tasks of a professional graphics programmer?
Currently I'm 16 and in high school and I love graphics programming and I'm seriously considering it as a career path. I was wondering what a day as a graphics programmer looks like for offline ...
1
vote
0
answers
158
views
Can I voxelize 3D set of points without reconstructing surface first?
I have huge point cloud data I want to render them at interactive frame frate. Process I know is
1.point cloud data
2.triangulate it using delnauy or other triangulation algo
3.surface ...
5
votes
1
answer
553
views
Performance impact during texture layer loading
Recently I have been having a rather confusing performance drop with loading in layers of a 2D texture array, but only in one case from what I can tell, leaving me to speculate on why it is happening ...
2
votes
1
answer
550
views
GPU not reaching 100% usage when frame rate is dropping
I am making an iOS game using Unity. I am testing some shaders that I have made for the game, and in some cases the device will run at under 30 FPS but not have 100% device utilization.
Sometimes a ...
0
votes
2
answers
541
views
Challenges of Offline Rendering
What are some of the challenges of Offline Rendering? I know one problem that is faced is performance and rendering times, are there any more issues?
Path Traced photos seem to have reached the ...
2
votes
1
answer
569
views
Can I use QueryPerformanceCounter to measure single draw or compute call performance?
I know I can use QueryPerformanceCounter for measure time for whole single frame. But can I when it comes to OpenGL draw or compute call?
I always assumed that, as ...
4
votes
1
answer
1k
views
Register pressure in Compute Shader
I'm in the process of writing a Ray Tracer using DirectCompute / HLSL. First, eye rays are generated (one per pixel). Then, rays are traced, shaded and reflected in a loop. Also, shadow rays for each ...
6
votes
2
answers
477
views
How can I improve the performance of my custom Global Illumination approach?
I want to experiment with some new stuff about modern rendering techniques and in that way I'm trying to implement a custom GI (somewhere between pathtracing and instant radiosity).
My scene is a bit ...
5
votes
1
answer
381
views
Optimizing performance on hardware
I'm working on a webgl audio visualizer that uses particles, and I want to optimize rendering based on the user's hardware. I'd like to offer a "low quality" and "high quality" setting so that it ...
3
votes
1
answer
586
views
How to get unique nearest neighbour?
There's already something called K-nearest neighbour algorithm with gives nearest neighbour to points. But what I want is unique neighbour which is not shared by any other neighbour.
I've implemented ...
1
vote
0
answers
531
views
Billboards or impostors when objects' instances are re-scaled [closed]
Billboarding/impostors mean, roughly, representing complex 3D objects in 2D or with simple quadrilaterals, for the sake of LOD systems.
Consider the case of rendering a very numerous asteroid field ...
10
votes
1
answer
244
views
Why did AMD's putting an SSD on a GPU board reduce latency so much?
AMD have recently been in the news with an interesting Radeon Pro board with a couple of M2 SSDs on it.
As some of the more detailed stories (here or here, for example) note, the benefits may ...
7
votes
1
answer
680
views
Estimating the area of a triangle-circle intersection
I am trying to implement Ray Tracing with Cones (Amanatides 1984). Instead of rays, cones are shot into the scene and intersected with geometry. Since multiple triangles can occupy the cone's aperture,...
3
votes
2
answers
7k
views
What are the differences between GPU instancing and standard instancing?
I have been reading a lot of debate on a new feature that will be available in the new version of the game engine Unity 5.4 - called GPU instancing. I understand the importance of instancing in ...
8
votes
1
answer
1k
views
How does everyone count "Rays per Second"?
Recently I'm developing a Monte-Carlo path tracer. To measure my tracer's performance, I decided to implement a simple mechanism to count how many rays can it trace in a second. Then here comes the ...
3
votes
1
answer
472
views
Data structure and algorithm for clipping triangulation with leaf nodes of an octree
I have an application in which I am using an octree to store a volume mesh of axis-aligned bounding boxes (AABBs).
Given a water-tight manifold triangle mesh, I need to:
find if an AABB is ...
7
votes
2
answers
276
views
What methods/technologies to reduce required performance for virtual reality are there?
I'm interested in virtual reality, but according to some sources, less than 1% of computers in use today have the necessary performance to run modern VR games, granted many of them are not intended ...
16
votes
3
answers
5k
views
Why do we have graphics frameworks like OpenGL and DirectX, when games could just draw pixels directly?
Games and other graphically intensive applications use frameworks like OpenGL and DirectX. Also they require features like pixel shader and DX12.
But why would we need all these frameworks and GPU ...
13
votes
1
answer
5k
views
Loop performance in a shader
I am wondering what's the best way to integrate a dynamic loop function in a shader?
First, it seems that dynamic arrays are not possible. So, is it better to create a maximum size array and only ...
8
votes
1
answer
396
views
Do modern GPUs contain barrel shifters?
I'm aware that most modern GPUs, although designed for floating point, are more or less equivalent in integer performance these days, with a few caveats like the lack of a fused multiply add. I'm not ...