Questions tagged [performance]
The performance tag has no usage guidance.
71
questions
3
votes
0
answers
44
views
Intel UHD extremely slow copy operations
Is there a way to make copy operations such as CopyResurce(d3d11) and glBlitFramebuffer(ogl) on multi-sample resources faster ...
1
vote
0
answers
41
views
GLSL : Extremely slow compilation when using loop
I am making multiple gradients with GLSL. However, when I started using a loop instead
of a lengthy else if condition, the compile time jumped from 2-4sec to 40sec !...
0
votes
1
answer
50
views
What technique can I use to swap thousands of models per frame?
I need to render a lot of objects that swap their model from frame to frame.
Currently, I am putting every model into a single vertex buffer and giving every vertex an id. I store the same id in the ...
1
vote
1
answer
158
views
How to do frustum culling with draw call bundling?
If I'm understanding things correctly (please correct me if I'm wrong):
All modern graphics APIs (vulkan, dx12, metal, webgpu) provide ways to bundle and replay draw calls. The bundle includes which ...
0
votes
1
answer
82
views
What are some tools to test performance of a Vulkan based game?
I am developing Vulkan games. It is still a basic rendering program with some cornel boxed data. Apart from testing hairs, calculating fps, what are some tools to apply to test the performance of such ...
0
votes
1
answer
175
views
Convert one triangle to another in matrix4x4?
The context openGL instances learning.
I want to transform a reference triangle to another one. So final goal is to have one triangle and the instance being a transformation of that initial triangle.
...
0
votes
0
answers
113
views
Good way of implementing an efficient tilemap renderer
I am new to graphics programming and I'm trying to create an efficient 2D tilemap renderer (using rust and wgpu (webgpu)).
My current implementation
My current implementation consists of:
A Rust-Vec (...
1
vote
1
answer
262
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
114
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 ...
6
votes
1
answer
131
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)...
1
vote
1
answer
41
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
32
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
451
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 ...
2
votes
2
answers
384
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
73
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
41
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 ...
1
vote
1
answer
88
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 ...
3
votes
2
answers
5k
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
5k
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
462
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
35
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
39
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
145
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
199
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
417
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
518
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
87
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
708
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
230
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
957
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
203
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
122
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
432
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
286
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
160
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
586
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
575
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
566
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
709
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
516
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
394
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
730
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
545
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
255
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
716
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 ...