Questions tagged [performance]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
0 votes
1 answer
41 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 ...
  • 103
0 votes
0 answers
28 views

What design pattern should be used for undo/redo operations in modeling software

There are multiple ways to implement undo/redo functionality. One is using memento pattern, where you store the state of the object before running each command, and then the undo action means rolling ...
1 vote
1 answer
125 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 ...
  • 113
0 votes
1 answer
72 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 ...
  • 31
0 votes
1 answer
163 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. ...
  • 103
0 votes
0 answers
97 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
1 vote
1 answer
224 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 ...
  • 115
2 votes
0 answers
99 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 ...
  • 1,594
6 votes
1 answer
129 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)...
  • 75
1 vote
1 answer
40 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
375 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
346 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 ...
  • 23
0 votes
1 answer
65 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
79 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 ...
user avatar
3 votes
2 answers
4k 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 ...
  • 1,870
4 votes
1 answer
434 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 ...
  • 63
1 vote
0 answers
34 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
144 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 ...
  • 11
0 votes
0 answers
193 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
387 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 ...
  • 177
4 votes
2 answers
501 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,594
-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 ...
  • 101
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 ...
  • 7,711
1 vote
0 answers
667 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 ...
  • 1,809
2 votes
0 answers
226 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 ...
  • 359
9 votes
2 answers
916 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 ...
  • 413
3 votes
3 answers
198 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 ...
  • 2,332
1 vote
3 answers
120 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
427 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 ...
  • 413
4 votes
1 answer
283 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 ...
  • 2,463
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
580 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
568 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
562 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,463
2 votes
1 answer
680 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 ...
  • 2,059
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 ...
  • 2,293
6 votes
2 answers
510 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 ...
  • 363
5 votes
1 answer
393 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 ...
  • 153
3 votes
1 answer
711 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
543 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
254 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 ...
  • 201
7 votes
1 answer
701 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,...
  • 2,293
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 ...
  • 273
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 ...
  • 83
4 votes
1 answer
539 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 ...
  • 141